[PATCH 3/5] Remove support for building the sheepdog storage driver backend

Peter Krempa pkrempa at redhat.com
Mon Aug 22 14:48:14 UTC 2022


The sheepdog project is unmaintained, with last commit in 2018 and
numerous unanswered issues reported.

Remove the libvirt storage driver support for it to follow the removal
of the client support in qemu.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 docs/formatstorage.rst        |  6 ++++--
 docs/storage.rst              |  3 ++-
 meson.build                   |  9 +--------
 meson_options.txt             |  2 +-
 src/storage/meson.build       | 25 -------------------------
 src/storage/storage_backend.c |  6 ------
 tools/virsh.c                 |  3 ---
 7 files changed, 8 insertions(+), 46 deletions(-)

diff --git a/docs/formatstorage.rst b/docs/formatstorage.rst
index a8149e450c..97671efacf 100644
--- a/docs/formatstorage.rst
+++ b/docs/formatstorage.rst
@@ -1,4 +1,5 @@
 .. role:: since
+.. role:: removed

 ==================================
 Storage pool and volume XML format
@@ -17,8 +18,9 @@ volume size, or placement.
 The top level tag for a storage pool document is 'pool'. It has a single
 attribute ``type``, which is one of ``dir``, ``fs``, ``netfs``, ``disk``,
 ``iscsi``, ``logical``, ``scsi`` (all :since:`since 0.4.1` ), ``mpath`` (
-:since:`since 0.7.1` ), ``rbd`` ( :since:`since 0.9.13` ), ``sheepdog`` (
-:since:`since 0.10.0` ), ``gluster`` ( :since:`since 1.2.0` ), ``zfs`` (
+:since:`since 0.7.1` ), ``rbd`` ( :since:`since 0.9.13` ),
+``sheepdog`` (:since:`since 0.10.0`, :removed:`removed in 8.7.0` ),
+``gluster`` ( :since:`since 1.2.0` ), ``zfs`` (
 :since:`since 1.2.8` ), ``vstorage`` ( :since:`since 3.1.0` ), or
 ``iscsi-direct`` ( :since:`since 4.7.0` ). This corresponds to the storage
 backend drivers listed further along in this document.
diff --git a/docs/storage.rst b/docs/storage.rst
index 9d5b193e31..af4db256c0 100644
--- a/docs/storage.rst
+++ b/docs/storage.rst
@@ -1,4 +1,5 @@
 .. role:: since
+.. role:: removed

 ==================
 Storage Management
@@ -575,7 +576,7 @@ Sheepdog pool
 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:`Since 0.9.13`
+already be formatted. :since:`Introduced in 0.9.13` :removed:`removed in 8.7.0.`

 Example Sheepdog pool input
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
diff --git a/meson.build b/meson.build
index 0b3187ad88..abfae91ee9 100644
--- a/meson.build
+++ b/meson.build
@@ -1917,13 +1917,7 @@ if conf.has('WITH_LIBVIRTD')
   endif

   if not get_option('storage_sheepdog').disabled()
-    sheepdogcli_prog = find_program('dog', required: get_option('storage_sheepdog'), dirs: libvirt_sbin_path)
-
-    if sheepdogcli_prog.found()
-      use_storage = true
-      conf.set('WITH_STORAGE_SHEEPDOG', 1)
-      conf.set_quoted('SHEEPDOGCLI', sheepdogcli_prog.path())
-    endif
+    error('The sheepdog storage backend is no longer supported')
   endif

   if not get_option('storage_vstorage').disabled()
@@ -2251,7 +2245,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 5b43cdbd6b..00b6df8254 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -88,7 +88,7 @@ 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_sheepdog', type: 'feature', value: 'disabled', description: 'option flag preserved for compatibility')
 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/src/storage/meson.build b/src/storage/meson.build
index 26e7ff1a1a..a8b173db96 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',
 ]
@@ -239,27 +235,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 3e7a5ae67d..d6e02a47a8 100644
--- a/src/storage/storage_backend.c
+++ b/src/storage/storage_backend.c
@@ -55,9 +55,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
@@ -129,9 +126,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/tools/virsh.c b/tools/virsh.c
index 4a4ceef4ec..b37d2ce12f 100644
--- a/tools/virsh.c
+++ b/tools/virsh.c
@@ -579,9 +579,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.37.1



More information about the libvir-list mailing list