[PATCH v8 05/10] block: Add core atomic write support

John Garry john.g.garry at oracle.com
Tue Jun 18 00:46:31 PDT 2024


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



More information about the Linux-nvme mailing list