On 18/06/2024 07:51, Christoph Hellwig wrote:
On Mon, Jun 17, 2024 at 12:56:01PM -0600, Keith Busch wrote:
I'm not sure I follow why these two need to be the same. I can see
checking for 'chunk_sectors % boundary_sectors_hw == 0', but am I
missing something else?
For simplicity, initially I was just asking for them to be the same.
If we relax to chunk_sectors % boundary_sectors_hw == 0, then for normal
writing we could use a larger chunk size (than atomic boundary_sectors_hw).
I just don't know if this stuff exists which will have a larger
chunk_size than atomic boundary_sectors_hw and whether it is worth
trying to support them.
The reason I ask, zone block devices redefine the "chunk_sectors" to
mean the zone size, and I'm pretty sure the typical zone size is much
larger than the any common atomic write size.
Yeah. Then again atomic writes in the traditional sense don't really
make sense for zoned devices anyway as the zoned devices never overwrite
and require all data up to the write pointer to be valid. In theory
they could be interpreted so that you don't get a partical write failure
if you stick to the atomic write boundaries, but that is mostly
pointless.
About NVMe, the spec says that NABSN and NOIOB may not be related to one
another (command set spec 1.0d 5.8.2.1), but I am wondering if people
really build HW which would have different NABSN/NABSPF and NOIOB. I
don't know.
Thanks,
John