* [PATCH v3 0/2] block: deprecate the sheepdog driver
@ 2020-10-02 11:32 Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file Daniel P. Berrangé
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2020-10-02 11:32 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Thomas Huth, sheepdog, qemu-block, libvir-list,
Markus Armbruster, Max Reitz, Daniel P. Berrangé,
Liu Yuan
2 years back I proposed dropping the sheepdog mailing list from the
MAINTAINERS file, but somehow the patch never got picked up:
https://lists.gnu.org/archive/html/qemu-block/2018-03/msg01048.html
So here I am with the same patch again.
This time I go further and deprecate the sheepdog driver entirely.
See the rationale in the second patch commit message.
Changes in v3:
- A few minor text changes
- Don't initialize static variable to false
Daniel P. Berrangé (2):
block: drop moderated sheepdog mailing list from MAINTAINERS file
block: deprecate the sheepdog block driver
MAINTAINERS | 1 -
block/sheepdog.c | 14 ++++++++++++++
configure | 5 +++--
docs/system/deprecated.rst | 9 +++++++++
4 files changed, 26 insertions(+), 3 deletions(-)
--
2.26.2
^ permalink raw reply [flat|nested] 5+ messages in thread
* [PATCH v3 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file
2020-10-02 11:32 [PATCH v3 0/2] block: deprecate the sheepdog driver Daniel P. Berrangé
@ 2020-10-02 11:32 ` Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 2/2] block: deprecate the sheepdog block driver Daniel P. Berrangé
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2020-10-02 11:32 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Thomas Huth, Vladimir Sementsov-Ogievskiy, sheepdog,
qemu-block, libvir-list, Markus Armbruster, Max Reitz,
Daniel P. Berrangé, Liu Yuan, Philippe Mathieu-Daudé
The sheepdog mailing list is setup to stop and queue messages from
non-subscribers, pending moderator approval. Unfortunately it seems
that the moderation queue is not actively dealt with. Even when messages
are approved, the sender is never added to the whitelist, so every
future mail from the same sender continues to get stopped for moderation.
MAINTAINERS entries should be responsive and not unneccessarily block
mails from QEMU contributors, so drop the sheepdog mailing list.
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
MAINTAINERS | 1 -
1 file changed, 1 deletion(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index b76fb31861..c7d6601adf 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2874,7 +2874,6 @@ F: block/rbd.c
Sheepdog
M: Liu Yuan <namei.unix@gmail.com>
L: qemu-block@nongnu.org
-L: sheepdog@lists.wpkg.org
S: Odd Fixes
F: block/sheepdog.c
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH v3 2/2] block: deprecate the sheepdog block driver
2020-10-02 11:32 [PATCH v3 0/2] block: deprecate the sheepdog driver Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file Daniel P. Berrangé
@ 2020-10-02 11:32 ` Daniel P. Berrangé
2020-10-02 21:23 ` [PATCH v3 0/2] block: deprecate the sheepdog driver Neal Gompa
2020-10-15 12:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Daniel P. Berrangé @ 2020-10-02 11:32 UTC (permalink / raw)
To: qemu-devel
Cc: Kevin Wolf, Thomas Huth, Vladimir Sementsov-Ogievskiy, sheepdog,
qemu-block, libvir-list, Markus Armbruster, Max Reitz,
Daniel P. Berrangé, Liu Yuan, Philippe Mathieu-Daudé
This thread from a little over a year ago:
http://lists.wpkg.org/pipermail/sheepdog/2019-March/thread.html
states that sheepdog is no longer actively developed. The only mentioned
users are some companies who are said to have it for legacy reasons with
plans to replace it by Ceph. There is talk about cutting out existing
features to turn it into a simple demo of how to write a distributed
block service. There is no evidence of anyone working on that idea:
https://github.com/sheepdog/sheepdog/commits/master
No real commits to git since Jan 2018, and before then just some minor
technical debt cleanup.
There is essentially no activity on the mailing list aside from
patches to QEMU that get CC'd due to our MAINTAINERS entry.
Fedora packages for sheepdog failed to build from upstream source
because of the more strict linker that no longer merges duplicate
global symbols. Fedora patches it to add the missing "extern"
annotations and presumably other distros do to, but upstream source
remains broken.
There is only basic compile testing, no functional testing of the
driver.
Since there are no build pre-requisites the sheepdog driver is currently
enabled unconditionally. This would result in configure issuing a
deprecation warning by default for all users. Thus the configure default
is changed to disable it, requiring users to pass --enable-sheepdog to
build the driver.
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
block/sheepdog.c | 14 ++++++++++++++
configure | 5 +++--
docs/system/deprecated.rst | 9 +++++++++
3 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/block/sheepdog.c b/block/sheepdog.c
index 2f5c0eb376..e270f2022c 100644
--- a/block/sheepdog.c
+++ b/block/sheepdog.c
@@ -242,6 +242,16 @@ typedef struct SheepdogInode {
*/
#define FNV1A_64_INIT ((uint64_t)0xcbf29ce484222325ULL)
+static void deprecation_warning(void)
+{
+ static bool warned;
+
+ if (!warned) {
+ warn_report("the sheepdog block driver is deprecated");
+ warned = true;
+ }
+}
+
/*
* 64 bit Fowler/Noll/Vo FNV-1a hash code
*/
@@ -1548,6 +1558,8 @@ static int sd_open(BlockDriverState *bs, QDict *options, int flags,
char *buf = NULL;
QemuOpts *opts;
+ deprecation_warning();
+
s->bs = bs;
s->aio_context = bdrv_get_aio_context(bs);
@@ -2007,6 +2019,8 @@ static int sd_co_create(BlockdevCreateOptions *options, Error **errp)
assert(options->driver == BLOCKDEV_DRIVER_SHEEPDOG);
+ deprecation_warning();
+
s = g_new0(BDRVSheepdogState, 1);
/* Steal SocketAddress from QAPI, set NULL to prevent double free */
diff --git a/configure b/configure
index ca9b458ea0..c5971fe560 100755
--- a/configure
+++ b/configure
@@ -533,7 +533,7 @@ vdi="yes"
vvfat="yes"
qed="yes"
parallels="yes"
-sheepdog="yes"
+sheepdog="no"
libxml2=""
debug_mutex="no"
libpmem=""
@@ -1940,7 +1940,7 @@ disabled with --disable-FEATURE, default is enabled if available:
vvfat vvfat image format support
qed qed image format support
parallels parallels image format support
- sheepdog sheepdog block driver support
+ sheepdog sheepdog block driver support (deprecated)
crypto-afalg Linux AF_ALG crypto backend driver
capstone capstone disassembler support
debug-mutex mutex debugging support
@@ -7200,6 +7200,7 @@ if test "$parallels" = "yes" ; then
echo "CONFIG_PARALLELS=y" >> $config_host_mak
fi
if test "$sheepdog" = "yes" ; then
+ add_to deprecated_features "sheepdog"
echo "CONFIG_SHEEPDOG=y" >> $config_host_mak
fi
if test "$pty_h" = "yes" ; then
diff --git a/docs/system/deprecated.rst b/docs/system/deprecated.rst
index da862201ba..fbc67b189b 100644
--- a/docs/system/deprecated.rst
+++ b/docs/system/deprecated.rst
@@ -376,6 +376,15 @@ The above, converted to the current supported format::
json:{"file.driver":"rbd", "file.pool":"rbd", "file.image":"name"}
+``sheepdog`` driver (since 5.2.0)
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+The ``sheepdog`` block device driver is deprecated. The corresponding upstream
+server project is no longer actively maintained. Users are recommended to switch
+to an alternative distributed block device driver such as RBD. The
+``qemu-img convert`` command can be used to liberate existing data by moving
+it out of sheepdog volumes into an alternative storage backend.
+
linux-user mode CPUs
--------------------
--
2.26.2
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v3 0/2] block: deprecate the sheepdog driver
2020-10-02 11:32 [PATCH v3 0/2] block: deprecate the sheepdog driver Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 2/2] block: deprecate the sheepdog block driver Daniel P. Berrangé
@ 2020-10-02 21:23 ` Neal Gompa
2020-10-15 12:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Neal Gompa @ 2020-10-02 21:23 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Kevin Wolf, Thomas Huth, sheepdog, qemu-block, libvir-list,
QEMU Developers, Markus Armbruster, Liu Yuan, Max Reitz
On Fri, Oct 2, 2020 at 7:34 AM Daniel P. Berrangé <berrange@redhat.com> wrote:
>
> 2 years back I proposed dropping the sheepdog mailing list from the
> MAINTAINERS file, but somehow the patch never got picked up:
>
> https://lists.gnu.org/archive/html/qemu-block/2018-03/msg01048.html
>
> So here I am with the same patch again.
>
> This time I go further and deprecate the sheepdog driver entirely.
> See the rationale in the second patch commit message.
>
> Changes in v3:
>
> - A few minor text changes
> - Don't initialize static variable to false
>
> Daniel P. Berrangé (2):
> block: drop moderated sheepdog mailing list from MAINTAINERS file
> block: deprecate the sheepdog block driver
>
> MAINTAINERS | 1 -
> block/sheepdog.c | 14 ++++++++++++++
> configure | 5 +++--
> docs/system/deprecated.rst | 9 +++++++++
> 4 files changed, 26 insertions(+), 3 deletions(-)
>
> --
> 2.26.2
>
Series looks good to me.
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
--
真実はいつも一つ!/ Always, there's only one truth!
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v3 0/2] block: deprecate the sheepdog driver
2020-10-02 11:32 [PATCH v3 0/2] block: deprecate the sheepdog driver Daniel P. Berrangé
` (2 preceding siblings ...)
2020-10-02 21:23 ` [PATCH v3 0/2] block: deprecate the sheepdog driver Neal Gompa
@ 2020-10-15 12:43 ` Kevin Wolf
3 siblings, 0 replies; 5+ messages in thread
From: Kevin Wolf @ 2020-10-15 12:43 UTC (permalink / raw)
To: Daniel P. Berrangé
Cc: Thomas Huth, sheepdog, qemu-block, libvir-list,
Markus Armbruster, qemu-devel, Max Reitz, Liu Yuan
Am 02.10.2020 um 13:32 hat Daniel P. Berrangé geschrieben:
> 2 years back I proposed dropping the sheepdog mailing list from the
> MAINTAINERS file, but somehow the patch never got picked up:
>
> https://lists.gnu.org/archive/html/qemu-block/2018-03/msg01048.html
>
> So here I am with the same patch again.
>
> This time I go further and deprecate the sheepdog driver entirely.
> See the rationale in the second patch commit message.
Thanks, applied to the block branch.
Kevin
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-10-15 12:44 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-02 11:32 [PATCH v3 0/2] block: deprecate the sheepdog driver Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 1/2] block: drop moderated sheepdog mailing list from MAINTAINERS file Daniel P. Berrangé
2020-10-02 11:32 ` [PATCH v3 2/2] block: deprecate the sheepdog block driver Daniel P. Berrangé
2020-10-02 21:23 ` [PATCH v3 0/2] block: deprecate the sheepdog driver Neal Gompa
2020-10-15 12:43 ` Kevin Wolf
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.