[Report] blk-zoned/ZNS: non_power_of_2 of zone->len]
Ming Lei
ming.lei at redhat.com
Thu Jan 11 17:13:28 PST 2024
----- Forwarded message from Ming Lei <ming.lei at redhat.com> -----
Add linux-nvme
Date: Fri, 12 Jan 2024 09:08:47 +0800
From: Ming Lei <ming.lei at redhat.com>
To: linux-block at vger.kernel.org, Damien Le Moal <dlemoal at kernel.org>
Cc: ming.lei at redhat.com, Yi Zhang <yi.zhang at redhat.com>, John Meneghini <jmeneghi at redhat.com>
Subject: [Report] blk-zoned/ZNS: non_power_of_2 of zone->len
Hello Damien and Guys,
Yi reported that the following failure:
Oct 18 15:24:15 localhost kernel: nvme nvme4: invalid zone size:196608 for namespace:1
Oct 18 15:24:33 localhost smartd[2303]: Device: /dev/nvme4, opened
Oct 18 15:24:33 localhost smartd[2303]: Device: /dev/nvme4, NETAPPX4022S173A4T0NTZ, S/N:S66NNE0T800169, FW:MVP40B7B, 4.09 TB
Looks current blk-zoned requires zone->len to be power_of_2() since
commit:
6c6b35491422 ("block: set the zone size in blk_revalidate_disk_zones atomically")
And the original power_of_2() requirement is from the following commit
for ZBC and ZAC.
d9dd73087a8b ("block: Enhance blk_revalidate_disk_zones()")
Meantime block layer does support non-power_of_2 chunk sectors limit.
The question is if there is such hard requirement for ZNS, and I can't see
any such words in NVMe Zoned Namespace Command Set Specification.
So is it one NVMe firmware issue? or blk-zoned problem with too strict(power_of_2)
requirement on zone->len?
Thanks,
Ming
----- End forwarded message -----
More information about the Linux-nvme
mailing list