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

John Garry
2024-06-18T07:47:14Z

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