nvme: zns: Simplify nvme_zone_parse_entry()
authorDamien Le Moal <dlemoal@kernel.org>
Thu, 13 Mar 2025 05:25:20 +0000 (14:25 +0900)
committerKeith Busch <kbusch@kernel.org>
Thu, 20 Mar 2025 23:53:55 +0000 (16:53 -0700)
Instead of passing a pointer to a struct nvme_ctrl and a pointer to a
struct nvme_ns_head as the first two arguments of
nvme_zone_parse_entry(), pass only a pointer to a struct nvme_ns as both
the controller structure and ns head structure can be infered from the
namespace structure.

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

index 382949e18c6ae7635b511258b04a7740ea4909c8..cce4c5b55aa9c2e8b7243aa7aeb7baac0e5b7610 100644 (file)
@@ -146,17 +146,16 @@ static void *nvme_zns_alloc_report_buffer(struct nvme_ns *ns,
        return NULL;
 }
 
-static int nvme_zone_parse_entry(struct nvme_ctrl *ctrl,
-                                struct nvme_ns_head *head,
+static int nvme_zone_parse_entry(struct nvme_ns *ns,
                                 struct nvme_zone_descriptor *entry,
                                 unsigned int idx, report_zones_cb cb,
                                 void *data)
 {
+       struct nvme_ns_head *head = ns->head;
        struct blk_zone zone = { };
 
        if ((entry->zt & 0xf) != NVME_ZONE_TYPE_SEQWRITE_REQ) {
-               dev_err(ctrl->device, "invalid zone type %#x\n",
-                               entry->zt);
+               dev_err(ns->ctrl->device, "invalid zone type %#x\n", entry->zt);
                return -EINVAL;
        }
 
@@ -213,8 +212,7 @@ int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
                        break;
 
                for (i = 0; i < nz && zone_idx < nr_zones; i++) {
-                       ret = nvme_zone_parse_entry(ns->ctrl, ns->head,
-                                                   &report->entries[i],
+                       ret = nvme_zone_parse_entry(ns, &report->entries[i],
                                                    zone_idx, cb, data);
                        if (ret)
                                goto out_free;