----- Forwarded message from Ming Lei <ming.lei@xxxxxxxxxx> ----- Add linux-nvme Date: Fri, 12 Jan 2024 09:08:47 +0800 From: Ming Lei <ming.lei@xxxxxxxxxx> To: linux-block@xxxxxxxxxxxxxxx, Damien Le Moal <dlemoal@xxxxxxxxxx> Cc: ming.lei@xxxxxxxxxx, Yi Zhang <yi.zhang@xxxxxxxxxx>, John Meneghini <jmeneghi@xxxxxxxxxx> 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 -----