On 04/12/2023 03:55, Ming Lei wrote:
Hi Ming,
On Mon, Dec 04, 2023 at 11:19:20AM +0800, Ming Lei wrote:
On Fri, Sep 29, 2023 at 10:27:07AM +0000, John Garry wrote:
We rely the block layer always being able to send a bio of size
atomic_write_unit_max without being required to split it due to request
queue or other bio limits.
A bio may contain min(BIO_MAX_VECS, limits->max_segments) vectors,
and each vector is at worst case the device logical block size from
direct IO alignment requirement.
Both unit_max and unit_min are applied to FS bio, which is built over
single userspace buffer, so only the 1st and last vector can include
Actually it isn't true for pwritev, and sorry for the noise.
Yeah, I think that it should be:
(max_segments - 2) * PAGE_SIZE
And we need to enforce that any middle vectors are PAGE-aligned.
Thanks,
John