On Tue, Aug 30, 2022 at 09:18:40PM -0700, John Hubbard wrote:
Provide two new wrapper routines that are intended for user space pages
only:
iov_iter_pin_pages()
iov_iter_pin_pages_alloc()
Internally, these routines call pin_user_pages_fast(), instead of
get_user_pages_fast(), for user_backed_iter(i) and iov_iter_bvec(i)
cases.
As always, callers must use unpin_user_pages() or a suitable FOLL_PIN
variant, to release the pages, if they actually were acquired via
pin_user_pages_fast().
This is a prerequisite to converting bio/block layers over to use
pin_user_pages_fast().
What of ITER_PIPE (splice from O_DIRECT fd to a to pipe, for filesystem
that uses generic_file_splice_read())?