diff options
author | Christoph Hellwig <hch@lst.de> | 2022-03-15 13:27:07 +0100 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2022-03-16 16:48:00 +0100 |
commit | ce8d78616a6b637d1b763eb18e32045687a84305 (patch) | |
tree | 711d94c4a2c068922066060b22557b47b24c6336 /drivers | |
parent | nvme: remove nvme_alloc_request and nvme_alloc_request_qid (diff) | |
download | linux-ce8d78616a6b637d1b763eb18e32045687a84305.tar.xz linux-ce8d78616a6b637d1b763eb18e32045687a84305.zip |
nvme: warn about shared namespaces without CONFIG_NVME_MULTIPATH
Start warning about exposing a namespace as multiple block devices,
and set a fixed deprecation release.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <kbusch@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/block/loop.c | 1 | ||||
-rw-r--r-- | drivers/nvme/host/core.c | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/block/loop.c b/drivers/block/loop.c index 8fb89d0624fc..e733c48de2e9 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); diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c index c868015c1c96..3c0461129bca 100644 --- a/drivers/nvme/host/core.c +++ b/drivers/nvme/host/core.c @@ -3855,6 +3855,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."); + } } list_add_tail_rcu(&ns->siblings, &head->list); |