On Thu, May 25, 2023 at 11:39:53PM +0100, David Howells wrote: > Change the old block-based direct-I/O code to use iov_iter_extract_pages() > to pin user pages or leave kernel pages unpinned rather than taking refs > when submitting bios. > > This makes use of the preceding patches to not take pins on the zero page > (thereby allowing insertion of zero pages in with pinned pages) and to get > additional pins on pages, allowing an extracted page to be used in multiple > bios without having to re-extract it. I'm not seeing where we skip the unpin of the zero page, as commented in patch 1 (but maybe I'm not reviewing carefully enough as I'm at a conference right now). Otherwise my only rather cosmetic comment right now is that I'd called the "need_unpin" member is_pinned.