Re: [PATCH v2] block: Fix start and length check added to iov_iter_extract_bvecs()
From: David Howells
Date: Sat Sep 05 2026 - 12:27:03 EST
Keith Busch <kbusch@xxxxxxxxxx> wrote:
> If a block device behind an RDMA NIC really wants to DMA a single byte
> at a time, we can't describe that capability today. That would require a
> 0 mask, which is currently treated as "unset" and overridden with a
> default 512b mask.
The thing is, Christoph said:
Massage __bio_iov_iter_get_pages so that it doesn't need the bio, and
move it to lib/iov_iter.c so that it can be used by block code for
other things than filling a bio and by other subsystems like netfs.
but unless it can have a 1-byte alignment, it's not actually much use for
netfslib (I have to be able to support "unbuffered writes", which are almost
exactly like DIO writes but without alignment restrictions).
Do block devices really need an aligned "start memory address" or just an
aligned "start file position" (whatever that means for a blockdev).
David