From nobody Sun Feb 8 18:10:44 2026
Delivered-To: importer@patchew.org
Received-SPF: pass (zohomail.com: domain of redhat.com designates
216.205.24.124 as permitted sender) client-ip=216.205.24.124;
envelope-from=libvir-list-bounces@redhat.com;
helo=us-smtp-delivery-124.mimecast.com;
Authentication-Results: mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=pass(p=none dis=none) header.from=redhat.com
ARC-Seal: i=1; a=rsa-sha256; t=1618829350; cv=none;
d=zohomail.com; s=zohoarc;
b=f2oL8+7thjOSDzicR7O1EjnxyYdHIeQSTCKhcy8dJncwOJCJWejXB6Cix9INDZLQlPmOmkbTRzyuM9ij3GEZ4j1YhChbSs4+NM2mGO42LWKUy2W6zx1ghAtr0xFMMa1A5/IXY4sIdDpnkimMvuXpKR8hJlJxTB+KhUVa5OP7lSY=
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com;
s=zohoarc;
t=1618829350;
h=Content-Type:Content-Transfer-Encoding:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To;
bh=ob1ozl173S4/UvEk5l4nYf33U2lMRQHnDvk8R4r7zRE=;
b=CvNbA7F9OGEjmolgI6J01TQXjAkVAxl6BjuMLBzR96EEAqeWzZH1uTVHsSO60cQDFyis9/IWM8spu0+M/0AYv20XP3o6J2RssgBe8eFXELwl8N5/7e7JVpkbaC06k6MvCFLA1x1JWoX0AXABLcqWbzZMbdtnTCcJvHcqXyNVAjE=
ARC-Authentication-Results: i=1; mx.zohomail.com;
dkim=pass;
spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as
permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com;
dmarc=pass header.from= (p=none dis=none)
header.from=
Return-Path:
Received: from us-smtp-delivery-124.mimecast.com
(us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com
with SMTPS id 1618829350445113.9427978110125;
Mon, 19 Apr 2021 03:49:10 -0700 (PDT)
Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com
[209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id
us-mta-539-IKiGR5UAPsqnua5U_znq5A-1; Mon, 19 Apr 2021 06:48:30 -0400
Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com
[10.5.11.16])
(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))
(No client certificate requested)
by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 273A183DD22;
Mon, 19 Apr 2021 10:48:24 +0000 (UTC)
Received: from colo-mx.corp.redhat.com
(colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20])
by smtp.corp.redhat.com (Postfix) with ESMTPS id F029A5C6DE;
Mon, 19 Apr 2021 10:48:23 +0000 (UTC)
Received: from lists01.pubmisc.prod.ext.phx2.redhat.com
(lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33])
by colo-mx.corp.redhat.com (Postfix) with ESMTP id B7BE31806D1B;
Mon, 19 Apr 2021 10:48:23 +0000 (UTC)
Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com
[10.5.11.22])
by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP
id 13JAm6fd005353 for ;
Mon, 19 Apr 2021 06:48:06 -0400
Received: by smtp.corp.redhat.com (Postfix)
id C9861107D5D1; Mon, 19 Apr 2021 10:48:06 +0000 (UTC)
Received: from antique-work.redhat.com (unknown [10.40.195.130])
by smtp.corp.redhat.com (Postfix) with ESMTP id BDFEB100F49F
for ; Mon, 19 Apr 2021 10:48:05 +0000 (UTC)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;
s=mimecast20190719; t=1618829349;
h=from:from:sender:sender:reply-to:subject:subject:date:date:
message-id:message-id:to:to:cc:mime-version:mime-version:
content-type:content-type:
content-transfer-encoding:content-transfer-encoding:
in-reply-to:in-reply-to:references:references:list-id:list-help:
list-unsubscribe:list-subscribe:list-post;
bh=ob1ozl173S4/UvEk5l4nYf33U2lMRQHnDvk8R4r7zRE=;
b=NVnu4kcRsQklU3sONDnMX8eqUWpM40RarTAOeiRk/4NVWMV1Z56k6Wa0abM5eyI8Hn3Ejs
hg7dbPB+1Qqj+KnU2z0jEpGjD87PUmuQJcpSy4hZpHzHho14LhvZ3+QXAX1SWcsMNUpBR1
9DSUrNCxIqX2OvBwpddBZlLYXCTQ73w=
X-MC-Unique: IKiGR5UAPsqnua5U_znq5A-1
From: Pavel Hrdina
To: libvir-list@redhat.com
Subject: [libvirt PATCH 2/2] remove sheepdog support from libvirt
Date: Mon, 19 Apr 2021 12:47:59 +0200
Message-Id:
<65bbafae891e6cc59c347448890e377ad44e164a.1618829208.git.phrdina@redhat.com>
In-Reply-To:
References:
MIME-Version: 1.0
X-Scanned-By: MIMEDefang 2.84 on 10.5.11.22
X-loop: libvir-list@redhat.com
X-BeenThere: libvir-list@redhat.com
X-Mailman-Version: 2.1.12
Precedence: junk
List-Id: Development discussions about the libvirt library & tools
List-Unsubscribe: ,
List-Archive:
List-Post:
List-Help:
List-Subscribe: ,
Sender: libvir-list-bounces@redhat.com
Errors-To: libvir-list-bounces@redhat.com
X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16
Authentication-Results: relay.mimecast.com;
auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com
X-Mimecast-Spam-Score: 0
X-Mimecast-Originator: redhat.com
Content-Transfer-Encoding: quoted-printable
X-ZohoMail-DKIM: pass (identity @redhat.com)
Content-Type: text/plain; charset="utf-8"
Upstream sheepdog project doesn't have any active development for almost
3 years as the last commit is from 28/06/2018 [1].
Looking into repology [2] the latest version 1.0.1 is included only in
Fedora (since Fedora 26). There are only few other distributions having
older sheepdog versions: Debian oldstable (stretch), EPEL 6, Ubuntu
18.04 and older and few other less-common distributions.
Based on the data above drop support for sheepdog from libvirt.
[1]
[2]
Signed-off-by: Pavel Hrdina
---
docs/formatdomain.rst | 13 +-
docs/formatstorage.html.in | 5 +-
docs/kbase/rpm-deployment.rst | 6 -
docs/manpages/virsh.rst | 7 +-
docs/schemas/domaincommon.rng | 1 -
docs/schemas/storagepool.rng | 22 -
docs/storage.html.in | 59 ---
libvirt.spec.in | 36 --
meson.build | 6 -
meson_options.txt | 1 -
mingw-libvirt.spec.in | 1 -
po/POTFILES.in | 1 -
src/conf/domain_conf.c | 1 -
src/conf/storage_conf.c | 12 +-
src/conf/storage_conf.h | 2 -
src/conf/storage_source_conf.c | 4 -
src/conf/storage_source_conf.h | 1 -
src/conf/virstorageobj.c | 9 -
src/libvirt-storage.c | 1 -
src/libxl/libxl_conf.c | 1 -
src/libxl/xen_xl.c | 1 -
src/qemu/qemu_block.c | 41 --
src/qemu/qemu_command.c | 20 -
src/qemu/qemu_domain.c | 1 -
src/qemu/qemu_snapshot.c | 3 -
src/storage/meson.build | 25 --
src/storage/storage_backend.c | 6 -
src/storage/storage_backend_sheepdog.c | 378 ------------------
src/storage/storage_backend_sheepdog.h | 25 --
src/storage/storage_backend_sheepdog_priv.h | 30 --
src/storage/storage_driver.c | 1 -
.../storage_source_backingstore.c | 44 --
src/test/test_driver.c | 1 -
tests/meson.build | 6 -
tests/qemublocktest.c | 4 -
.../imagecreate/network-sheepdog-qcow2.json | 20 -
.../imagecreate/network-sheepdog-qcow2.xml | 12 -
tests/qemusecuritytest.c | 1 -
.../disk-network-sheepdog.args | 30 --
.../disk-network-sheepdog.x86_64-2.12.0.args | 34 --
.../disk-network-sheepdog.x86_64-latest.args | 38 --
.../disk-network-sheepdog.xml | 37 --
tests/qemuxml2argvtest.c | 3 -
.../disk-network-sheepdog.xml | 43 --
tests/qemuxml2xmltest.c | 1 -
tests/storagebackendsheepdogtest.c | 206 ----------
.../storagepoolcapsschemadata/poolcaps-fs.xml | 2 -
.../poolcaps-full.xml | 2 -
tests/storagepoolxml2argvtest.c | 2 -
tests/storagepoolxml2xmlin/pool-sheepdog.xml | 8 -
tests/storagepoolxml2xmlout/pool-sheepdog.xml | 11 -
tests/storagepoolxml2xmltest.c | 1 -
tests/storagevolxml2xmlin/vol-sheepdog.xml | 10 -
tests/storagevolxml2xmlout/vol-sheepdog.xml | 8 -
tests/storagevolxml2xmltest.c | 1 -
.../deflatten-qemu-sheepdog-in.json | 11 -
.../deflatten-qemu-sheepdog-out.json | 13 -
tests/virjsontest.c | 1 -
tests/virstoragetest.c | 21 -
tools/virsh-pool.c | 3 -
tools/virsh.c | 3 -
61 files changed, 8 insertions(+), 1289 deletions(-)
delete mode 100644 src/storage/storage_backend_sheepdog.c
delete mode 100644 src/storage/storage_backend_sheepdog.h
delete mode 100644 src/storage/storage_backend_sheepdog_priv.h
delete mode 100644 tests/qemublocktestdata/imagecreate/network-sheepdog-qc=
ow2.json
delete mode 100644 tests/qemublocktestdata/imagecreate/network-sheepdog-qc=
ow2.xml
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.1=
2.0.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-lat=
est.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-network-sheepdog.xml
delete mode 100644 tests/storagebackendsheepdogtest.c
delete mode 100644 tests/storagepoolxml2xmlin/pool-sheepdog.xml
delete mode 100644 tests/storagepoolxml2xmlout/pool-sheepdog.xml
delete mode 100644 tests/storagevolxml2xmlin/vol-sheepdog.xml
delete mode 100644 tests/storagevolxml2xmlout/vol-sheepdog.xml
delete mode 100644 tests/virjsondata/deflatten-qemu-sheepdog-in.json
delete mode 100644 tests/virjsondata/deflatten-qemu-sheepdog-out.json
diff --git a/docs/formatdomain.rst b/docs/formatdomain.rst
index 4388ad545f..215c273b39 100644
--- a/docs/formatdomain.rst
+++ b/docs/formatdomain.rst
@@ -2305,16 +2305,6 @@ paravirtualized driver is specified via the ``disk``=
element.
...
-
-
-
-
-
-
-
-
-
-
@@ -2558,7 +2548,7 @@ paravirtualized driver is specified via the ``disk`` =
element.
to use as the disk. :since:`Since 0.7.5`
``network``
The ``protocol`` attribute specifies the protocol to access to the
- requested image. Possible values are "nbd", "iscsi", "rbd", "sheepdo=
g",
+ requested image. Possible values are "nbd", "iscsi", "rbd",
"gluster", "vxhs", "nfs", "http", "https", "ftp", ftps", or "tftp".
=20
For any ``protocol`` other than ``nbd`` an additional attribute ``na=
me``
@@ -2683,7 +2673,6 @@ paravirtualized driver is specified via the ``disk`` =
element.
nbd a server running nbd-server onl=
y one 10809
iscsi an iSCSI server onl=
y one 3260
rbd monitor servers of RBD one=
or more librados default
- sheepdog one of the sheepdog servers (default is localhost:7000) zer=
o or one 7000
gluster a server running glusterd daemon one=
or more ( :since:`Since 2.1.0` ), just one prior to that 24007
vxhs a server running Veritas HyperScale daemon onl=
y one 9999
nfs a server running Network File System onl=
y one ( :since:`Since 7.0.0` ) must be omitted
diff --git a/docs/formatstorage.html.in b/docs/formatstorage.html.in
index cac44503da..aac2a4a8e3 100644
--- a/docs/formatstorage.html.in
+++ b/docs/formatstorage.html.in
@@ -22,7 +22,6 @@
(all since 0.4.1 ),
mpath (since 0.7.1 ),
rbd (since 0.9.13 ),
- sheepdog (since 0.10.0 ),
gluster (since 1.2.0 ),
zfs (since 1.2.8 ),
vstorage (since 3.1.0 ),
@@ -372,7 +371,7 @@
Provides the source for pools backed by storage from a
remote server (pool types netfs, iscsi,
iscsi-direct,
- rbd, sheepdog, gluster). Wi=
ll be
+ rbd, gluster). Will be
used in combination with a directory
or device element. Contains an attribute name=
code>
which is the hostname or IP address of the server. May optionally
@@ -419,7 +418,7 @@
name
Provides the source for pools backed by storage from a
named element (pool types logical, rbd,
- sheepdog, gluster). Contains a
+ gluster). Contains a
string identifier.
Since 0.4.5
format
diff --git a/docs/kbase/rpm-deployment.rst b/docs/kbase/rpm-deployment.rst
index 568cf5b3eb..3b6b3f17f5 100644
--- a/docs/kbase/rpm-deployment.rst
+++ b/docs/kbase/rpm-deployment.rst
@@ -200,12 +200,6 @@ RPM packages
disk storage pool type, for the storage pool management APIs.
=20
=20
-* libvirt-daemon-driver-storage-sheepdog
-
- The dynamically loadable driver providing an implementation of the Sheep=
Dog
- network storage pool type, for the storage pool management APIs.
-
-
* libvirt-daemon-driver-storage-zfs
=20
The dynamically loadable driver providing an implementation of the ZFS
diff --git a/docs/manpages/virsh.rst b/docs/manpages/virsh.rst
index ad91cd6356..50cfee6ae8 100644
--- a/docs/manpages/virsh.rst
+++ b/docs/manpages/virsh.rst
@@ -5891,8 +5891,7 @@ to populate the disk pool. Therefore, it is suggested=
to use
to properly initialize the disk pool.
=20
[*--source-host hostname*] provides the source hostname for pools backed
-by storage from a remote server (pool types netfs, iscsi, rbd, sheepdog,
-gluster).
+by storage from a remote server (pool types netfs, iscsi, rbd, gluster).
=20
[*--source-path path*] provides the source directory path for pools backed
by directories (pool type dir).
@@ -5901,7 +5900,7 @@ by directories (pool type dir).
devices (pool types fs, logical, disk, iscsi, zfs).
=20
[*--source-name name*] provides the source name for pools backed by storage
-from a named element (pool types logical, rbd, sheepdog, gluster).
+from a named element (pool types logical, rbd, gluster).
=20
[*--target path*] is the path for the mapping of the storage pool into
the host file system.
@@ -6100,7 +6099,7 @@ without any header. Option *--details* is mutually ex=
clusive with options
You may also want to list pools with specified types using *type*, the
pool types must be separated by comma, e.g. --type dir,disk. The valid pool
types include 'dir', 'fs', 'netfs', 'logical', 'disk', 'iscsi', 'scsi',
-'mpath', 'rbd', 'sheepdog', 'gluster', 'zfs', 'vstorage' and 'iscsi-direct=
'.
+'mpath', 'rbd', 'gluster', 'zfs', 'vstorage' and 'iscsi-direct'.
=20
The *--details* option instructs virsh to additionally
display pool persistence and capacity related information where available.
diff --git a/docs/schemas/domaincommon.rng b/docs/schemas/domaincommon.rng
index 20a43148b1..6b200e0b61 100644
--- a/docs/schemas/domaincommon.rng
+++ b/docs/schemas/domaincommon.rng
@@ -2002,7 +2002,6 @@
- sheepdog
ftp
tftp
diff --git a/docs/schemas/storagepool.rng b/docs/schemas/storagepool.rng
index bd24b8b8d0..70ad4c22ad 100644
--- a/docs/schemas/storagepool.rng
+++ b/docs/schemas/storagepool.rng
@@ -22,7 +22,6 @@
[
][
][
- ][
][
][
][
@@ -172,18 +171,6 @@
=20
- ]
-
- sheepdog
-
-
- [
- ][
- ][
- ][
- ]
-
-
gluster
@@ -699,15 +686,6 @@
=20
-
-
-
- [
- ][
- ]
-
-
-
diff --git a/docs/storage.html.in b/docs/storage.html.in
index b2cf343933..04756cd06a 100644
--- a/docs/storage.html.in
+++ b/docs/storage.html.in
@@ -614,65 +614,6 @@
Only raw volumes are supported.
=20
-
-
- This provides a pool based on a Sheepdog Cluster.
- Sheepdog is a distributed storage system for QEMU/KVM.
- It provides highly available block level storage volumes that
- can be attached to QEMU/KVM virtual machines.
-
- The cluster must already be formatted.
-
- Since 0.9.13
-
-
- Example pool input
-
-<pool type=3D"sheepdog">
- <name>mysheeppool</name>
- <source>
- <name>mysheeppool</name>
- <host name=3D'localhost' port=3D'7000'/>
- </source>
-</pool>
-
- Example volume output
-
-<volume>
- <name>myvol</name>
- <key>sheep/myvol</key>
- <source>
- </source>
- <capacity unit=3D'bytes'>53687091200</capacity>
- <allocation unit=3D'bytes'>53687091200</allocation>
- <target>
- <path>sheepdog:myvol</path>
- <format type=3D'unknown'/>
- <permissions>
- <mode>00</mode>
- <owner>0</owner>
- <group>0</group>
- </permissions>
- </target>
-</volume>
-
- Example disk attachment
- Sheepdog images can be attached to QEMU guests.
- Information about attaching a Sheepdog image to a
- guest can be found
- at the format domain
- page.
-
- Valid pool format types
-
- The Sheepdog pool does not use the pool format type element.
-
-
- Valid volume format types
-
- The Sheepdog pool does not use the volume format type element.
-
-
This provides a pool based on native Gluster access. Gluster is
diff --git a/libvirt.spec.in b/libvirt.spec.in
index f9af330186..f361303708 100644
--- a/libvirt.spec.in
+++ b/libvirt.spec.in
@@ -65,11 +65,6 @@
=20
# Then the secondary host drivers, which run inside libvirtd
%define with_storage_rbd 0%{!?_without_storage_rbd:1}
-%if 0%{?fedora}
- %define with_storage_sheepdog 0%{!?_without_storage_sheepdog:1}
-%else
- %define with_storage_sheepdog 0
-%endif
=20
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
%ifnarch %{arches_qemu_kvm}
@@ -341,9 +336,6 @@ BuildRequires: librbd1-devel
BuildRequires: glusterfs-api-devel >=3D 3.4.1
BuildRequires: glusterfs-devel >=3D 3.4.1
%endif
-%if %{with_storage_sheepdog}
-BuildRequires: sheepdog
-%endif
%if %{with_storage_zfs}
# Support any conforming implementation of zfs. On stock Fedora
# this is zfs-fuse, but could be zfsonlinux upstream RPMs
@@ -667,19 +659,6 @@ volumes using the ceph protocol.
%endif
=20
=20
-%if %{with_storage_sheepdog}
-%package daemon-driver-storage-sheepdog
-Summary: Storage driver plugin for sheepdog
-Requires: libvirt-daemon-driver-storage-core =3D %{version}-%{release}
-Requires: libvirt-libs =3D %{version}-%{release}
-Requires: sheepdog
-
-%description daemon-driver-storage-sheepdog
-The storage driver backend adding implementation of the storage APIs for
-sheepdog volumes using.
-%endif
-
-
%if %{with_storage_zfs}
%package daemon-driver-storage-zfs
Summary: Storage driver plugin for ZFS
@@ -712,9 +691,6 @@ Requires: libvirt-daemon-driver-storage-gluster =3D %{v=
ersion}-%{release}
%if %{with_storage_rbd}
Requires: libvirt-daemon-driver-storage-rbd =3D %{version}-%{release}
%endif
-%if %{with_storage_sheepdog}
-Requires: libvirt-daemon-driver-storage-sheepdog =3D %{version}-%{release}
-%endif
%if %{with_storage_zfs}
Requires: libvirt-daemon-driver-storage-zfs =3D %{version}-%{release}
%endif
@@ -1056,12 +1032,6 @@ exit 1
%define arg_storage_rbd -Dstorage_rbd=3Ddisabled
%endif
=20
-%if %{with_storage_sheepdog}
- %define arg_storage_sheepdog -Dstorage_sheepdog=3Denabled
-%else
- %define arg_storage_sheepdog -Dstorage_sheepdog=3Ddisabled
-%endif
-
%if %{with_storage_gluster}
%define arg_storage_gluster -Dstorage_gluster=3Denabled -Dglusterfs=3D=
enabled
%else
@@ -1172,7 +1142,6 @@ export SOURCE_DATE_EPOCH=3D$(stat --printf=3D'%Y' %{_=
specdir}/%{name}.spec)
-Dstorage_disk=3Denabled \
-Dstorage_mpath=3Denabled \
%{?arg_storage_rbd} \
- %{?arg_storage_sheepdog} \
%{?arg_storage_gluster} \
%{?arg_storage_zfs} \
-Dstorage_vstorage=3Ddisabled \
@@ -1733,11 +1702,6 @@ exit 0
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
%endif
=20
-%if %{with_storage_sheepdog}
-%files daemon-driver-storage-sheepdog
-%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_sheepdog.so
-%endif
-
%if %{with_storage_zfs}
%files daemon-driver-storage-zfs
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_zfs.so
diff --git a/meson.build b/meson.build
index 7e377fab9c..c6980c941a 100644
--- a/meson.build
+++ b/meson.build
@@ -1791,11 +1791,6 @@ if conf.has('WITH_LIBVIRTD')
conf.set('WITH_STORAGE_SCSI', 1)
endif
=20
- if not get_option('storage_sheepdog').disabled()
- use_storage =3D true
- conf.set('WITH_STORAGE_SHEEPDOG', 1)
- endif
-
if not get_option('storage_vstorage').disabled()
vstorage_enable =3D true
if host_machine.system() !=3D 'linux'
@@ -2136,7 +2131,6 @@ storagedriver_summary =3D {
'mpath': conf.has('WITH_STORAGE_MPATH'),
'Disk': conf.has('WITH_STORAGE_DISK'),
'RBD': conf.has('WITH_STORAGE_RBD'),
- 'Sheepdog': conf.has('WITH_STORAGE_SHEEPDOG'),
'Gluster': conf.has('WITH_STORAGE_GLUSTER'),
'ZFS': conf.has('WITH_STORAGE_ZFS'),
'Virtuozzo storage': conf.has('WITH_STORAGE_VSTORAGE'),
diff --git a/meson_options.txt b/meson_options.txt
index 2606648b64..001954ef76 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -84,7 +84,6 @@ option('storage_lvm', type: 'feature', value: 'auto', des=
cription: 'LVM backend
option('storage_mpath', type: 'feature', value: 'auto', description: 'mpat=
h backend for the storage driver')
option('storage_rbd', type: 'feature', value: 'auto', description: 'RADOS =
Block Device backend for the storage driver')
option('storage_scsi', type: 'feature', value: 'auto', description: 'SCSI =
backend for the storage driver')
-option('storage_sheepdog', type: 'feature', value: 'auto', description: 'S=
heepdog backend for the storage driver')
option('storage_vstorage', type: 'feature', value: 'auto', description: 'V=
irtuozzo storage backend for the storage driver')
option('storage_zfs', type: 'feature', value: 'auto', description: 'ZFS ba=
ckend for the storage driver')
=20
diff --git a/mingw-libvirt.spec.in b/mingw-libvirt.spec.in
index 288f533d52..dc8edd4f64 100644
--- a/mingw-libvirt.spec.in
+++ b/mingw-libvirt.spec.in
@@ -164,7 +164,6 @@ exit 1
-Dstorage_mpath=3Ddisabled \
-Dstorage_rbd=3Ddisabled \
-Dstorage_scsi=3Ddisabled \
- -Dstorage_sheepdog=3Ddisabled \
-Dstorage_vstorage=3Ddisabled \
-Dstorage_zfs=3Ddisabled \
-Dsysctl_config=3Ddisabled \
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 413783ee35..71346fe36c 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -222,7 +222,6 @@
@SRCDIR@src/storage/storage_backend_mpath.c
@SRCDIR@src/storage/storage_backend_rbd.c
@SRCDIR@src/storage/storage_backend_scsi.c
-@SRCDIR@src/storage/storage_backend_sheepdog.c
@SRCDIR@src/storage/storage_backend_vstorage.c
@SRCDIR@src/storage/storage_backend_zfs.c
@SRCDIR@src/storage/storage_driver.c
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 17bbeddec6..421b370d51 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -32349,7 +32349,6 @@ virDomainStorageSourceTranslateSourcePool(virStorag=
eSource *src,
=20
case VIR_STORAGE_POOL_MPATH:
case VIR_STORAGE_POOL_RBD:
- case VIR_STORAGE_POOL_SHEEPDOG:
case VIR_STORAGE_POOL_GLUSTER:
case VIR_STORAGE_POOL_LAST:
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 66419616da..dfcc907e02 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -59,7 +59,7 @@ VIR_ENUM_IMPL(virStoragePool,
"dir", "fs", "netfs",
"logical", "disk", "iscsi",
"iscsi-direct", "scsi", "mpath",
- "rbd", "sheepdog", "gluster",
+ "rbd", "gluster",
"zfs", "vstorage",
);
=20
@@ -246,13 +246,6 @@ static virStoragePoolTypeInfo poolTypeInfo[] =3D {
.formatToString =3D virStorageFileFormatTypeToString,
}
},
- {.poolType =3D VIR_STORAGE_POOL_SHEEPDOG,
- .poolOptions =3D {
- .flags =3D (VIR_STORAGE_POOL_SOURCE_HOST |
- VIR_STORAGE_POOL_SOURCE_NETWORK |
- VIR_STORAGE_POOL_SOURCE_NAME),
- },
- },
{.poolType =3D VIR_STORAGE_POOL_GLUSTER,
.poolOptions =3D {
.flags =3D (VIR_STORAGE_POOL_SOURCE_HOST |
@@ -1212,10 +1205,9 @@ virStoragePoolDefFormatBuf(virBuffer *buf,
if (virStoragePoolSourceFormat(buf, options, &def->source) < 0)
return -1;
=20
- /* RBD, Sheepdog, Gluster and Iscsi-direct devices are not local block=
devs nor
+ /* RBD, Gluster and Iscsi-direct devices are not local block devs nor
* files, so they don't have a target */
if (def->type !=3D VIR_STORAGE_POOL_RBD &&
- def->type !=3D VIR_STORAGE_POOL_SHEEPDOG &&
def->type !=3D VIR_STORAGE_POOL_GLUSTER &&
def->type !=3D VIR_STORAGE_POOL_ISCSI_DIRECT) {
virBufferAddLit(buf, "\n");
diff --git a/src/conf/storage_conf.h b/src/conf/storage_conf.h
index 345026aa37..523f67229e 100644
--- a/src/conf/storage_conf.h
+++ b/src/conf/storage_conf.h
@@ -102,7 +102,6 @@ typedef enum {
VIR_STORAGE_POOL_SCSI, /* SCSI HBA */
VIR_STORAGE_POOL_MPATH, /* Multipath devices */
VIR_STORAGE_POOL_RBD, /* RADOS Block Device */
- VIR_STORAGE_POOL_SHEEPDOG, /* Sheepdog device */
VIR_STORAGE_POOL_GLUSTER, /* Gluster device */
VIR_STORAGE_POOL_ZFS, /* ZFS */
VIR_STORAGE_POOL_VSTORAGE, /* Virtuozzo Storage */
@@ -460,7 +459,6 @@ VIR_ENUM_DECL(virStoragePartedFs);
VIR_CONNECT_LIST_STORAGE_POOLS_SCSI | \
VIR_CONNECT_LIST_STORAGE_POOLS_MPATH | \
VIR_CONNECT_LIST_STORAGE_POOLS_RBD | \
- VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG | \
VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER | \
VIR_CONNECT_LIST_STORAGE_POOLS_ZFS | \
VIR_CONNECT_LIST_STORAGE_POOLS_VSTORAGE | \
diff --git a/src/conf/storage_source_conf.c b/src/conf/storage_source_conf.c
index 05939181d6..9a4de4fa1a 100644
--- a/src/conf/storage_source_conf.c
+++ b/src/conf/storage_source_conf.c
@@ -74,7 +74,6 @@ VIR_ENUM_IMPL(virStorageNetProtocol,
"none",
"nbd",
"rbd",
- "sheepdog",
"gluster",
"iscsi",
"http",
@@ -1247,9 +1246,6 @@ virStorageSourceNetworkDefaultPort(virStorageNetProto=
col protocol)
case VIR_STORAGE_NET_PROTOCOL_TFTP:
return 69;
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- return 7000;
-
case VIR_STORAGE_NET_PROTOCOL_NBD:
return 10809;
=20
diff --git a/src/conf/storage_source_conf.h b/src/conf/storage_source_conf.h
index 389c7b56d1..b1391d9417 100644
--- a/src/conf/storage_source_conf.h
+++ b/src/conf/storage_source_conf.h
@@ -116,7 +116,6 @@ typedef enum {
VIR_STORAGE_NET_PROTOCOL_NONE,
VIR_STORAGE_NET_PROTOCOL_NBD,
VIR_STORAGE_NET_PROTOCOL_RBD,
- VIR_STORAGE_NET_PROTOCOL_SHEEPDOG,
VIR_STORAGE_NET_PROTOCOL_GLUSTER,
VIR_STORAGE_NET_PROTOCOL_ISCSI,
VIR_STORAGE_NET_PROTOCOL_HTTP,
diff --git a/src/conf/virstorageobj.c b/src/conf/virstorageobj.c
index 24957d6012..3b7fc07410 100644
--- a/src/conf/virstorageobj.c
+++ b/src/conf/virstorageobj.c
@@ -1468,13 +1468,6 @@ virStoragePoolObjSourceFindDuplicateCb(const void *p=
ayload,
return 1;
break;
=20
- case VIR_STORAGE_POOL_SHEEPDOG:
- if (data->def->type =3D=3D obj->def->type &&
- virStoragePoolSourceMatchSingleHost(&obj->def->source,
- &data->def->source))
- return 1;
- break;
-
case VIR_STORAGE_POOL_MPATH:
/* Only one mpath pool is valid per host */
if (data->def->type =3D=3D obj->def->type)
@@ -1986,8 +1979,6 @@ virStoragePoolObjMatch(virStoragePoolObj *obj,
(obj->def->type =3D=3D VIR_STORAGE_POOL_MPATH)) ||
(MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_RBD) &&
(obj->def->type =3D=3D VIR_STORAGE_POOL_RBD)) ||
- (MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG) &&
- (obj->def->type =3D=3D VIR_STORAGE_POOL_SHEEPDOG)) ||
(MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER) &&
(obj->def->type =3D=3D VIR_STORAGE_POOL_GLUSTER)) ||
(MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_ZFS) &&
diff --git a/src/libvirt-storage.c b/src/libvirt-storage.c
index 2a7cdca234..05288c68e0 100644
--- a/src/libvirt-storage.c
+++ b/src/libvirt-storage.c
@@ -92,7 +92,6 @@ virStoragePoolGetConnect(virStoragePoolPtr pool)
* VIR_CONNECT_LIST_STORAGE_POOLS_SCSI
* VIR_CONNECT_LIST_STORAGE_POOLS_MPATH
* VIR_CONNECT_LIST_STORAGE_POOLS_RBD
- * VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG
* VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER
* VIR_CONNECT_LIST_STORAGE_POOLS_ZFS
* VIR_CONNECT_LIST_STORAGE_POOLS_VSTORAGE
diff --git a/src/libxl/libxl_conf.c b/src/libxl/libxl_conf.c
index 3ccb00ec35..1d3ecbf52c 100644
--- a/src/libxl/libxl_conf.c
+++ b/src/libxl/libxl_conf.c
@@ -934,7 +934,6 @@ libxlMakeNetworkDiskSrcStr(virStorageSource *src,
case VIR_STORAGE_NET_PROTOCOL_TFTP:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_SSH:
case VIR_STORAGE_NET_PROTOCOL_VXHS:
case VIR_STORAGE_NET_PROTOCOL_NFS:
diff --git a/src/libxl/xen_xl.c b/src/libxl/xen_xl.c
index 8fa91ce66a..c4526db60b 100644
--- a/src/libxl/xen_xl.c
+++ b/src/libxl/xen_xl.c
@@ -1554,7 +1554,6 @@ xenFormatXLDiskSrcNet(virStorageSource *src)
case VIR_STORAGE_NET_PROTOCOL_TFTP:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_SSH:
case VIR_STORAGE_NET_PROTOCOL_VXHS:
case VIR_STORAGE_NET_PROTOCOL_NFS:
diff --git a/src/qemu/qemu_block.c b/src/qemu/qemu_block.c
index 6845e25176..aa19104303 100644
--- a/src/qemu/qemu_block.c
+++ b/src/qemu/qemu_block.c
@@ -927,34 +927,6 @@ qemuBlockStorageSourceGetRBDProps(virStorageSource *sr=
c,
}
=20
=20
-static virJSONValue *
-qemuBlockStorageSourceGetSheepdogProps(virStorageSource *src)
-{
- g_autoptr(virJSONValue) serverprops =3D NULL;
- virJSONValue *ret =3D NULL;
-
- if (src->nhosts !=3D 1) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("sheepdog protocol accepts only one host"));
- return NULL;
- }
-
- serverprops =3D qemuBlockStorageSourceBuildJSONSocketAddress(&src->hos=
ts[0],
- false);
- if (!serverprops)
- return NULL;
-
- /* libvirt does not support the 'snap-id' and 'tag' properties */
- if (virJSONValueObjectCreate(&ret,
- "a:server", &serverprops,
- "s:vdi", src->path,
- NULL) < 0)
- return NULL;
-
- return ret;
-}
-
-
static virJSONValue *
qemuBlockStorageSourceGetSshProps(virStorageSource *src)
{
@@ -1217,12 +1189,6 @@ qemuBlockStorageSourceGetBackendProps(virStorageSour=
ce *src,
return NULL;
break;
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- driver =3D "sheepdog";
- if (!(fileprops =3D qemuBlockStorageSourceGetSheepdogProps(src=
)))
- return NULL;
- break;
-
case VIR_STORAGE_NET_PROTOCOL_SSH:
driver =3D "ssh";
if (!(fileprops =3D qemuBlockStorageSourceGetSshProps(src)))
@@ -2216,7 +2182,6 @@ qemuBlockGetBackingStoreString(virStorageSource *src,
=20
return virURIFormat(uri);
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_RBD:
case VIR_STORAGE_NET_PROTOCOL_VXHS:
case VIR_STORAGE_NET_PROTOCOL_NFS:
@@ -2595,12 +2560,6 @@ qemuBlockStorageSourceCreateGetStorageProps(virStora=
geSource *src,
return -1;
break;
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- driver =3D "sheepdog";
- if (!(location =3D qemuBlockStorageSourceGetSheepdogProps(src)=
))
- return -1;
- break;
-
case VIR_STORAGE_NET_PROTOCOL_SSH:
driver =3D "ssh";
if (!(location =3D qemuBlockStorageSourceGetSshProps(src)))
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 278590c2c1..e756636d7f 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1056,26 +1056,6 @@ qemuBuildNetworkDriveStr(virStorageSource *src,
ret =3D qemuBuildNetworkDriveURI(src, secinfo);
break;
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- if (!src->path) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("missing disk source for 'sheepdog' proto=
col"));
- return NULL;
- }
-
- if (src->nhosts =3D=3D 0) {
- ret =3D g_strdup_printf("sheepdog:%s", src->path);
- } else if (src->nhosts =3D=3D 1) {
- ret =3D g_strdup_printf("sheepdog:%s:%u:%s", src->hosts->n=
ame,
- src->hosts->port, src->path);
- } else {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("protocol 'sheepdog' accepts up to one ho=
st"));
- return NULL;
- }
-
- break;
-
case VIR_STORAGE_NET_PROTOCOL_RBD:
if (strchr(src->path, ':')) {
virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index 6e3e3555c7..4daff5b2dc 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -10033,7 +10033,6 @@ qemuDomainPrepareStorageSourceTLS(virStorageSource =
*src,
break;
=20
case VIR_STORAGE_NET_PROTOCOL_RBD:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_HTTP:
diff --git a/src/qemu/qemu_snapshot.c b/src/qemu/qemu_snapshot.c
index fd6669433b..4afebca8f6 100644
--- a/src/qemu/qemu_snapshot.c
+++ b/src/qemu/qemu_snapshot.c
@@ -402,7 +402,6 @@ qemuSnapshotPrepareDiskExternalInactive(virDomainSnapsh=
otDiskDef *snapdisk,
case VIR_STORAGE_NET_PROTOCOL_NONE:
case VIR_STORAGE_NET_PROTOCOL_NBD:
case VIR_STORAGE_NET_PROTOCOL_RBD:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_HTTP:
@@ -494,7 +493,6 @@ qemuSnapshotPrepareDiskExternalActive(virDomainObj *vm,
case VIR_STORAGE_NET_PROTOCOL_NONE:
case VIR_STORAGE_NET_PROTOCOL_NBD:
case VIR_STORAGE_NET_PROTOCOL_RBD:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_HTTP:
case VIR_STORAGE_NET_PROTOCOL_HTTPS:
@@ -625,7 +623,6 @@ qemuSnapshotPrepareDiskInternal(virDomainDiskDef *disk,
case VIR_STORAGE_NET_PROTOCOL_NONE:
case VIR_STORAGE_NET_PROTOCOL_NBD:
case VIR_STORAGE_NET_PROTOCOL_RBD:
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_GLUSTER:
case VIR_STORAGE_NET_PROTOCOL_ISCSI:
case VIR_STORAGE_NET_PROTOCOL_HTTP:
diff --git a/src/storage/meson.build b/src/storage/meson.build
index 915ae46f61..a10049ceb4 100644
--- a/src/storage/meson.build
+++ b/src/storage/meson.build
@@ -51,10 +51,6 @@ storage_backend_scsi_sources =3D [
'storage_backend_scsi.c',
]
=20
-storage_backend_sheepdog_sources =3D [
- 'storage_backend_sheepdog.c',
-]
-
storage_backend_vstorage_sources =3D [
'storage_backend_vstorage.c',
]
@@ -238,27 +234,6 @@ if conf.has('WITH_STORAGE_SCSI')
}
endif
=20
-if conf.has('WITH_STORAGE_SHEEPDOG')
- storage_backend_sheepdog_priv_lib =3D static_library(
- 'virt_storage_backend_sheepdog_priv',
- storage_backend_sheepdog_sources,
- dependencies: [
- src_dep,
- ],
- include_directories: [
- conf_inc_dir,
- ],
- )
-
- virt_modules +=3D {
- 'name': 'virt_storage_backend_sheepdog',
- 'link_whole': [
- storage_backend_sheepdog_priv_lib,
- ],
- 'install_dir': storage_backend_install_dir,
- }
-endif
-
if conf.has('WITH_STORAGE_VSTORAGE')
virt_modules +=3D {
'name': 'virt_storage_backend_vstorage',
diff --git a/src/storage/storage_backend.c b/src/storage/storage_backend.c
index c5b36801ba..afe7bebb10 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -58,9 +58,6 @@
#if WITH_STORAGE_RBD
# include "storage_backend_rbd.h"
#endif
-#if WITH_STORAGE_SHEEPDOG
-# include "storage_backend_sheepdog.h"
-#endif
#if WITH_STORAGE_GLUSTER
# include "storage_backend_gluster.h"
#endif
@@ -132,9 +129,6 @@ virStorageBackendDriversRegister(bool allbackends G_GNU=
C_UNUSED)
#if WITH_STORAGE_RBD
VIR_STORAGE_BACKEND_REGISTER(virStorageBackendRBDRegister, "rbd");
#endif
-#if WITH_STORAGE_SHEEPDOG
- VIR_STORAGE_BACKEND_REGISTER(virStorageBackendSheepdogRegister, "sheep=
dog");
-#endif
#if WITH_STORAGE_GLUSTER
VIR_STORAGE_BACKEND_REGISTER(virStorageBackendGlusterRegister, "gluste=
r");
#endif
diff --git a/src/storage/storage_backend_sheepdog.c b/src/storage/storage_b=
ackend_sheepdog.c
deleted file mode 100644
index beb6445e1e..0000000000
--- a/src/storage/storage_backend_sheepdog.c
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * storage_backend_sheepdog.c: storage backend for Sheepdog handling
- *
- * Copyright (C) 2013-2014 Red Hat, Inc.
- * Copyright (C) 2012 Wido den Hollander
- * Copyright (C) 2012 Frank Spijkerman
- * Copyright (C) 2012 Sebastian Wiedenroth
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * .
- */
-
-#include
-
-#include "virerror.h"
-#include "storage_backend_sheepdog.h"
-#define LIBVIRT_STORAGE_BACKEND_SHEEPDOG_PRIV_H_ALLOW
-#include "storage_backend_sheepdog_priv.h"
-#include "storage_conf.h"
-#include "vircommand.h"
-#include "viralloc.h"
-#include "virstring.h"
-#include "storage_util.h"
-
-#define VIR_FROM_THIS VIR_FROM_STORAGE
-
-#define SHEEPDOGCLI "dog"
-
-static int virStorageBackendSheepdogRefreshVol(virStoragePoolObj *pool,
- virStorageVolDef *vol);
-
-void virStorageBackendSheepdogAddHostArg(virCommand *cmd,
- virStoragePoolObj *pool);
-
-int
-virStorageBackendSheepdogParseNodeInfo(virStoragePoolDef *pool,
- char *output)
-{
- /* fields:
- * node id/total, size, used, use%, [total vdi size]
- *
- * example output:
- * 0 15245667872 117571104 0%
- * Total 15245667872 117571104 0% 20972341
- */
-
- const char *p, *next;
-
- pool->allocation =3D pool->capacity =3D pool->available =3D 0;
-
- p =3D output;
- do {
- char *end;
-
- if ((next =3D strchr(p, '\n')))
- ++next;
- else
- break;
-
- if (!STRPREFIX(p, "Total "))
- continue;
-
- p =3D p + 6;
-
- if (virStrToLong_ull(p, &end, 10, &pool->capacity) < 0)
- break;
-
- if ((p =3D end + 1) > next)
- break;
-
- if (virStrToLong_ull(p, &end, 10, &pool->allocation) < 0)
- break;
-
- pool->available =3D pool->capacity - pool->allocation;
- return 0;
-
- } while ((p =3D next));
-
- return -1;
-}
-
-void
-virStorageBackendSheepdogAddHostArg(virCommand *cmd,
- virStoragePoolObj *pool)
-{
- virStoragePoolDef *def =3D virStoragePoolObjGetDef(pool);
- const char *address =3D "localhost";
- int port =3D 7000;
- if (def->source.nhost > 0) {
- if (def->source.hosts[0].name !=3D NULL)
- address =3D def->source.hosts[0].name;
- if (def->source.hosts[0].port)
- port =3D def->source.hosts[0].port;
- }
- virCommandAddArg(cmd, "-a");
- virCommandAddArgFormat(cmd, "%s", address);
- virCommandAddArg(cmd, "-p");
- virCommandAddArgFormat(cmd, "%d", port);
-}
-
-static int
-virStorageBackendSheepdogAddVolume(virStoragePoolObj *pool, const char *di=
skInfo)
-{
- g_autoptr(virStorageVolDef) vol =3D NULL;
-
- if (diskInfo =3D=3D NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Missing disk info when adding volume"));
- return -1;
- }
-
- vol =3D g_new0(virStorageVolDef, 1);
-
- vol->name =3D g_strdup(diskInfo);
-
- vol->type =3D VIR_STORAGE_VOL_NETWORK;
-
- if (virStorageBackendSheepdogRefreshVol(pool, vol) < 0)
- return -1;
-
- if (virStoragePoolObjAddVol(pool, vol) < 0)
- return -1;
- vol =3D NULL;
-
- return 0;
-}
-
-static int
-virStorageBackendSheepdogRefreshAllVol(virStoragePoolObj *pool)
-{
- size_t i;
- g_autofree char *output =3D NULL;
- g_auto(GStrv) lines =3D NULL;
- g_autoptr(virCommand) cmd =3D NULL;
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "vdi", "list", "-r", NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0)
- return -1;
-
- lines =3D g_strsplit(output, "\n", 0);
- if (lines =3D=3D NULL)
- return -1;
-
- for (i =3D 0; lines[i]; i++) {
- g_auto(GStrv) cells =3D NULL;
-
- cells =3D g_strsplit(lines[i], " ", 0);
-
- if (cells !=3D NULL && cells[0] && cells[1]) {
- if (virStorageBackendSheepdogAddVolume(pool, cells[1]) < 0)
- return -1;
- }
- }
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogRefreshPool(virStoragePoolObj *pool)
-{
- g_autofree char *output =3D NULL;
- g_autoptr(virCommand) cmd =3D NULL;
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "node", "info", "-r", NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0)
- return -1;
-
- if (virStorageBackendSheepdogParseNodeInfo(virStoragePoolObjGetDef(poo=
l),
- output) < 0)
- return -1;
-
- return virStorageBackendSheepdogRefreshAllVol(pool);
-}
-
-
-static int
-virStorageBackendSheepdogDeleteVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd =3D NULL;
-
- virCheckFlags(0, -1);
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "vdi", "delete", vol->name, =
NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- return virCommandRun(cmd, NULL);
-}
-
-
-static int
-virStorageBackendSheepdogCreateVol(virStoragePoolObj *pool,
- virStorageVolDef *vol)
-{
- virStoragePoolDef *def =3D virStoragePoolObjGetDef(pool);
-
- if (vol->target.encryption !=3D NULL) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- "%s", _("storage pool does not support encrypted "
- "volumes"));
- return -1;
- }
-
- vol->type =3D VIR_STORAGE_VOL_NETWORK;
-
- VIR_FREE(vol->key);
- vol->key =3D g_strdup_printf("%s/%s", def->source.name, vol->name);
-
- VIR_FREE(vol->target.path);
- vol->target.path =3D g_strdup(vol->name);
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogBuildVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd =3D NULL;
-
- virCheckFlags(0, -1);
-
- if (!vol->target.capacity) {
- virReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("volume capacity required for this pool"));
- return -1;
- }
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "vdi", "create", vol->name, =
NULL);
- virCommandAddArgFormat(cmd, "%llu", vol->target.capacity);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- return virCommandRun(cmd, NULL);
-}
-
-
-int
-virStorageBackendSheepdogParseVdiList(virStorageVolDef *vol,
- char *output)
-{
- /* fields:
- * current/clone/snapshot, name, id, size, used, shared, creation time=
, vdi id, [tag]
- *
- * example output:
- * s test 1 10 0 0 1336556634 7c2b25
- * s test 2 10 0 0 1336557203 7c2b26
- * =3D test 3 10 0 0 1336557216 7c2b27
- */
-
- int id;
- const char *p, *next;
-
- vol->target.allocation =3D vol->target.capacity =3D 0;
-
- p =3D output;
- do {
- char *end;
-
- if ((next =3D strchr(p, '\n')))
- ++next;
-
- /* ignore snapshots */
- if (*p !=3D '=3D')
- continue;
-
- /* skip space */
- if (p + 2 < next)
- p +=3D 2;
- else
- return -1;
-
- /* skip name */
- while (*p !=3D '\0' && *p !=3D ' ') {
- if (*p =3D=3D '\\')
- ++p;
- ++p;
- }
-
- if (virStrToLong_i(p, &end, 10, &id) < 0)
- return -1;
-
- p =3D end + 1;
-
- if (virStrToLong_ull(p, &end, 10, &vol->target.capacity) < 0)
- return -1;
-
- p =3D end + 1;
-
- if (virStrToLong_ull(p, &end, 10, &vol->target.allocation) < 0)
- return -1;
-
- return 0;
- } while ((p =3D next));
-
- return -1;
-}
-
-static int
-virStorageBackendSheepdogRefreshVol(virStoragePoolObj *pool,
- virStorageVolDef *vol)
-{
- char *output =3D NULL;
- virStoragePoolDef *def =3D virStoragePoolObjGetDef(pool);
- g_autoptr(virCommand) cmd =3D NULL;
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "vdi", "list", vol->name, "-=
r", NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0)
- return -1;
-
- if (virStorageBackendSheepdogParseVdiList(vol, output) < 0)
- return -1;
-
- vol->type =3D VIR_STORAGE_VOL_NETWORK;
-
- VIR_FREE(vol->key);
- vol->key =3D g_strdup_printf("%s/%s", def->source.name, vol->name);
-
- VIR_FREE(vol->target.path);
- vol->target.path =3D g_strdup(vol->name);
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogResizeVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned long long capacity,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd =3D NULL;
-
- virCheckFlags(0, -1);
-
- cmd =3D virCommandNewArgList(SHEEPDOGCLI, "vdi", "resize", vol->name, =
NULL);
- virCommandAddArgFormat(cmd, "%llu", capacity);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- return virCommandRun(cmd, NULL);
-}
-
-
-
-virStorageBackend virStorageBackendSheepdog =3D {
- .type =3D VIR_STORAGE_POOL_SHEEPDOG,
-
- .refreshPool =3D virStorageBackendSheepdogRefreshPool,
- .createVol =3D virStorageBackendSheepdogCreateVol,
- .buildVol =3D virStorageBackendSheepdogBuildVol,
- .refreshVol =3D virStorageBackendSheepdogRefreshVol,
- .deleteVol =3D virStorageBackendSheepdogDeleteVol,
- .resizeVol =3D virStorageBackendSheepdogResizeVol,
-};
-
-
-int
-virStorageBackendSheepdogRegister(void)
-{
- return virStorageBackendRegister(&virStorageBackendSheepdog);
-}
diff --git a/src/storage/storage_backend_sheepdog.h b/src/storage/storage_b=
ackend_sheepdog.h
deleted file mode 100644
index e1fde6373b..0000000000
--- a/src/storage/storage_backend_sheepdog.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * storage_backend_sheepdog.h: storage backend for Sheepdog handling
- *
- * Copyright (C) 2012 Wido den Hollander
- * Copyright (C) 2012 Frank Spijkerman
- * Copyright (C) 2012 Sebastian Wiedenroth
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * .
- */
-
-#pragma once
-
-int virStorageBackendSheepdogRegister(void);
diff --git a/src/storage/storage_backend_sheepdog_priv.h b/src/storage/stor=
age_backend_sheepdog_priv.h
deleted file mode 100644
index a8cadb5542..0000000000
--- a/src/storage/storage_backend_sheepdog_priv.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * storage_backend_sheepdog_priv.h: header for functions necessary in tests
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * .
- */
-
-#ifndef LIBVIRT_STORAGE_BACKEND_SHEEPDOG_PRIV_H_ALLOW
-# error "storage_backend_sheepdog_priv.h may only be included by storage_b=
ackend_sheepdog.c or test suites"
-#endif /* LIBVIRT_STORAGE_BACKEND_SHEEPDOG_PRIV_H_ALLOW */
-
-#pragma once
-
-#include "conf/storage_conf.h"
-
-int virStorageBackendSheepdogParseNodeInfo(virStoragePoolDef *pool,
- char *output);
-int virStorageBackendSheepdogParseVdiList(virStorageVolDef *vol,
- char *output);
diff --git a/src/storage/storage_driver.c b/src/storage/storage_driver.c
index c2ff4b8d06..f93aa733b9 100644
--- a/src/storage/storage_driver.c
+++ b/src/storage/storage_driver.c
@@ -1644,7 +1644,6 @@ storageVolLookupByPathCallback(virStoragePoolObj *obj,
=20
case VIR_STORAGE_POOL_GLUSTER:
case VIR_STORAGE_POOL_RBD:
- case VIR_STORAGE_POOL_SHEEPDOG:
case VIR_STORAGE_POOL_ZFS:
case VIR_STORAGE_POOL_LAST:
stable_path =3D g_strdup(data->path);
diff --git a/src/storage_file/storage_source_backingstore.c b/src/storage_f=
ile/storage_source_backingstore.c
index 9021b9da0c..00d5342b9a 100644
--- a/src/storage_file/storage_source_backingstore.c
+++ b/src/storage_file/storage_source_backingstore.c
@@ -396,7 +396,6 @@ virStorageSourceParseBackingColon(virStorageSource *src,
return -1;
break;
=20
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
case VIR_STORAGE_NET_PROTOCOL_LAST:
case VIR_STORAGE_NET_PROTOCOL_NONE:
virReportError(VIR_ERR_INTERNAL_ERROR,
@@ -843,48 +842,6 @@ virStorageSourceParseBackingJSONNbd(virStorageSource *=
src,
}
=20
=20
-static int
-virStorageSourceParseBackingJSONSheepdog(virStorageSource *src,
- virJSONValue *json,
- const char *jsonstr G_GNUC_UNUSED,
- int opaque G_GNUC_UNUSED)
-{
- const char *filename;
- const char *vdi =3D virJSONValueObjectGetString(json, "vdi");
- virJSONValue *server =3D virJSONValueObjectGetObject(json, "server");
-
- /* legacy URI based syntax passed via 'filename' option */
- if ((filename =3D virJSONValueObjectGetString(json, "filename"))) {
- if (strstr(filename, "://"))
- return virStorageSourceParseBackingJSONUriStr(src, filename,
- VIR_STORAGE_NET_=
PROTOCOL_SHEEPDOG);
-
- /* libvirt doesn't implement a parser for the legacy non-URI synta=
x */
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("missing sheepdog URI in JSON backing volume defi=
nition"));
- return -1;
- }
-
- src->type =3D VIR_STORAGE_TYPE_NETWORK;
- src->protocol =3D VIR_STORAGE_NET_PROTOCOL_SHEEPDOG;
-
- if (!vdi) {
- virReportError(VIR_ERR_INVALID_ARG, "%s", _("missing sheepdog vdi =
name"));
- return -1;
- }
-
- src->path =3D g_strdup(vdi);
-
- src->hosts =3D g_new0(virStorageNetHostDef, 1);
- src->nhosts =3D 1;
-
- if (virStorageSourceParseBackingJSONSocketAddress(src->hosts, server) =
< 0)
- return -1;
-
- return 0;
-}
-
-
static int
virStorageSourceParseBackingJSONSSH(virStorageSource *src,
virJSONValue *json,
@@ -1159,7 +1116,6 @@ static const struct virStorageSourceJSONDriverParser =
jsonParsers[] =3D {
{"gluster", false, virStorageSourceParseBackingJSONGluster, 0},
{"iscsi", false, virStorageSourceParseBackingJSONiSCSI, 0},
{"nbd", false, virStorageSourceParseBackingJSONNbd, 0},
- {"sheepdog", false, virStorageSourceParseBackingJSONSheepdog, 0},
{"ssh", false, virStorageSourceParseBackingJSONSSH, 0},
{"rbd", false, virStorageSourceParseBackingJSONRBD, 0},
{"raw", true, virStorageSourceParseBackingJSONRaw, 0},
diff --git a/src/test/test_driver.c b/src/test/test_driver.c
index 15e9018803..88f4fbc5bc 100644
--- a/src/test/test_driver.c
+++ b/src/test/test_driver.c
@@ -7065,7 +7065,6 @@ testStorageVolumeTypeForPool(int pooltype)
case VIR_STORAGE_POOL_NETFS:
case VIR_STORAGE_POOL_VSTORAGE:
return VIR_STORAGE_VOL_FILE;
- case VIR_STORAGE_POOL_SHEEPDOG:
case VIR_STORAGE_POOL_ISCSI_DIRECT:
case VIR_STORAGE_POOL_GLUSTER:
case VIR_STORAGE_POOL_RBD:
diff --git a/tests/meson.build b/tests/meson.build
index 05c3e90195..5e1955a625 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -514,12 +514,6 @@ if conf.has('WITH_STORAGE_FS')
]
endif
=20
-if conf.has('WITH_STORAGE_SHEEPDOG')
- tests +=3D [
- { 'name': 'storagebackendsheepdogtest', 'link_with': [ storage_driver_=
impl_lib, storage_backend_sheepdog_priv_lib ] },
- ]
-endif
-
if conf.has('WITH_VBOX')
tests +=3D [
{ 'name': 'vboxsnapshotxmltest', 'link_with': [ vbox_driver_impl ] },
diff --git a/tests/qemublocktest.c b/tests/qemublocktest.c
index 3f3e6d1532..6a46a6da72 100644
--- a/tests/qemublocktest.c
+++ b/tests/qemublocktest.c
@@ -1094,9 +1094,6 @@ mymain(void)
TEST_JSON_FORMAT_NET("\n"
" \n"
" \n");
- TEST_JSON_FORMAT_NET("\n"
- " \n"
- " \n");
TEST_JSON_FORMAT_NET("\n"
" \n"
" \n");
@@ -1223,7 +1220,6 @@ mymain(void)
TEST_IMAGE_CREATE("network-gluster-qcow2", NULL);
TEST_IMAGE_CREATE("network-rbd-qcow2", NULL);
TEST_IMAGE_CREATE("network-ssh-qcow2", NULL);
- TEST_IMAGE_CREATE("network-sheepdog-qcow2", NULL);
=20
#define TEST_BITMAP_DETECT(testname) \
do { \
diff --git a/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.jso=
n b/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.json
deleted file mode 100644
index d86bef6bc8..0000000000
--- a/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.json
+++ /dev/null
@@ -1,20 +0,0 @@
-protocol:
-{
- "driver": "sheepdog",
- "location": {
- "server": {
- "type": "inet",
- "host": "example.com",
- "port": "1234"
- },
- "vdi": "asdf/i.qcow2"
- },
- "size": 4294967296
-}
-
-format:
-{
- "driver": "qcow2",
- "file": "0123456789ABCDEF0123456789ABCDE",
- "size": 8589934590
-}
diff --git a/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.xml=
b/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.xml
deleted file mode 100644
index 1145daafdd..0000000000
--- a/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/qemusecuritytest.c b/tests/qemusecuritytest.c
index 184ffca15f..5006824d10 100644
--- a/tests/qemusecuritytest.c
+++ b/tests/qemusecuritytest.c
@@ -221,7 +221,6 @@ mymain(void)
DO_TEST_DOMAIN("disk-network-iscsi");
DO_TEST_DOMAIN("disk-network-nbd");
DO_TEST_DOMAIN("disk-network-rbd");
- DO_TEST_DOMAIN("disk-network-sheepdog");
DO_TEST_DOMAIN("disk-network-source-auth");
DO_TEST_DOMAIN("disk-network-tlsx509-nbd");
DO_TEST_DOMAIN("disk-network-tlsx509-vxhs");
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.args b/tests/qemu=
xml2argvdata/disk-network-sheepdog.args
deleted file mode 100644
index fb7102fbb8..0000000000
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.args
+++ /dev/null
@@ -1,30 +0,0 @@
-LC_ALL=3DC \
-PATH=3D/bin \
-HOME=3D/tmp/lib/domain--1-QEMUGuest1 \
-USER=3Dtest \
-LOGNAME=3Dtest \
-XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \
-QEMU_AUDIO_DRV=3Dnone \
-/usr/bin/qemu-system-i386 \
--name QEMUGuest1 \
--S \
--machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \
--m 214 \
--realtime mlock=3Doff \
--smp 1,sockets=3D1,cores=3D1,threads=3D1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=3Dcharmonitor,path=3D/tmp/lib/domain--1-QEMUGuest1/moni=
tor.sock,server=3Don,wait=3Doff \
--mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \
--rtc base=3Dutc \
--no-shutdown \
--no-acpi \
--usb \
--drive file=3D/dev/HostVG/QEMU,,Guest,,,,1,format=3Draw,if=3Dnone,id=3Ddri=
ve-ide0-0-0 \
--device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b=
ootindex=3D1 \
--drive file=3Dsheepdog:example.org:6000:image,,with,,commas,format=3Draw,i=
f=3Dnone,id=3Ddrive-virtio-disk0 \
--device virtio-blk-pci,bus=3Dpci.0,addr=3D0x3,drive=3Ddrive-virtio-disk0,i=
d=3Dvirtio-disk0
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.arg=
s b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
deleted file mode 100644
index 4d3b051da2..0000000000
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
+++ /dev/null
@@ -1,34 +0,0 @@
-LC_ALL=3DC \
-PATH=3D/bin \
-HOME=3D/tmp/lib/domain--1-QEMUGuest1 \
-USER=3Dtest \
-LOGNAME=3Dtest \
-XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \
-QEMU_AUDIO_DRV=3Dnone \
-/usr/bin/qemu-system-i386 \
--name guest=3DQEMUGuest1,debug-threads=3Don \
--S \
--object secret,id=3DmasterKey0,format=3Draw,file=3D/tmp/lib/domain--1-QEMU=
Guest1/master-key.aes \
--machine pc-i440fx-2.12,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff \
--m 214 \
--realtime mlock=3Doff \
--smp 1,sockets=3D1,cores=3D1,threads=3D1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \
--mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \
--rtc base=3Dutc \
--no-shutdown \
--no-acpi \
--boot strict=3Don \
--device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \
--drive file=3D/dev/HostVG/QEMU,,Guest,,,,1,format=3Draw,if=3Dnone,id=3Ddri=
ve-ide0-0-0 \
--device ide-hd,bus=3Dide.0,unit=3D0,drive=3Ddrive-ide0-0-0,id=3Dide0-0-0,b=
ootindex=3D1 \
--drive file=3Dsheepdog:example.org:6000:image,,with,,commas,format=3Draw,i=
f=3Dnone,id=3Ddrive-virtio-disk0 \
--device virtio-blk-pci,scsi=3Doff,bus=3Dpci.0,addr=3D0x2,drive=3Ddrive-vir=
tio-disk0,id=3Dvirtio-disk0 \
--sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource=
control=3Ddeny \
--msg timestamp=3Don
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.arg=
s b/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
deleted file mode 100644
index a0c663229c..0000000000
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
+++ /dev/null
@@ -1,38 +0,0 @@
-LC_ALL=3DC \
-PATH=3D/bin \
-HOME=3D/tmp/lib/domain--1-QEMUGuest1 \
-USER=3Dtest \
-LOGNAME=3Dtest \
-XDG_DATA_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=3D/tmp/lib/domain--1-QEMUGuest1/.config \
-/usr/bin/qemu-system-i386 \
--name guest=3DQEMUGuest1,debug-threads=3Don \
--S \
--object '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tm=
p/lib/domain--1-QEMUGuest1/master-key.aes"}' \
--machine pc,accel=3Dtcg,usb=3Doff,dump-guest-core=3Doff,memory-backend=3Dp=
c.ram \
--cpu qemu64 \
--m 214 \
--object '{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'=
\
--overcommit mem-lock=3Doff \
--smp 1,sockets=3D1,cores=3D1,threads=3D1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=3Dcharmonitor,fd=3D1729,server=3Don,wait=3Doff \
--mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dcontrol \
--rtc base=3Dutc \
--no-shutdown \
--no-acpi \
--boot strict=3Don \
--device piix3-usb-uhci,id=3Dusb,bus=3Dpci.0,addr=3D0x1.0x2 \
--blockdev '{"driver":"host_device","filename":"/dev/HostVG/QEMU,Guest,,1",=
"node-name":"libvirt-2-storage","auto-read-only":true,"discard":"unmap"}' \
--blockdev '{"node-name":"libvirt-2-format","read-only":false,"driver":"raw=
","file":"libvirt-2-storage"}' \
--device ide-hd,bus=3Dide.0,unit=3D0,drive=3Dlibvirt-2-format,id=3Dide0-0-0=
,bootindex=3D1 \
--blockdev '{"driver":"sheepdog","server":{"type":"inet","host":"example.or=
g","port":"6000"},"vdi":"image,with,commas","node-name":"libvirt-1-storage"=
,"auto-read-only":true,"discard":"unmap"}' \
--blockdev '{"node-name":"libvirt-1-format","read-only":false,"driver":"raw=
","file":"libvirt-1-storage"}' \
--device virtio-blk-pci,bus=3Dpci.0,addr=3D0x2,drive=3Dlibvirt-1-format,id=
=3Dvirtio-disk0 \
--audiodev id=3Daudio1,driver=3Dnone \
--sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource=
control=3Ddeny \
--msg timestamp=3Don
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.xml b/tests/qemux=
ml2argvdata/disk-network-sheepdog.xml
deleted file mode 100644
index 3d6d3b2ae9..0000000000
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-
- QEMUGuest1
- c7a5fdbd-edaf-9455-926a-d65c16db1809
- 219136
- 219136
- 1
-
- hvm
-
-
-
- destroy
- restart
- destroy
-
- /usr/bin/qemu-system-i386
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 572c7b251a..fa4fa8d3c3 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -1399,9 +1399,6 @@ mymain(void)
DO_TEST_CAPS_VER("disk-network-rbd", "2.12.0");
DO_TEST_CAPS_LATEST("disk-network-rbd");
DO_TEST_FAILURE("disk-network-rbd-no-colon", NONE);
- DO_TEST("disk-network-sheepdog", NONE);
- DO_TEST_CAPS_VER("disk-network-sheepdog", "2.12.0");
- DO_TEST_CAPS_LATEST("disk-network-sheepdog");
DO_TEST("disk-network-source-auth", NONE);
DO_TEST_CAPS_VER("disk-network-source-auth", "2.12.0");
DO_TEST_CAPS_LATEST("disk-network-source-auth");
diff --git a/tests/qemuxml2xmloutdata/disk-network-sheepdog.xml b/tests/qem=
uxml2xmloutdata/disk-network-sheepdog.xml
deleted file mode 100644
index c1862e5a54..0000000000
--- a/tests/qemuxml2xmloutdata/disk-network-sheepdog.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-
- QEMUGuest1
- c7a5fdbd-edaf-9455-926a-d65c16db1809
- 219136
- 219136
- 1
-
- hvm
-
-
-
- destroy
- restart
- destroy
-
- /usr/bin/qemu-system-i386
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 32b68fcfb0..0b6b841ea5 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -320,7 +320,6 @@ mymain(void)
DO_TEST("disk-network-gluster", NONE);
DO_TEST("disk-network-rbd", NONE);
DO_TEST("disk-network-source-auth", NONE);
- DO_TEST("disk-network-sheepdog", NONE);
DO_TEST("disk-network-vxhs", NONE);
DO_TEST_CAPS_LATEST("disk-network-nfs");
DO_TEST("disk-network-tlsx509-nbd", NONE);
diff --git a/tests/storagebackendsheepdogtest.c b/tests/storagebackendsheep=
dogtest.c
deleted file mode 100644
index c7dabd976b..0000000000
--- a/tests/storagebackendsheepdogtest.c
+++ /dev/null
@@ -1,206 +0,0 @@
-/*
- * storagebackendsheepdogtest.c: storage backend for Sheepdog handling
- *
- * Copyright (C) 2014 Red Hat, Inc.
- * Copyright (C) 2012 Sebastian Wiedenroth
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see
- * .
- */
-
-#include
-
-#include
-
-#include
-
-#include "internal.h"
-#include "testutils.h"
-#define LIBVIRT_STORAGE_BACKEND_SHEEPDOG_PRIV_H_ALLOW
-#include "storage/storage_backend_sheepdog_priv.h"
-#include "virstring.h"
-
-#define VIR_FROM_THIS VIR_FROM_NONE
-
-typedef struct {
- const char *output;
- int expected_return;
- uint64_t expected_capacity;
- uint64_t expected_allocation;
-} collie_test;
-
-struct testNodeInfoParserData {
- collie_test data;
- const char *poolxml;
-};
-
-struct testVDIListParserData {
- collie_test data;
- const char *poolxml;
- const char *volxml;
-};
-
-
-static int
-test_node_info_parser(const void *opaque)
-{
- const struct testNodeInfoParserData *data =3D opaque;
- collie_test test =3D data->data;
- g_autofree char *output =3D NULL;
- g_autoptr(virStoragePoolDef) pool =3D NULL;
-
- if (!(pool =3D virStoragePoolDefParseFile(data->poolxml)))
- return -1;
-
- output =3D g_strdup(test.output);
-
- if (virStorageBackendSheepdogParseNodeInfo(pool, output) !=3D
- test.expected_return)
- return -1;
-
- if (test.expected_return)
- return 0;
-
- if (pool->capacity =3D=3D test.expected_capacity &&
- pool->allocation =3D=3D test.expected_allocation)
- return 0;
-
- return -1;
-}
-
-static int
-test_vdi_list_parser(const void *opaque)
-{
- const struct testVDIListParserData *data =3D opaque;
- collie_test test =3D data->data;
- g_autofree char *output =3D NULL;
- g_autoptr(virStoragePoolDef) pool =3D NULL;
- g_autoptr(virStorageVolDef) vol =3D NULL;
-
- if (!(pool =3D virStoragePoolDefParseFile(data->poolxml)))
- return -1;
-
- if (!(vol =3D virStorageVolDefParseFile(pool, data->volxml, 0)))
- return -1;
-
- output =3D g_strdup(test.output);
-
- if (virStorageBackendSheepdogParseVdiList(vol, output) !=3D
- test.expected_return)
- return -1;
-
- if (test.expected_return)
- return 0;
-
- if (vol->target.capacity =3D=3D test.expected_capacity &&
- vol->target.allocation =3D=3D test.expected_allocation)
- return 0;
-
- return -1;
-}
-
-
-static int
-mymain(void)
-{
- int ret =3D 0;
- g_autofree char *poolxml =3D NULL;
- g_autofree char *volxml =3D NULL;
-
- collie_test node_info_tests[] =3D {
- {"", -1, 0, 0},
- {"Total 15245667872 117571104 0% 20972341\n", 0, 15245667872, 1175=
71104},
- {"To", -1, 0, 0},
- {"asdf\nasdf", -1, 0, 0},
- {"Total ", -1, 0, 0},
- {"Total 1", -1, 0, 0},
- {"Total 1\n", -1, 0, 0},
- {"Total 1 ", -1, 0, 0},
- {"Total 1 2", -1, 0, 0},
- {"Total 1 2 ", -1, 0, 0},
- {"Total 1 2\n", 0, 1, 2},
- {"Total 1 2 \n", 0, 1, 2},
- {"Total a 2 \n", -1, 0, 0},
- {"Total 1 b \n", -1, 0, 0},
- {"Total a b \n", -1, 0, 0},
- {"stuff\nTotal 1 2 \n", 0, 1, 2},
- {"0 1 2 3\nTotal 1 2 \n", 0, 1, 2},
- {NULL, 0, 0, 0}
- };
-
- collie_test vdi_list_tests[] =3D {
- {"", -1, 0, 0},
- {"=3D test 3 10 20 0 1336557216 7c2b27\n", 0, 10, 20},
- {"=3D test\\ with\\ spaces 3 10 20 0 1336557216 7c2b27\n", 0, 10, =
20},
- {"=3D backslashattheend\\\\ 3 10 20 0 1336557216 7c2b27\n", 0, 10,=
20},
- {"s test 1 10 20 0 1336556634 7c2b25\n=3D test 3 50 60 0 133655721=
6 7c2b27\n", 0, 50, 60},
- {"=3D", -1, 0, 0},
- {"=3D test", -1, 0, 0},
- {"=3D test ", -1, 0, 0},
- {"=3D test 1", -1, 0, 0},
- {"=3D test 1 ", -1, 0, 0},
- {"=3D test 1 2", -1, 0, 0},
- {"=3D test 1 2 ", -1, 0, 0},
- {"=3D test 1 2 3", -1, 0, 0},
- {NULL, 0, 0, 0}
- };
-
- collie_test *test =3D node_info_tests;
-
- poolxml =3D g_strdup_printf("%s/storagepoolxml2xmlin/pool-sheepdog.xml=
",
- abs_srcdir);
-
- volxml =3D g_strdup_printf("%s/storagevolxml2xmlin/vol-sheepdog.xml",
- abs_srcdir);
-
-#define DO_TEST_NODE(collie) \
- do { \
- struct testNodeInfoParserData data =3D { \
- .data =3D collie, \
- .poolxml =3D poolxml, \
- }; \
- if (virTestRun("node_info_parser", test_node_info_parser, \
- &data) < 0) \
- ret =3D -1; \
- } while (0)
-
- while (test->output !=3D NULL) {
- DO_TEST_NODE(*test);
- ++test;
- }
-
-
-#define DO_TEST_VDI(collie) \
- do { \
- struct testVDIListParserData data =3D { \
- .data =3D collie, \
- .poolxml =3D poolxml, \
- .volxml =3D volxml, \
- }; \
- if (virTestRun("vdi_list_parser", test_vdi_list_parser, \
- &data) < 0) \
- ret =3D -1; \
- } while (0)
-
- test =3D vdi_list_tests;
-
- while (test->output !=3D NULL) {
- DO_TEST_VDI(*test);
- ++test;
- }
-
- return ret =3D=3D 0 ? EXIT_SUCCESS : EXIT_FAILURE;
-}
-
-VIR_TEST_MAIN(mymain)
diff --git a/tests/storagepoolcapsschemadata/poolcaps-fs.xml b/tests/storag=
epoolcapsschemadata/poolcaps-fs.xml
index eee75af746..ab5204b981 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-fs.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-fs.xml
@@ -152,8 +152,6 @@
-
-
diff --git a/tests/storagepoolcapsschemadata/poolcaps-full.xml b/tests/stor=
agepoolcapsschemadata/poolcaps-full.xml
index 805950a937..a1aaa7623e 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-full.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-full.xml
@@ -152,8 +152,6 @@
-
-
diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtes=
t.c
index 449b745519..95feaaf9a9 100644
--- a/tests/storagepoolxml2argvtest.c
+++ b/tests/storagepoolxml2argvtest.c
@@ -64,7 +64,6 @@ testCompareXMLToArgvFiles(bool shouldFail,
case VIR_STORAGE_POOL_SCSI:
case VIR_STORAGE_POOL_MPATH:
case VIR_STORAGE_POOL_RBD:
- case VIR_STORAGE_POOL_SHEEPDOG:
case VIR_STORAGE_POOL_GLUSTER:
case VIR_STORAGE_POOL_ZFS:
case VIR_STORAGE_POOL_VSTORAGE:
@@ -178,7 +177,6 @@ mymain(void)
DO_TEST_FAIL("pool-mpath");
DO_TEST_FAIL("pool-iscsi-multiiqn");
DO_TEST_FAIL("pool-iscsi-vendor-product");
- DO_TEST_FAIL("pool-sheepdog");
DO_TEST_FAIL("pool-gluster");
DO_TEST_FAIL("pool-gluster-sub");
DO_TEST_FAIL("pool-scsi-type-scsi-host-stable");
diff --git a/tests/storagepoolxml2xmlin/pool-sheepdog.xml b/tests/storagepo=
olxml2xmlin/pool-sheepdog.xml
deleted file mode 100644
index 49b6baf014..0000000000
--- a/tests/storagepoolxml2xmlin/pool-sheepdog.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
- sheepdog
-
-
- 65fcba04-5b13-bd93-cff3-52ce48e11ad7
- sheepdog
-
diff --git a/tests/storagepoolxml2xmlout/pool-sheepdog.xml b/tests/storagep=
oolxml2xmlout/pool-sheepdog.xml
deleted file mode 100644
index 000c068677..0000000000
--- a/tests/storagepoolxml2xmlout/pool-sheepdog.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
- sheepdog
- 65fcba04-5b13-bd93-cff3-52ce48e11ad7
- 0
- 0
- 0
-
-
- sheepdog
-
-
diff --git a/tests/storagepoolxml2xmltest.c b/tests/storagepoolxml2xmltest.c
index f21f20357a..945802d567 100644
--- a/tests/storagepoolxml2xmltest.c
+++ b/tests/storagepoolxml2xmltest.c
@@ -88,7 +88,6 @@ mymain(void)
DO_TEST("pool-mpath");
DO_TEST("pool-iscsi-multiiqn");
DO_TEST("pool-iscsi-vendor-product");
- DO_TEST("pool-sheepdog");
DO_TEST("pool-gluster");
DO_TEST("pool-gluster-sub");
DO_TEST("pool-scsi-type-scsi-host-stable");
diff --git a/tests/storagevolxml2xmlin/vol-sheepdog.xml b/tests/storagevolx=
ml2xmlin/vol-sheepdog.xml
deleted file mode 100644
index d6e920bb81..0000000000
--- a/tests/storagevolxml2xmlin/vol-sheepdog.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
- test2
-
-
- 1024
- 0
-
- sheepdog:test2
-
-
diff --git a/tests/storagevolxml2xmlout/vol-sheepdog.xml b/tests/storagevol=
xml2xmlout/vol-sheepdog.xml
deleted file mode 100644
index 47fb8eb418..0000000000
--- a/tests/storagevolxml2xmlout/vol-sheepdog.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
- test2
- 1024
- 0
-
- sheepdog:test2
-
-
diff --git a/tests/storagevolxml2xmltest.c b/tests/storagevolxml2xmltest.c
index ed24d98426..792bc5502a 100644
--- a/tests/storagevolxml2xmltest.c
+++ b/tests/storagevolxml2xmltest.c
@@ -93,7 +93,6 @@ mymain(void)
DO_TEST("pool-disk", "vol-partition");
DO_TEST("pool-logical", "vol-logical");
DO_TEST("pool-logical", "vol-logical-backing");
- DO_TEST("pool-sheepdog", "vol-sheepdog");
DO_TEST("pool-gluster", "vol-gluster-dir");
DO_TEST("pool-gluster", "vol-gluster-dir-neg-uid");
DO_TEST_FULL("pool-dir", "vol-qcow2-nocapacity",
diff --git a/tests/virjsondata/deflatten-qemu-sheepdog-in.json b/tests/virj=
sondata/deflatten-qemu-sheepdog-in.json
deleted file mode 100644
index 7c0286300f..0000000000
--- a/tests/virjsondata/deflatten-qemu-sheepdog-in.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "driver": "raw",
- "file": {
- "server.host": "10.10.10.10",
- "server.port": "7000",
- "tag": "",
- "driver": "sheepdog",
- "server.type": "inet",
- "vdi": "Alice"
- }
-}
diff --git a/tests/virjsondata/deflatten-qemu-sheepdog-out.json b/tests/vir=
jsondata/deflatten-qemu-sheepdog-out.json
deleted file mode 100644
index 258b44a76c..0000000000
--- a/tests/virjsondata/deflatten-qemu-sheepdog-out.json
+++ /dev/null
@@ -1,13 +0,0 @@
-{
- "driver": "raw",
- "file": {
- "server": {
- "host": "10.10.10.10",
- "port": "7000",
- "type": "inet"
- },
- "tag": "",
- "driver": "sheepdog",
- "vdi": "Alice"
- }
-}
diff --git a/tests/virjsontest.c b/tests/virjsontest.c
index 5e26de1f22..c200843245 100644
--- a/tests/virjsontest.c
+++ b/tests/virjsontest.c
@@ -608,7 +608,6 @@ mymain(void)
DO_TEST_DEFLATTEN("double-key", false);
DO_TEST_DEFLATTEN("concat", true);
DO_TEST_DEFLATTEN("concat-double-key", false);
- DO_TEST_DEFLATTEN("qemu-sheepdog", true);
DO_TEST_DEFLATTEN("dotted-array", true);
=20
return (ret =3D=3D 0) ? EXIT_SUCCESS : EXIT_FAILURE;
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index 1b211b60e6..6c5d35568d 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -1465,27 +1465,6 @@ mymain(void)
"\n"
" \n"
" \n");
- TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"sheepdog\","
- "\"vdi\":\"test\","
- "\"server\":{ \"type\":\"inet\","
- "\"host\":\"example.co=
m\","
- "\"port\":\"321\""
- "}"
- "}"
- "}",
- "\n"
- " \n"
- " \n");
- TEST_BACKING_PARSE("json:{\"driver\": \"raw\","
- "\"file\": {\"server.host\": \"10.10.10.10\","
- "\"server.port\": \"7000\","
- "\"tag\": \"\","
- "\"driver\": \"sheepdog\","
- "\"server.type\": \"inet\","
- "\"vdi\": \"Alice\"}}",
- "\n"
- " \n"
- " \n");
TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"vxhs\","
"\"vdisk-id\":\"c6718f6b-0401-441d-=
a8c3-1f0064d75ee0\","
"\"server\": { \"host\":\"example.=
com\","
diff --git a/tools/virsh-pool.c b/tools/virsh-pool.c
index e8d3c33506..831eabae85 100644
--- a/tools/virsh-pool.c
+++ b/tools/virsh-pool.c
@@ -1224,9 +1224,6 @@ cmdPoolList(vshControl *ctl, const vshCmd *cmd G_GNUC=
_UNUSED)
case VIR_STORAGE_POOL_RBD:
flags |=3D VIR_CONNECT_LIST_STORAGE_POOLS_RBD;
break;
- case VIR_STORAGE_POOL_SHEEPDOG:
- flags |=3D VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG;
- break;
case VIR_STORAGE_POOL_GLUSTER:
flags |=3D VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER;
break;
diff --git a/tools/virsh.c b/tools/virsh.c
index 7d7109cfdf..0060628a53 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -577,9 +577,6 @@ virshShowVersion(vshControl *ctl G_GNUC_UNUSED)
#ifdef WITH_STORAGE_RBD
vshPrint(ctl, " RBD");
#endif
-#ifdef WITH_STORAGE_SHEEPDOG
- vshPrint(ctl, " Sheepdog");
-#endif
#ifdef WITH_STORAGE_GLUSTER
vshPrint(ctl, " Gluster");
#endif
--=20
2.30.2