[PATCH 1/6] nvme: zns: Allow ZNS drives that have non-power_of_2 zone size
Pankaj Raghav
p.raghav at samsung.com
Tue Mar 8 09:43:48 PST 2022
On 2022-03-08 18:14, Keith Busch wrote:
> The zns report zones realigns the starting sector using an expected pow2
> value, so I think you need to update that as well with something like
> the following:
>
> @@ -197,7 +189,7 @@ int nvme_ns_report_zones(struct nvme_ns *ns, sector_t sector,
> c.zmr.zrasf = NVME_ZRASF_ZONE_REPORT_ALL;
> c.zmr.pr = NVME_REPORT_ZONE_PARTIAL;
>
> - sector &= ~(ns->zsze - 1);
> + sector = sector - sector % ns->zsze;
> while (zone_idx < nr_zones && sector < get_capacity(ns->disk)) {
> memset(report, 0, buflen);
>
I actually have these changes in the Patch 4/6:
- sector &= ~(ns->zsze - 1);
+ sector = rounddown(sector, zone_size);
But you are right, I should move those changes to this patch as this patch
removes the po2 assumptions in NVMe ZNS driver.
I will fix it up in the next revision. Thanks.
--
Regards,
Pankaj
More information about the Linux-nvme
mailing list