Commit 945e8263 authored by Damien Le Moal's avatar Damien Le Moal Committed by Keith Busch
Browse files

nvme: zns: Simplify nvme_zone_parse_entry()



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: default avatarDamien Le Moal <dlemoal@kernel.org>
Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
Signed-off-by: default avatarKeith Busch <kbusch@kernel.org>
parent ba65af9a
Loading
Loading
Loading
Loading
+4 −6
Original line number Diff line number Diff line
@@ -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;