[GIT PULL] fuse update for 5.1

From: Miklos Szeredi
Date: Tue Mar 12 2019 - 04:45:02 EST

Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git tags/fuse-update-5.1

Scalability and performance improvements, as well as minor bug fixes and


Chad Austin (2):
fuse: support clients that don't implement 'opendir'
fuse: cache readdir calls if filesystem opts out of opendir

Kirill Tkhai (12):
fuse: Replace page without copying in fuse_writepage_in_flight()
fuse: Remove stale comment in end_requests()
fuse: Kill fasync only if interrupt is queued in queue_interrupt()
fuse: Optimize request_end() by not taking fiq->waitq.lock
fuse: Wake up req->waitq of only if not background
fuse: Do some refactoring in fuse_dev_do_write()
fuse: Verify userspace asks to requeue interrupt that we really sent
fuse: Add fuse_inode argument to fuse_prepare_release()
fuse: Convert fc->attr_version into atomic64_t
fuse: Introduce fi->lock to protect write related fields
fuse: Protect fi->nlookup with fi->lock
fuse: Protect ff->reserved_req via corresponding fi->lock

Martin Raiber (1):
fuse: Switch to using async direct IO for FOPEN_DIRECT_IO

Miklos Szeredi (10):
fuse: extract fuse_find_writeback() helper
fuse: clean up fuse_writepage_in_flight()
fuse: only reuse auxiliary request in fuse_writepage_in_flight()
fuse: fix leaked aux requests
fuse: clean up aborted
fuse: use atomic64_t for khctr
fuse: use iov_iter based generic splice helpers
fuse add copy_file_range to direct io fops
fuse: multiplex cached/direct_io file operations
fuse: lift bad inode checks into callers

fs/fuse/control.c | 4 +-
fs/fuse/cuse.c | 7 +-
fs/fuse/dev.c | 115 +++++++++-------
fs/fuse/dir.c | 54 +++-----
fs/fuse/file.c | 342 ++++++++++++++++++++++++++--------------------
fs/fuse/fuse_i.h | 28 ++--
fs/fuse/inode.c | 26 ++--
fs/fuse/readdir.c | 4 +-
include/uapi/linux/fuse.h | 7 +-
9 files changed, 327 insertions(+), 260 deletions(-)