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] <
https://github.com/sheepdog/sheepdog/commits/master>
[2] <
https://repology.org/project/sheepdog/versions>
Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
---
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-qcow2.json
delete mode 100644 tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.xml
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.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.
</serial>
</disk>
...
- <disk type='network'>
- <driver name="qemu" type="raw" io="threads"
ioeventfd="on" event_idx="off"/>
- <source protocol="sheepdog" name="image_name">
- <host name="hostname" port="7000"/>
- </source>
- <target dev="hdb" bus="ide"/>
- <boot order='1'/>
- <transient/>
- <address type='drive' controller='0' bus='1'
unit='0'/>
- </disk>
<disk type='network'>
<driver name="qemu" type="raw"/>
<source protocol="rbd" name="image_name2">
@@ -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", "sheepdog",
+ requested image. Possible values are "nbd", "iscsi",
"rbd",
"gluster", "vxhs", "nfs", "http",
"https", "ftp", ftps", or "tftp".
For any ``protocol`` other than ``nbd`` an additional attribute ``name``
@@ -2683,7 +2673,6 @@ paravirtualized driver is specified via the ``disk`` element.
nbd a server running nbd-server only one
10809
iscsi an iSCSI server only one
3260
rbd monitor servers of RBD one or more
librados default
- sheepdog one of the sheepdog servers (default is localhost:7000) zero 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 only one
9999
nfs a server running Network File System only 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 <span class="since">since 0.4.1</span>),
<code>mpath</code> (<span class="since">since
0.7.1</span>),
<code>rbd</code> (<span class="since">since
0.9.13</span>),
- <code>sheepdog</code> (<span class="since">since
0.10.0</span>),
<code>gluster</code> (<span class="since">since
1.2.0</span>),
<code>zfs</code> (<span class="since">since
1.2.8</span>),
<code>vstorage</code> (<span class="since">since
3.1.0</span>),
@@ -372,7 +371,7 @@
<dd>Provides the source for pools backed by storage from a
remote server (pool types <code>netfs</code>,
<code>iscsi</code>,
<code>iscsi-direct</code>,
- <code>rbd</code>, <code>sheepdog</code>,
<code>gluster</code>). Will be
+ <code>rbd</code>, <code>gluster</code>). Will be
used in combination with a <code>directory</code>
or <code>device</code> element. Contains an attribute
<code>name</code>
which is the hostname or IP address of the server. May optionally
@@ -419,7 +418,7 @@
<dt><code>name</code></dt>
<dd>Provides the source for pools backed by storage from a
named element (pool types <code>logical</code>,
<code>rbd</code>,
- <code>sheepdog</code>, <code>gluster</code>). Contains
a
+ <code>gluster</code>). Contains a
string identifier.
<span class="since">Since 0.4.5</span></dd>
<dt><code>format</code></dt>
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.
-* libvirt-daemon-driver-storage-sheepdog
-
- The dynamically loadable driver providing an implementation of the SheepDog
- network storage pool type, for the storage pool management APIs.
-
-
* libvirt-daemon-driver-storage-zfs
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.
[*--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).
[*--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).
[*--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).
[*--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 exclusive 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'.
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 @@
<interleave>
<attribute name="protocol">
<choice>
- <value>sheepdog</value>
<value>ftp</value>
<value>tftp</value>
</choice>
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 @@
<ref name="poolscsi"/>
<ref name="poolmpath"/>
<ref name="poolrbd"/>
- <ref name="poolsheepdog"/>
<ref name="poolgluster"/>
<ref name="poolzfs"/>
<ref name="poolvstorage"/>
@@ -172,18 +171,6 @@
</optional>
</define>
- <define name="poolsheepdog">
- <attribute name="type">
- <value>sheepdog</value>
- </attribute>
- <interleave>
- <ref name="commonMetadataNameOptional"/>
- <ref name="sizing"/>
- <ref name="features"/>
- <ref name="sourcesheepdog"/>
- </interleave>
- </define>
-
<define name="poolgluster">
<attribute name="type">
<value>gluster</value>
@@ -699,15 +686,6 @@
</element>
</define>
- <define name="sourcesheepdog">
- <element name="source">
- <interleave>
- <ref name="sourceinfohost"/>
- <ref name="sourceinfoname"/>
- </interleave>
- </element>
- </define>
-
<define name="sourcegluster">
<element name="source">
<interleave>
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.
</p>
- <h2><a id="StorageBackendSheepdog">Sheepdog
pool</a></h2>
- <p>
- 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.
-
- <span class="since">Since 0.9.13</span>
- </p>
-
- <h3>Example pool input</h3>
- <pre>
-<pool type="sheepdog">
- <name>mysheeppool</name>
- <source>
- <name>mysheeppool</name>
- <host name='localhost' port='7000'/>
- </source>
-</pool></pre>
-
- <h3>Example volume output</h3>
- <pre>
-<volume>
- <name>myvol</name>
- <key>sheep/myvol</key>
- <source>
- </source>
- <capacity unit='bytes'>53687091200</capacity>
- <allocation unit='bytes'>53687091200</allocation>
- <target>
- <path>sheepdog:myvol</path>
- <format type='unknown'/>
- <permissions>
- <mode>00</mode>
- <owner>0</owner>
- <group>0</group>
- </permissions>
- </target>
-</volume></pre>
-
- <h3>Example disk attachment</h3>
- <p>Sheepdog images can be attached to QEMU guests.
- Information about attaching a Sheepdog image to a
- guest can be found
- at the <a href="formatdomain.html#elementsDisks">format
domain</a>
- page.</p>
-
- <h3>Valid pool format types</h3>
- <p>
- The Sheepdog pool does not use the pool format type element.
- </p>
-
- <h3>Valid volume format types</h3>
- <p>
- The Sheepdog pool does not use the volume format type element.
- </p>
-
<h2><a id="StorageBackendGluster">Gluster
pool</a></h2>
<p>
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 @@
# 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
%define with_storage_gluster 0%{!?_without_storage_gluster:1}
%ifnarch %{arches_qemu_kvm}
@@ -341,9 +336,6 @@ BuildRequires: librbd1-devel
BuildRequires: glusterfs-api-devel >= 3.4.1
BuildRequires: glusterfs-devel >= 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
-%if %{with_storage_sheepdog}
-%package daemon-driver-storage-sheepdog
-Summary: Storage driver plugin for sheepdog
-Requires: libvirt-daemon-driver-storage-core = %{version}-%{release}
-Requires: libvirt-libs = %{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 =
%{version}-%{release}
%if %{with_storage_rbd}
Requires: libvirt-daemon-driver-storage-rbd = %{version}-%{release}
%endif
-%if %{with_storage_sheepdog}
-Requires: libvirt-daemon-driver-storage-sheepdog = %{version}-%{release}
-%endif
%if %{with_storage_zfs}
Requires: libvirt-daemon-driver-storage-zfs = %{version}-%{release}
%endif
@@ -1056,12 +1032,6 @@ exit 1
%define arg_storage_rbd -Dstorage_rbd=disabled
%endif
-%if %{with_storage_sheepdog}
- %define arg_storage_sheepdog -Dstorage_sheepdog=enabled
-%else
- %define arg_storage_sheepdog -Dstorage_sheepdog=disabled
-%endif
-
%if %{with_storage_gluster}
%define arg_storage_gluster -Dstorage_gluster=enabled -Dglusterfs=enabled
%else
@@ -1172,7 +1142,6 @@ export SOURCE_DATE_EPOCH=$(stat --printf='%Y'
%{_specdir}/%{name}.spec)
-Dstorage_disk=enabled \
-Dstorage_mpath=enabled \
%{?arg_storage_rbd} \
- %{?arg_storage_sheepdog} \
%{?arg_storage_gluster} \
%{?arg_storage_zfs} \
-Dstorage_vstorage=disabled \
@@ -1733,11 +1702,6 @@ exit 0
%{_libdir}/%{name}/storage-backend/libvirt_storage_backend_rbd.so
%endif
-%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
- if not get_option('storage_sheepdog').disabled()
- use_storage = true
- conf.set('WITH_STORAGE_SHEEPDOG', 1)
- endif
-
if not get_option('storage_vstorage').disabled()
vstorage_enable = true
if host_machine.system() != 'linux'
@@ -2136,7 +2131,6 @@ storagedriver_summary = {
'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', description: 'LVM backend
option('storage_mpath', type: 'feature', value: 'auto',
description: 'mpath 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: 'Sheepdog backend for the storage driver')
option('storage_vstorage', type: 'feature', value: 'auto',
description: 'Virtuozzo storage backend for the storage driver')
option('storage_zfs', type: 'feature', value: 'auto',
description: 'ZFS backend for the storage driver')
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=disabled \
-Dstorage_rbd=disabled \
-Dstorage_scsi=disabled \
- -Dstorage_sheepdog=disabled \
-Dstorage_vstorage=disabled \
-Dstorage_zfs=disabled \
-Dsysctl_config=disabled \
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(a)src/storage/storage_backend_mpath.c
@SRCDIR(a)src/storage/storage_backend_rbd.c
@SRCDIR(a)src/storage/storage_backend_scsi.c
-@SRCDIR(a)src/storage/storage_backend_sheepdog.c
@SRCDIR(a)src/storage/storage_backend_vstorage.c
@SRCDIR(a)src/storage/storage_backend_zfs.c
@SRCDIR(a)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(virStorageSource *src,
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",
);
@@ -246,13 +246,6 @@ static virStoragePoolTypeInfo poolTypeInfo[] = {
.formatToString = virStorageFileFormatTypeToString,
}
},
- {.poolType = VIR_STORAGE_POOL_SHEEPDOG,
- .poolOptions = {
- .flags = (VIR_STORAGE_POOL_SOURCE_HOST |
- VIR_STORAGE_POOL_SOURCE_NETWORK |
- VIR_STORAGE_POOL_SOURCE_NAME),
- },
- },
{.poolType = VIR_STORAGE_POOL_GLUSTER,
.poolOptions = {
.flags = (VIR_STORAGE_POOL_SOURCE_HOST |
@@ -1212,10 +1205,9 @@ virStoragePoolDefFormatBuf(virBuffer *buf,
if (virStoragePoolSourceFormat(buf, options, &def->source) < 0)
return -1;
- /* 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 != VIR_STORAGE_POOL_RBD &&
- def->type != VIR_STORAGE_POOL_SHEEPDOG &&
def->type != VIR_STORAGE_POOL_GLUSTER &&
def->type != VIR_STORAGE_POOL_ISCSI_DIRECT) {
virBufferAddLit(buf, "<target>\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(virStorageNetProtocol protocol)
case VIR_STORAGE_NET_PROTOCOL_TFTP:
return 69;
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- return 7000;
-
case VIR_STORAGE_NET_PROTOCOL_NBD:
return 10809;
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 *payload,
return 1;
break;
- case VIR_STORAGE_POOL_SHEEPDOG:
- if (data->def->type == 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 == obj->def->type)
@@ -1986,8 +1979,6 @@ virStoragePoolObjMatch(virStoragePoolObj *obj,
(obj->def->type == VIR_STORAGE_POOL_MPATH)) ||
(MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_RBD) &&
(obj->def->type == VIR_STORAGE_POOL_RBD)) ||
- (MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG) &&
- (obj->def->type == VIR_STORAGE_POOL_SHEEPDOG)) ||
(MATCH(VIR_CONNECT_LIST_STORAGE_POOLS_GLUSTER) &&
(obj->def->type == 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 *src,
}
-static virJSONValue *
-qemuBlockStorageSourceGetSheepdogProps(virStorageSource *src)
-{
- g_autoptr(virJSONValue) serverprops = NULL;
- virJSONValue *ret = NULL;
-
- if (src->nhosts != 1) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("sheepdog protocol accepts only one host"));
- return NULL;
- }
-
- serverprops = qemuBlockStorageSourceBuildJSONSocketAddress(&src->hosts[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(virStorageSource *src,
return NULL;
break;
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- driver = "sheepdog";
- if (!(fileprops = qemuBlockStorageSourceGetSheepdogProps(src)))
- return NULL;
- break;
-
case VIR_STORAGE_NET_PROTOCOL_SSH:
driver = "ssh";
if (!(fileprops = qemuBlockStorageSourceGetSshProps(src)))
@@ -2216,7 +2182,6 @@ qemuBlockGetBackingStoreString(virStorageSource *src,
return virURIFormat(uri);
- 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(virStorageSource *src,
return -1;
break;
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- driver = "sheepdog";
- if (!(location = qemuBlockStorageSourceGetSheepdogProps(src)))
- return -1;
- break;
-
case VIR_STORAGE_NET_PROTOCOL_SSH:
driver = "ssh";
if (!(location = 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 = qemuBuildNetworkDriveURI(src, secinfo);
break;
- case VIR_STORAGE_NET_PROTOCOL_SHEEPDOG:
- if (!src->path) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("missing disk source for 'sheepdog'
protocol"));
- return NULL;
- }
-
- if (src->nhosts == 0) {
- ret = g_strdup_printf("sheepdog:%s", src->path);
- } else if (src->nhosts == 1) {
- ret = g_strdup_printf("sheepdog:%s:%u:%s",
src->hosts->name,
- src->hosts->port, src->path);
- } else {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("protocol 'sheepdog' accepts up to one
host"));
- 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;
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(virDomainSnapshotDiskDef
*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 = [
'storage_backend_scsi.c',
]
-storage_backend_sheepdog_sources = [
- 'storage_backend_sheepdog.c',
-]
-
storage_backend_vstorage_sources = [
'storage_backend_vstorage.c',
]
@@ -238,27 +234,6 @@ if conf.has('WITH_STORAGE_SCSI')
}
endif
-if conf.has('WITH_STORAGE_SHEEPDOG')
- storage_backend_sheepdog_priv_lib = static_library(
- 'virt_storage_backend_sheepdog_priv',
- storage_backend_sheepdog_sources,
- dependencies: [
- src_dep,
- ],
- include_directories: [
- conf_inc_dir,
- ],
- )
-
- virt_modules += {
- '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 += {
'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_GNUC_UNUSED)
#if WITH_STORAGE_RBD
VIR_STORAGE_BACKEND_REGISTER(virStorageBackendRBDRegister, "rbd");
#endif
-#if WITH_STORAGE_SHEEPDOG
- VIR_STORAGE_BACKEND_REGISTER(virStorageBackendSheepdogRegister,
"sheepdog");
-#endif
#if WITH_STORAGE_GLUSTER
VIR_STORAGE_BACKEND_REGISTER(virStorageBackendGlusterRegister, "gluster");
#endif
diff --git a/src/storage/storage_backend_sheepdog.c
b/src/storage/storage_backend_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
- * <
http://www.gnu.org/licenses/>.
- */
-
-#include <config.h>
-
-#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 = pool->capacity = pool->available = 0;
-
- p = output;
- do {
- char *end;
-
- if ((next = strchr(p, '\n')))
- ++next;
- else
- break;
-
- if (!STRPREFIX(p, "Total "))
- continue;
-
- p = p + 6;
-
- if (virStrToLong_ull(p, &end, 10, &pool->capacity) < 0)
- break;
-
- if ((p = end + 1) > next)
- break;
-
- if (virStrToLong_ull(p, &end, 10, &pool->allocation) < 0)
- break;
-
- pool->available = pool->capacity - pool->allocation;
- return 0;
-
- } while ((p = next));
-
- return -1;
-}
-
-void
-virStorageBackendSheepdogAddHostArg(virCommand *cmd,
- virStoragePoolObj *pool)
-{
- virStoragePoolDef *def = virStoragePoolObjGetDef(pool);
- const char *address = "localhost";
- int port = 7000;
- if (def->source.nhost > 0) {
- if (def->source.hosts[0].name != NULL)
- address = def->source.hosts[0].name;
- if (def->source.hosts[0].port)
- port = 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 *diskInfo)
-{
- g_autoptr(virStorageVolDef) vol = NULL;
-
- if (diskInfo == NULL) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Missing disk info when adding volume"));
- return -1;
- }
-
- vol = g_new0(virStorageVolDef, 1);
-
- vol->name = g_strdup(diskInfo);
-
- vol->type = VIR_STORAGE_VOL_NETWORK;
-
- if (virStorageBackendSheepdogRefreshVol(pool, vol) < 0)
- return -1;
-
- if (virStoragePoolObjAddVol(pool, vol) < 0)
- return -1;
- vol = NULL;
-
- return 0;
-}
-
-static int
-virStorageBackendSheepdogRefreshAllVol(virStoragePoolObj *pool)
-{
- size_t i;
- g_autofree char *output = NULL;
- g_auto(GStrv) lines = NULL;
- g_autoptr(virCommand) cmd = NULL;
-
- cmd = virCommandNewArgList(SHEEPDOGCLI, "vdi", "list",
"-r", NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0)
- return -1;
-
- lines = g_strsplit(output, "\n", 0);
- if (lines == NULL)
- return -1;
-
- for (i = 0; lines[i]; i++) {
- g_auto(GStrv) cells = NULL;
-
- cells = g_strsplit(lines[i], " ", 0);
-
- if (cells != NULL && cells[0] && cells[1]) {
- if (virStorageBackendSheepdogAddVolume(pool, cells[1]) < 0)
- return -1;
- }
- }
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogRefreshPool(virStoragePoolObj *pool)
-{
- g_autofree char *output = NULL;
- g_autoptr(virCommand) cmd = NULL;
-
- cmd = virCommandNewArgList(SHEEPDOGCLI, "node", "info",
"-r", NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- virCommandSetOutputBuffer(cmd, &output);
- if (virCommandRun(cmd, NULL) < 0)
- return -1;
-
- if (virStorageBackendSheepdogParseNodeInfo(virStoragePoolObjGetDef(pool),
- output) < 0)
- return -1;
-
- return virStorageBackendSheepdogRefreshAllVol(pool);
-}
-
-
-static int
-virStorageBackendSheepdogDeleteVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd = NULL;
-
- virCheckFlags(0, -1);
-
- cmd = virCommandNewArgList(SHEEPDOGCLI, "vdi", "delete",
vol->name, NULL);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- return virCommandRun(cmd, NULL);
-}
-
-
-static int
-virStorageBackendSheepdogCreateVol(virStoragePoolObj *pool,
- virStorageVolDef *vol)
-{
- virStoragePoolDef *def = virStoragePoolObjGetDef(pool);
-
- if (vol->target.encryption != NULL) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- "%s", _("storage pool does not support encrypted
"
- "volumes"));
- return -1;
- }
-
- vol->type = VIR_STORAGE_VOL_NETWORK;
-
- VIR_FREE(vol->key);
- vol->key = g_strdup_printf("%s/%s", def->source.name, vol->name);
-
- VIR_FREE(vol->target.path);
- vol->target.path = g_strdup(vol->name);
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogBuildVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd = NULL;
-
- virCheckFlags(0, -1);
-
- if (!vol->target.capacity) {
- virReportError(VIR_ERR_NO_SUPPORT, "%s",
- _("volume capacity required for this pool"));
- return -1;
- }
-
- cmd = 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
- * = test 3 10 0 0 1336557216 7c2b27
- */
-
- int id;
- const char *p, *next;
-
- vol->target.allocation = vol->target.capacity = 0;
-
- p = output;
- do {
- char *end;
-
- if ((next = strchr(p, '\n')))
- ++next;
-
- /* ignore snapshots */
- if (*p != '=')
- continue;
-
- /* skip space */
- if (p + 2 < next)
- p += 2;
- else
- return -1;
-
- /* skip name */
- while (*p != '\0' && *p != ' ') {
- if (*p == '\\')
- ++p;
- ++p;
- }
-
- if (virStrToLong_i(p, &end, 10, &id) < 0)
- return -1;
-
- p = end + 1;
-
- if (virStrToLong_ull(p, &end, 10, &vol->target.capacity) < 0)
- return -1;
-
- p = end + 1;
-
- if (virStrToLong_ull(p, &end, 10, &vol->target.allocation) < 0)
- return -1;
-
- return 0;
- } while ((p = next));
-
- return -1;
-}
-
-static int
-virStorageBackendSheepdogRefreshVol(virStoragePoolObj *pool,
- virStorageVolDef *vol)
-{
- char *output = NULL;
- virStoragePoolDef *def = virStoragePoolObjGetDef(pool);
- g_autoptr(virCommand) cmd = NULL;
-
- cmd = 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 = VIR_STORAGE_VOL_NETWORK;
-
- VIR_FREE(vol->key);
- vol->key = g_strdup_printf("%s/%s", def->source.name, vol->name);
-
- VIR_FREE(vol->target.path);
- vol->target.path = g_strdup(vol->name);
-
- return 0;
-}
-
-
-static int
-virStorageBackendSheepdogResizeVol(virStoragePoolObj *pool,
- virStorageVolDef *vol,
- unsigned long long capacity,
- unsigned int flags)
-{
- g_autoptr(virCommand) cmd = NULL;
-
- virCheckFlags(0, -1);
-
- cmd = virCommandNewArgList(SHEEPDOGCLI, "vdi", "resize",
vol->name, NULL);
- virCommandAddArgFormat(cmd, "%llu", capacity);
- virStorageBackendSheepdogAddHostArg(cmd, pool);
- return virCommandRun(cmd, NULL);
-}
-
-
-
-virStorageBackend virStorageBackendSheepdog = {
- .type = VIR_STORAGE_POOL_SHEEPDOG,
-
- .refreshPool = virStorageBackendSheepdogRefreshPool,
- .createVol = virStorageBackendSheepdogCreateVol,
- .buildVol = virStorageBackendSheepdogBuildVol,
- .refreshVol = virStorageBackendSheepdogRefreshVol,
- .deleteVol = virStorageBackendSheepdogDeleteVol,
- .resizeVol = virStorageBackendSheepdogResizeVol,
-};
-
-
-int
-virStorageBackendSheepdogRegister(void)
-{
- return virStorageBackendRegister(&virStorageBackendSheepdog);
-}
diff --git a/src/storage/storage_backend_sheepdog.h
b/src/storage/storage_backend_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
- * <
http://www.gnu.org/licenses/>.
- */
-
-#pragma once
-
-int virStorageBackendSheepdogRegister(void);
diff --git a/src/storage/storage_backend_sheepdog_priv.h
b/src/storage/storage_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
- * <
http://www.gnu.org/licenses/>.
- */
-
-#ifndef LIBVIRT_STORAGE_BACKEND_SHEEPDOG_PRIV_H_ALLOW
-# error "storage_backend_sheepdog_priv.h may only be included by
storage_backend_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,
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 = g_strdup(data->path);
diff --git a/src/storage_file/storage_source_backingstore.c
b/src/storage_file/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;
- 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,
}
-static int
-virStorageSourceParseBackingJSONSheepdog(virStorageSource *src,
- virJSONValue *json,
- const char *jsonstr G_GNUC_UNUSED,
- int opaque G_GNUC_UNUSED)
-{
- const char *filename;
- const char *vdi = virJSONValueObjectGetString(json, "vdi");
- virJSONValue *server = virJSONValueObjectGetObject(json, "server");
-
- /* legacy URI based syntax passed via 'filename' option */
- if ((filename = 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 syntax */
- virReportError(VIR_ERR_INVALID_ARG, "%s",
- _("missing sheepdog URI in JSON backing volume
definition"));
- return -1;
- }
-
- src->type = VIR_STORAGE_TYPE_NETWORK;
- src->protocol = VIR_STORAGE_NET_PROTOCOL_SHEEPDOG;
-
- if (!vdi) {
- virReportError(VIR_ERR_INVALID_ARG, "%s", _("missing sheepdog vdi
name"));
- return -1;
- }
-
- src->path = g_strdup(vdi);
-
- src->hosts = g_new0(virStorageNetHostDef, 1);
- src->nhosts = 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[] =
{
{"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
-if conf.has('WITH_STORAGE_SHEEPDOG')
- tests += [
- { 'name': 'storagebackendsheepdogtest', 'link_with': [
storage_driver_impl_lib, storage_backend_sheepdog_priv_lib ] },
- ]
-endif
-
if conf.has('WITH_VBOX')
tests += [
{ '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("<source protocol='iscsi'
name='iqn.2016-12.com.virttest:emulated-iscsi-noauth.target/6'>\n"
" <host name='test.org'
port='1234'/>\n"
"</source>\n");
- TEST_JSON_FORMAT_NET("<source protocol='sheepdog'
name='test'>\n"
- " <host name='example.com'
port='321'/>\n"
- "</source>\n");
TEST_JSON_FORMAT_NET("<source protocol='vxhs'
name='c6718f6b-0401-441d-a8c3-1f0064d75ee0'>\n"
" <host name='example.com'
port='9999'/>\n"
"</source>\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);
#define TEST_BITMAP_DETECT(testname) \
do { \
diff --git a/tests/qemublocktestdata/imagecreate/network-sheepdog-qcow2.json
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 @@
-<disk device='disk' name='vda' type='network'>
- <driver type='qcow2'/>
- <source protocol='sheepdog' name='asdf/i.qcow2'>
- <host name='example.com' port='1234'/>
- <privateData>
- <nodenames>
- <nodename type='storage'
name='0123456789ABCDEF0123456789ABCDE'/>
- <nodename type='format'
name='0123456789ABCDEF0123456789ABCDE'/>
- </nodenames>
- </privateData>
- </source>
-</disk>
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/qemuxml2argvdata/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=C \
-PATH=/bin \
-HOME=/tmp/lib/domain--1-QEMUGuest1 \
-USER=test \
-LOGNAME=test \
-XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu-system-i386 \
--name QEMUGuest1 \
--S \
--machine pc,accel=tcg,usb=off,dump-guest-core=off \
--m 214 \
--realtime mlock=off \
--smp 1,sockets=1,cores=1,threads=1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev
socket,id=charmonitor,path=/tmp/lib/domain--1-QEMUGuest1/monitor.sock,server=on,wait=off
\
--mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=utc \
--no-shutdown \
--no-acpi \
--usb \
--drive file=/dev/HostVG/QEMU,,Guest,,,,1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
--drive
file=sheepdog:example.org:6000:image,,with,,commas,format=raw,if=none,id=drive-virtio-disk0
\
--device virtio-blk-pci,bus=pci.0,addr=0x3,drive=drive-virtio-disk0,id=virtio-disk0
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-2.12.0.args
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=C \
-PATH=/bin \
-HOME=/tmp/lib/domain--1-QEMUGuest1 \
-USER=test \
-LOGNAME=test \
-XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-QEMU_AUDIO_DRV=none \
-/usr/bin/qemu-system-i386 \
--name guest=QEMUGuest1,debug-threads=on \
--S \
--object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes
\
--machine pc-i440fx-2.12,accel=tcg,usb=off,dump-guest-core=off \
--m 214 \
--realtime mlock=off \
--smp 1,sockets=1,cores=1,threads=1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
--mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=utc \
--no-shutdown \
--no-acpi \
--boot strict=on \
--device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 \
--drive file=/dev/HostVG/QEMU,,Guest,,,,1,format=raw,if=none,id=drive-ide0-0-0 \
--device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 \
--drive
file=sheepdog:example.org:6000:image,,with,,commas,format=raw,if=none,id=drive-virtio-disk0
\
--device
virtio-blk-pci,scsi=off,bus=pci.0,addr=0x2,drive=drive-virtio-disk0,id=virtio-disk0 \
--sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
--msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.x86_64-latest.args
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=C \
-PATH=/bin \
-HOME=/tmp/lib/domain--1-QEMUGuest1 \
-USER=test \
-LOGNAME=test \
-XDG_DATA_HOME=/tmp/lib/domain--1-QEMUGuest1/.local/share \
-XDG_CACHE_HOME=/tmp/lib/domain--1-QEMUGuest1/.cache \
-XDG_CONFIG_HOME=/tmp/lib/domain--1-QEMUGuest1/.config \
-/usr/bin/qemu-system-i386 \
--name guest=QEMUGuest1,debug-threads=on \
--S \
--object
'{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/tmp/lib/domain--1-QEMUGuest1/master-key.aes"}'
\
--machine pc,accel=tcg,usb=off,dump-guest-core=off,memory-backend=pc.ram \
--cpu qemu64 \
--m 214 \
--object
'{"qom-type":"memory-backend-ram","id":"pc.ram","size":224395264}'
\
--overcommit mem-lock=off \
--smp 1,sockets=1,cores=1,threads=1 \
--uuid c7a5fdbd-edaf-9455-926a-d65c16db1809 \
--display none \
--no-user-config \
--nodefaults \
--chardev socket,id=charmonitor,fd=1729,server=on,wait=off \
--mon chardev=charmonitor,id=monitor,mode=control \
--rtc base=utc \
--no-shutdown \
--no-acpi \
--boot strict=on \
--device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.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=ide.0,unit=0,drive=libvirt-2-format,id=ide0-0-0,bootindex=1 \
--blockdev
'{"driver":"sheepdog","server":{"type":"inet","host":"example.org","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=pci.0,addr=0x2,drive=libvirt-1-format,id=virtio-disk0 \
--audiodev id=audio1,driver=none \
--sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
--msg timestamp=on
diff --git a/tests/qemuxml2argvdata/disk-network-sheepdog.xml
b/tests/qemuxml2argvdata/disk-network-sheepdog.xml
deleted file mode 100644
index 3d6d3b2ae9..0000000000
--- a/tests/qemuxml2argvdata/disk-network-sheepdog.xml
+++ /dev/null
@@ -1,37 +0,0 @@
-<domain type='qemu'>
- <name>QEMUGuest1</name>
- <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
- <memory unit='KiB'>219136</memory>
- <currentMemory unit='KiB'>219136</currentMemory>
- <vcpu placement='static'>1</vcpu>
- <os>
- <type arch='i686' machine='pc'>hvm</type>
- <boot dev='hd'/>
- </os>
- <clock offset='utc'/>
- <on_poweroff>destroy</on_poweroff>
- <on_reboot>restart</on_reboot>
- <on_crash>destroy</on_crash>
- <devices>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- <disk type='block' device='disk'>
- <driver name='qemu' type='raw'/>
- <source dev='/dev/HostVG/QEMU,Guest,,1'/>
- <target dev='hda' bus='ide'/>
- <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
- </disk>
- <disk type='network' device='disk'>
- <driver name='qemu' type='raw'/>
- <source protocol='sheepdog' name='image,with,commas'>
- <host name='example.org' port='6000'/>
- </source>
- <target dev='vda' bus='virtio'/>
- </disk>
- <controller type='usb' index='0'/>
- <controller type='ide' index='0'/>
- <controller type='pci' index='0' model='pci-root'/>
- <input type='mouse' bus='ps2'/>
- <input type='keyboard' bus='ps2'/>
- <memballoon model='none'/>
- </devices>
-</domain>
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/qemuxml2xmloutdata/disk-network-sheepdog.xml
deleted file mode 100644
index c1862e5a54..0000000000
--- a/tests/qemuxml2xmloutdata/disk-network-sheepdog.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<domain type='qemu'>
- <name>QEMUGuest1</name>
- <uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
- <memory unit='KiB'>219136</memory>
- <currentMemory unit='KiB'>219136</currentMemory>
- <vcpu placement='static'>1</vcpu>
- <os>
- <type arch='i686' machine='pc'>hvm</type>
- <boot dev='hd'/>
- </os>
- <clock offset='utc'/>
- <on_poweroff>destroy</on_poweroff>
- <on_reboot>restart</on_reboot>
- <on_crash>destroy</on_crash>
- <devices>
- <emulator>/usr/bin/qemu-system-i386</emulator>
- <disk type='block' device='disk'>
- <driver name='qemu' type='raw'/>
- <source dev='/dev/HostVG/QEMU,Guest,,1'/>
- <target dev='hda' bus='ide'/>
- <address type='drive' controller='0' bus='0'
target='0' unit='0'/>
- </disk>
- <disk type='network' device='disk'>
- <driver name='qemu' type='raw'/>
- <source protocol='sheepdog' name='image,with,commas'>
- <host name='example.org' port='6000'/>
- </source>
- <target dev='vda' bus='virtio'/>
- <address type='pci' domain='0x0000' bus='0x00'
slot='0x03' function='0x0'/>
- </disk>
- <controller type='usb' index='0'>
- <address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x2'/>
- </controller>
- <controller type='ide' index='0'>
- <address type='pci' domain='0x0000' bus='0x00'
slot='0x01' function='0x1'/>
- </controller>
- <controller type='pci' index='0' model='pci-root'/>
- <input type='mouse' bus='ps2'/>
- <input type='keyboard' bus='ps2'/>
- <audio id='1' type='none'/>
- <memballoon model='none'/>
- </devices>
-</domain>
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/storagebackendsheepdogtest.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
- * <
http://www.gnu.org/licenses/>.
- */
-
-#include <config.h>
-
-#include <unistd.h>
-
-#include <fcntl.h>
-
-#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 = opaque;
- collie_test test = data->data;
- g_autofree char *output = NULL;
- g_autoptr(virStoragePoolDef) pool = NULL;
-
- if (!(pool = virStoragePoolDefParseFile(data->poolxml)))
- return -1;
-
- output = g_strdup(test.output);
-
- if (virStorageBackendSheepdogParseNodeInfo(pool, output) !=
- test.expected_return)
- return -1;
-
- if (test.expected_return)
- return 0;
-
- if (pool->capacity == test.expected_capacity &&
- pool->allocation == test.expected_allocation)
- return 0;
-
- return -1;
-}
-
-static int
-test_vdi_list_parser(const void *opaque)
-{
- const struct testVDIListParserData *data = opaque;
- collie_test test = data->data;
- g_autofree char *output = NULL;
- g_autoptr(virStoragePoolDef) pool = NULL;
- g_autoptr(virStorageVolDef) vol = NULL;
-
- if (!(pool = virStoragePoolDefParseFile(data->poolxml)))
- return -1;
-
- if (!(vol = virStorageVolDefParseFile(pool, data->volxml, 0)))
- return -1;
-
- output = g_strdup(test.output);
-
- if (virStorageBackendSheepdogParseVdiList(vol, output) !=
- test.expected_return)
- return -1;
-
- if (test.expected_return)
- return 0;
-
- if (vol->target.capacity == test.expected_capacity &&
- vol->target.allocation == test.expected_allocation)
- return 0;
-
- return -1;
-}
-
-
-static int
-mymain(void)
-{
- int ret = 0;
- g_autofree char *poolxml = NULL;
- g_autofree char *volxml = NULL;
-
- collie_test node_info_tests[] = {
- {"", -1, 0, 0},
- {"Total 15245667872 117571104 0% 20972341\n", 0, 15245667872,
117571104},
- {"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[] = {
- {"", -1, 0, 0},
- {"= test 3 10 20 0 1336557216 7c2b27\n", 0, 10, 20},
- {"= test\\ with\\ spaces 3 10 20 0 1336557216 7c2b27\n", 0, 10, 20},
- {"= backslashattheend\\\\ 3 10 20 0 1336557216 7c2b27\n", 0, 10, 20},
- {"s test 1 10 20 0 1336556634 7c2b25\n= test 3 50 60 0 1336557216
7c2b27\n", 0, 50, 60},
- {"=", -1, 0, 0},
- {"= test", -1, 0, 0},
- {"= test ", -1, 0, 0},
- {"= test 1", -1, 0, 0},
- {"= test 1 ", -1, 0, 0},
- {"= test 1 2", -1, 0, 0},
- {"= test 1 2 ", -1, 0, 0},
- {"= test 1 2 3", -1, 0, 0},
- {NULL, 0, 0, 0}
- };
-
- collie_test *test = node_info_tests;
-
- poolxml = g_strdup_printf("%s/storagepoolxml2xmlin/pool-sheepdog.xml",
- abs_srcdir);
-
- volxml = g_strdup_printf("%s/storagevolxml2xmlin/vol-sheepdog.xml",
- abs_srcdir);
-
-#define DO_TEST_NODE(collie) \
- do { \
- struct testNodeInfoParserData data = { \
- .data = collie, \
- .poolxml = poolxml, \
- }; \
- if (virTestRun("node_info_parser", test_node_info_parser, \
- &data) < 0) \
- ret = -1; \
- } while (0)
-
- while (test->output != NULL) {
- DO_TEST_NODE(*test);
- ++test;
- }
-
-
-#define DO_TEST_VDI(collie) \
- do { \
- struct testVDIListParserData data = { \
- .data = collie, \
- .poolxml = poolxml, \
- .volxml = volxml, \
- }; \
- if (virTestRun("vdi_list_parser", test_vdi_list_parser, \
- &data) < 0) \
- ret = -1; \
- } while (0)
-
- test = vdi_list_tests;
-
- while (test->output != NULL) {
- DO_TEST_VDI(*test);
- ++test;
- }
-
- return ret == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
-}
-
-VIR_TEST_MAIN(mymain)
diff --git a/tests/storagepoolcapsschemadata/poolcaps-fs.xml
b/tests/storagepoolcapsschemadata/poolcaps-fs.xml
index eee75af746..ab5204b981 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-fs.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-fs.xml
@@ -152,8 +152,6 @@
</enum>
</volOptions>
</pool>
- <pool type='sheepdog' supported='no'>
- </pool>
<pool type='gluster' supported='no'>
<volOptions>
<defaultFormat type='raw'/>
diff --git a/tests/storagepoolcapsschemadata/poolcaps-full.xml
b/tests/storagepoolcapsschemadata/poolcaps-full.xml
index 805950a937..a1aaa7623e 100644
--- a/tests/storagepoolcapsschemadata/poolcaps-full.xml
+++ b/tests/storagepoolcapsschemadata/poolcaps-full.xml
@@ -152,8 +152,6 @@
</enum>
</volOptions>
</pool>
- <pool type='sheepdog' supported='yes'>
- </pool>
<pool type='gluster' supported='yes'>
<volOptions>
<defaultFormat type='raw'/>
diff --git a/tests/storagepoolxml2argvtest.c b/tests/storagepoolxml2argvtest.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/storagepoolxml2xmlin/pool-sheepdog.xml
deleted file mode 100644
index 49b6baf014..0000000000
--- a/tests/storagepoolxml2xmlin/pool-sheepdog.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<pool type='sheepdog'>
- <source>
- <name>sheepdog</name>
- <host name='localhost' port='7000'/>
- </source>
- <uuid>65fcba04-5b13-bd93-cff3-52ce48e11ad7</uuid>
- <name>sheepdog</name>
-</pool>
diff --git a/tests/storagepoolxml2xmlout/pool-sheepdog.xml
b/tests/storagepoolxml2xmlout/pool-sheepdog.xml
deleted file mode 100644
index 000c068677..0000000000
--- a/tests/storagepoolxml2xmlout/pool-sheepdog.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<pool type='sheepdog'>
- <name>sheepdog</name>
- <uuid>65fcba04-5b13-bd93-cff3-52ce48e11ad7</uuid>
- <capacity unit='bytes'>0</capacity>
- <allocation unit='bytes'>0</allocation>
- <available unit='bytes'>0</available>
- <source>
- <host name='localhost' port='7000'/>
- <name>sheepdog</name>
- </source>
-</pool>
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/storagevolxml2xmlin/vol-sheepdog.xml
deleted file mode 100644
index d6e920bb81..0000000000
--- a/tests/storagevolxml2xmlin/vol-sheepdog.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<volume type='network'>
- <name>test2</name>
- <source>
- </source>
- <capacity unit='bytes'>1024</capacity>
- <allocation unit='bytes'>0</allocation>
- <target>
- <path>sheepdog:test2</path>
- </target>
-</volume>
diff --git a/tests/storagevolxml2xmlout/vol-sheepdog.xml
b/tests/storagevolxml2xmlout/vol-sheepdog.xml
deleted file mode 100644
index 47fb8eb418..0000000000
--- a/tests/storagevolxml2xmlout/vol-sheepdog.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<volume type='network'>
- <name>test2</name>
- <capacity unit='bytes'>1024</capacity>
- <allocation unit='bytes'>0</allocation>
- <target>
- <path>sheepdog:test2</path>
- </target>
-</volume>
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/virjsondata/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/virjsondata/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);
return (ret == 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)
"<source protocol='iscsi'
name='iqn.2016-12.com.virttest:emulated-iscsi-noauth.target/6'>\n"
" <host name='[2001::0]'
port='3260'/>\n"
"</source>\n");
-
TEST_BACKING_PARSE("json:{\"file\":{\"driver\":\"sheepdog\","
- "\"vdi\":\"test\","
- "\"server\":{
\"type\":\"inet\","
-
"\"host\":\"example.com\","
-
"\"port\":\"321\""
- "}"
- "}"
- "}",
- "<source protocol='sheepdog'
name='test'>\n"
- " <host name='example.com'
port='321'/>\n"
- "</source>\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\"}}",
- "<source protocol='sheepdog'
name='Alice'>\n"
- " <host name='10.10.10.10'
port='7000'/>\n"
- "</source>\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 |= VIR_CONNECT_LIST_STORAGE_POOLS_RBD;
break;
- case VIR_STORAGE_POOL_SHEEPDOG:
- flags |= VIR_CONNECT_LIST_STORAGE_POOLS_SHEEPDOG;
- break;
case VIR_STORAGE_POOL_GLUSTER:
flags |= 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
--
2.30.2