Messages in this thread |  | | Date | Sun, 27 Feb 2022 14:27:53 -0800 | Subject | Re: [PATCH 3/6] block, fs: assert that key paths use iovecs, and nothing else | From | John Hubbard <> |
| |
On 2/27/22 14:15, Al Viro wrote: > On Sun, Feb 27, 2022 at 01:34:31AM -0800, jhubbard.send.patches@gmail.com wrote: >> From: John Hubbard <jhubbard@nvidia.com> >> >> Upcoming changes to Direct IO will change it from acquiring pages via >> get_user_pages_fast(), to calling pin_user_pages_fast() instead. >> >> Place a few assertions at key points, that the pages are IOVEC (user >> pages), to enforce the assumptions that there are no kernel or pipe or >> other odd variations being passed. > > Umm... And what should happen when O_DIRECT file gets passed to splice()?
Hi Al,
First of all, full disclosure: I still haven't worked through how splice() handles pages in all cases. I was hoping to defer it, by limiting this series to not *all* of the original callers of iov_iter_get_pages*().
This series leaves the splice() code pointing to iov_iter_get_pages(), but maybe that's not possible after all.
Any advice or ideas about how to solve the O_DIRECT-to-splice() is very welcome.
thanks, -- John Hubbard NVIDIA
|  |