Messages in this thread | | | From | Miklos Szeredi <> | Date | Mon, 28 Feb 2022 16:59:33 +0100 | Subject | Re: [PATCH 6/6] fuse: convert direct IO paths to use FOLL_PIN |
| |
On Sun, 27 Feb 2022 at 10:34, <jhubbard.send.patches@gmail.com> wrote: > > From: John Hubbard <jhubbard@nvidia.com> > > Convert the fuse filesystem to support the new iov_iter_get_pages() > behavior. That routine now invokes pin_user_pages_fast(), which means > that such pages must be released via unpin_user_page(), rather than via > put_page(). > > This commit also removes any possibility of kernel pages being handled, > in the fuse_get_user_pages() call. Although this may seem like a steep > price to pay, Christoph Hellwig actually recommended it a few years ago > for nearly the same situation [1].
This might work for O_DIRECT, but fuse has this mode of operation which turns normal "buffered" I/O into direct I/O. And that in turn will break execve of such files.
So AFAICS we need to keep kvec handing in some way.
Thanks, Miklos
| |