[sheepdog] [PATCH v2 2/2] block: deprecate the sheepdog block driver
Philippe Mathieu-Daudé
philmd at redhat.com
Wed Sep 23 12:25:47 CEST 2020
On 9/22/20 6:16 PM, Daniel P. Berrangé wrote:
> 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.
>
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
> block/sheepdog.c | 15 +++++++++++++++
> configure | 5 +++--
> docs/system/deprecated.rst | 9 +++++++++
> 3 files changed, 27 insertions(+), 2 deletions(-)
>
> diff --git a/block/sheepdog.c b/block/sheepdog.c
> index cbbebc1aaf..7f68bd6a1a 100644
> --- a/block/sheepdog.c
> +++ b/block/sheepdog.c
> @@ -242,6 +242,17 @@ typedef struct SheepdogInode {
> */
> #define FNV1A_64_INIT ((uint64_t)0xcbf29ce484222325ULL)
>
> +static void deprecation_warning(void)
> +{
> + static bool warned = false;
Checkpatch warns there is no need to initialize static bool to false,
otherwise:
Reviewed-by: Philippe Mathieu-Daudé <philmd at redhat.com>
> +
> + if (!warned) {
> + warn_report("the sheepdog block driver is deprecated and will be "
> + "removed in a future release");
> + warned = true;
> + }
> +}
[...]
More information about the sheepdog
mailing list