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