On Sun, Aug 10, 2025 at 09:39:50AM -0600, Keith Busch wrote: > > > bytes = ALIGN_DOWN(bytes, bio_split_alignment(bio, lim)); > > > + if (!bytes) > > > + return -EINVAL; > > > > How is this related to the other hunk and the patch description? > > The patchset allows you to submit an io with vectors that are partial > logical blocks. Misuse could create a bio that exceeds the device max > vectors or introduces virtual boundary gaps, requiring a split into > something that is smaller than a block size. This check catches that. > > Quick example: nvme with a 4k logical block size, and the usual 4k > virtual boundary. Send an io with four vectors iov_len=1k. The total > size is block sized, but there's no way that could split into a valid > io. There's a test specifically for this in my reply about xfstests. Can you turn the above into a comment explaining the check?