On Fri, Jan 19, 2024 at 04:24:29PM +0000, Matthew Wilcox wrote: > - What are we going to do about bio_vecs? For bios and biovecs, I think it's important to keep in mind the distinction between the code that owns and submits the bio, and the consumer underneath. The code underneath could just as easily work with pfns, and the code above got those pages from somewhere else, so it doesn't _need_ the bio for access to those pages/folios (it would be a lot of refactoring though). But I've been thinking about going in a different direction - what if we unified iov_iter and bio? We've got ~3 different scatter-gather types that an IO passes through down the stack, and it would be lovely if we could get it down to just one; e.g. for DIO, pinning pages right at the copy_from_user boundary.