gt;zmr.slba);
>
> return blkdev_nr_zones(req->ns->bdev->bd_disk) -
> - (sect >> ilog2(bdev_zone_sectors(req->ns->bdev)));
> +bdev_zone_no(req->ns->bdev, sect);
> }
>
> static unsigned long ge
ueue_is_zoned(q))
> return 0;
> - return sector >> ilog2(q->limits.chunk_sectors);
> +
> + if (is_power_of_2(zone_sectors))
> + return sector >> ilog2(zone_sectors);
> +
> + return div64_u64(sector, zone_sectors);
> }
>
scriptor);
> @@ -197,7 +190,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);
> +
ueue *q)
> zone_capacity_sects = mb_to_sects(dev->zone_capacity);
> dev_capacity_sects = mb_to_sects(dev->size);
> dev->zone_size_sects = mb_to_sects(dev->zone_size);
> - dev->nr_zones = round_up(dev_capacity_sects, dev->zone_size_sects)
> -