diff mbox series

[v2,2/5] nvme: zns: Set zone limits before revalidating zones

Message ID 20230630083935.433334-3-dlemoal@kernel.org (mailing list archive)
State New, archived
Headers show
Series Improve checks in blk_revalidate_disk_zones() | expand

Commit Message

Damien Le Moal June 30, 2023, 8:39 a.m. UTC
In nvme_revalidate_zones(), execute blk_queue_chunk_sectors() and
blk_queue_max_zone_append_sectors() to respectively set a ZNS namespace
zone size and maximum zone append sector limit before executing
blk_revalidate_disk_zones(). This is to allow the block layer zone
reavlidation to check these device characteristics prior to checking all
zones of the device.

Signed-off-by: Damien Le Moal <dlemoal@kernel.org>
---
 drivers/nvme/host/zns.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

Comments

Christoph Hellwig July 6, 2023, 12:40 p.m. UTC | #1
On Fri, Jun 30, 2023 at 05:39:32PM +0900, Damien Le Moal wrote:
> In nvme_revalidate_zones(), execute blk_queue_chunk_sectors() and
> blk_queue_max_zone_append_sectors() to respectively set a ZNS namespace
> zone size and maximum zone append sector limit before executing
> blk_revalidate_disk_zones(). This is to allow the block layer zone
> reavlidation to check these device characteristics prior to checking all
> zones of the device.

Looks good:

Reviewed-by: Christoph Hellwig <hch@lst.de>
diff mbox series

Patch

diff --git a/drivers/nvme/host/zns.c b/drivers/nvme/host/zns.c
index 12316ab51bda..ec8557810c21 100644
--- a/drivers/nvme/host/zns.c
+++ b/drivers/nvme/host/zns.c
@@ -10,12 +10,11 @@ 
 int nvme_revalidate_zones(struct nvme_ns *ns)
 {
 	struct request_queue *q = ns->queue;
-	int ret;
 
-	ret = blk_revalidate_disk_zones(ns->disk, NULL);
-	if (!ret)
-		blk_queue_max_zone_append_sectors(q, ns->ctrl->max_zone_append);
-	return ret;
+	blk_queue_chunk_sectors(q, ns->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)