]> www.infradead.org Git - users/hch/block.git/commitdiff
nvme: remove nvme_revalidate_zones
authorChristoph Hellwig <hch@lst.de>
Mon, 26 Feb 2024 17:37:46 +0000 (12:37 -0500)
committerChristoph Hellwig <hch@lst.de>
Thu, 29 Feb 2024 15:00:59 +0000 (07:00 -0800)
Handle setting the zone size / chunk_sectors and max_append_sectors
limits together with the other ZNS limits, and just open code the
call to blk_revalidate_zones in the current place.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
drivers/nvme/host/core.c
drivers/nvme/host/nvme.h
drivers/nvme/host/zns.c

index ee1e13a658c314cd5b386d7c64590fb00c9bc1c9..4a05045e4099042299bda786fab0d4976d38d31e 100644 (file)
@@ -2154,7 +2154,7 @@ static int nvme_update_ns_info_block(struct nvme_ns *ns,
        blk_mq_unfreeze_queue(ns->disk->queue);
 
        if (blk_queue_is_zoned(ns->queue)) {
-               ret = nvme_revalidate_zones(ns);
+               ret = blk_revalidate_disk_zones(ns->disk, NULL);
                if (ret && !nvme_first_scan(ns->disk))
                        goto out;
        }
index 4a484fc8a073c8ef0e365340e3f6284392d27414..01e8bae78865840635a7f266bdcffbdae55292d6 100644 (file)
@@ -1036,7 +1036,6 @@ static inline bool nvme_disk_is_ns_head(struct gendisk *disk)
 }
 #endif /* CONFIG_NVME_MULTIPATH */
 
-int nvme_revalidate_zones(struct nvme_ns *ns);
 int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
                unsigned int nr_zones, report_zones_cb cb, void *data);
 #ifdef CONFIG_BLK_DEV_ZONED
index 499bbb0eee8d09b9dc12c09337ba796d1832339b..852261d7891362f515a35b22be7b151e601b0ba9 100644 (file)
@@ -7,16 +7,6 @@
 #include <linux/vmalloc.h>
 #include "nvme.h"
 
-int nvme_revalidate_zones(struct nvme_ns *ns)
-{
-       struct request_queue *q = ns->queue;
-
-       blk_queue_chunk_sectors(q, ns->head->zsze);
-       blk_queue_max_zone_append_sectors(q, ns->ctrl->max_zone_append);
-
-       return blk_revalidate_disk_zones(ns->disk, NULL);
-}
-
 static int nvme_set_max_append(struct nvme_ctrl *ctrl)
 {
        struct nvme_command c = { };
@@ -113,6 +103,8 @@ int nvme_update_zone_info(struct nvme_ns *ns, unsigned lbaf)
        blk_queue_flag_set(QUEUE_FLAG_ZONE_RESETALL, q);
        disk_set_max_open_zones(ns->disk, le32_to_cpu(id->mor) + 1);
        disk_set_max_active_zones(ns->disk, le32_to_cpu(id->mar) + 1);
+       blk_queue_chunk_sectors(ns->queue, ns->head->zsze);
+       blk_queue_max_zone_append_sectors(ns->queue, ns->ctrl->max_zone_append);
 free_data:
        kfree(id);
        return status;