Skip to content

Commit 3a9967b

Browse files
author
Christoph Hellwig
committed
nvme: revalidate zone bitmaps in nvme_update_ns_info
Consolidate the two calls into a single place. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Keith Busch <kbusch@kernel.org>
1 parent af0f446 commit 3a9967b

1 file changed

Lines changed: 6 additions & 4 deletions

File tree

drivers/nvme/host/core.c

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2150,6 +2150,12 @@ static int nvme_update_ns_info(struct nvme_ns *ns, struct nvme_id_ns *id)
21502150
nvme_update_disk_info(ns->disk, ns, id);
21512151
blk_mq_unfreeze_queue(ns->disk->queue);
21522152

2153+
if (blk_queue_is_zoned(ns->queue)) {
2154+
ret = nvme_revalidate_zones(ns);
2155+
if (ret)
2156+
return ret;
2157+
}
2158+
21532159
#ifdef CONFIG_NVME_MULTIPATH
21542160
if (ns->head->disk) {
21552161
blk_mq_freeze_queue(ns->head->disk->queue);
@@ -3915,8 +3921,6 @@ static void nvme_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid)
39153921

39163922
if (nvme_update_ns_info(ns, id))
39173923
goto out_put_disk;
3918-
if (blk_queue_is_zoned(ns->queue) && nvme_revalidate_zones(ns))
3919-
goto out_put_disk;
39203924

39213925
if ((ctrl->quirks & NVME_QUIRK_LIGHTNVM) && id->vs[0] == 0x1) {
39223926
ret = nvme_nvm_register(ns, disk_name, node);
@@ -4012,8 +4016,6 @@ static void nvme_validate_or_alloc_ns(struct nvme_ctrl *ctrl, unsigned nsid)
40124016
}
40134017

40144018
ret = nvme_validate_ns(ns);
4015-
if (!ret && blk_queue_is_zoned(ns->queue))
4016-
ret = nvme_revalidate_zones(ns);
40174019
revalidate_disk_size(ns->disk, ret == 0);
40184020
if (ret)
40194021
nvme_ns_remove(ns);

0 commit comments

Comments
 (0)