On 21/12/2023 12:57, Christoph Hellwig wrote:
On Thu, Dec 21, 2023 at 12:48:24PM +0000, John Garry wrote:
- ubuf / iovecs need to be PAGE-aligned
- each iovec needs to be length of multiple of atomic_write_unit_min. If
total length > PAGE_SIZE, each iovec also needs to be a multiple of
PAGE_SIZE.
I'd rather something simpler. Maybe it's ok.
If we decided to not support atomic writes on anything setting a virt
boundary we don't have to care about the alignment of each vector,
ok, I think that alignment is not so important, but we still need to
consider a minimum length per iovec, such that we will always be able to
fit a write of length atomic_write_unit_max in a bio.
I don't think you man a minim length per iovec for that, but a maximum
number of iovecs instead.
That would make sense, but I was thinking that if the request queue has
a limit on segments then we would need to specify a iovec min length.
For SGL-capable devices that would be
BIO_MAX_VECS, otherwise 1.
ok, but we would need to advertise that or whatever segment limit. A
statx field just for that seems a bit inefficient in terms of space.