[PATCH] nvme: warn about shared namespaces without CONFIG_NVME_MULTIPATH

Keith Busch kbusch at kernel.org
Tue Mar 15 08:23:40 PDT 2022


On Tue, Mar 15, 2022 at 03:51:41PM +0100, Christoph Hellwig wrote:
> diff --git a/drivers/block/loop.c b/drivers/block/loop.c
> index 8fb89d0624fc5..e733c48de2e90 100644
> --- a/drivers/block/loop.c
> +++ b/drivers/block/loop.c
> @@ -2092,6 +2092,7 @@ static void loop_remove(struct loop_device *lo)
>  	del_gendisk(lo->lo_disk);
>  	blk_cleanup_disk(lo->lo_disk);
>  	blk_mq_free_tag_set(&lo->tag_set);
> +
>  	mutex_lock(&loop_ctl_mutex);
>  	idr_remove(&loop_index_idr, lo->lo_number);
>  	mutex_unlock(&loop_ctl_mutex);

This unrelated change sneaked into your patch. :)

> diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
> index fd9878671d734..75f7c53a67811 100644
> --- a/drivers/nvme/host/core.c
> +++ b/drivers/nvme/host/core.c
> @@ -3879,6 +3879,14 @@ static int nvme_init_ns_head(struct nvme_ns *ns, unsigned nsid,
>  					nsid);
>  			goto out_put_ns_head;
>  		}
> +
> +		if (!multipath && !list_empty(&head->list)) {
> +			dev_warn(ctrl->device,
> +				"Found shared namespace %d, but multipathing not supported.\n",
> +				nsid);
> +			dev_warn_once(ctrl->device,
> +				"Support for shared namespaces without CONFIG_NVME_MULTIPATH is deprecated and will be removed in Linux 6.0\n.");
> +		}

The recent release pattern suggests 5.20 will be the last of the 5.x tags
before seeing 6.0, but my understanding is that's at the discretion of Chief
Penguin. Unless you know already, perhaps warning with 5.21 is more clear that
removing this capability happens after 3 more releases.



More information about the Linux-nvme mailing list