Hi Linus, Please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git tags/fuse-update-5.4 - Continue separating the transport (user/kernel communication) and the filesystem layers of fuse. Getting rid of most layering violations will allow for easier cleanup and optimization later on. - Prepare for the addition of the virtio-fs filesystem. The actual filesystem will be introduced by a separate pull request. - Convert to new mount API. - Various fixes, optimizations and cleanups. Thanks, Miklos --- Arnd Bergmann (1): fuse: unexport fuse_put_request David Howells (2): fuse: convert to use the new mount API vfs: subtype handling moved to fuse Eric Biggers (1): fuse: fix deadlock with aio poll and fuse_iqueue::waitq.lock Khazhismel Kumykov (2): fuse: on 64-bit store time in d_fsdata directly fuse: kmemcg account fs data Kirill Smelkov (1): fuse: require /dev/fuse reads to have enough buffer capacity (take 2) Maxim Patlasov (1): fuse: cleanup fuse_wait_on_page_writeback Michael S. Tsirkin (1): fuse: reserve byteswapped init opcodes Miklos Szeredi (33): cuse: fix broken release fuse: flatten 'struct fuse_args' fuse: rearrange and resize fuse_args fields fuse: simplify 'nofail' request fuse: convert flush to simple api fuse: add noreply to fuse_args fuse: convert fuse_force_forget() to simple api fuse: add nocreds to fuse_args fuse: convert destroy to simple api fuse: add pages to fuse_args fuse: convert readlink to simple api fuse: move page alloc fuse: convert ioctl to simple api fuse: fuse_short_read(): don't take fuse_req as argument fuse: covert readpage to simple api fuse: convert sync write to simple api fuse: add simple background helper fuse: convert direct_io to simple api fuse: convert readpages to simple api fuse: convert readdir to simple api fuse: convert writepages to simple api fuse: convert init to simple api cuse: convert init to simple api fuse: convert release to simple api fuse: convert retrieve to simple api fuse: unexport request ops fuse: simplify request allocation fuse: clean up fuse_req fuse: stop copying args to fuse_req fuse: stop copying pages to fuse_req fuse: fix request limit fuse: delete dentry if timeout is zero fuse: dissociate DESTROY from fuseblk Stefan Hajnoczi (5): fuse: export fuse_end_request() fuse: export fuse_len_args() fuse: export fuse_get_unique() fuse: extract fuse_fill_super_common() fuse: add fuse_iqueue_ops callbacks Tejun Heo (1): fuse: fix beyond-end-of-page access in fuse_parse_cache() Vasily Averin (1): fuse: fix missing unlock_page in fuse_writepage() Vivek Goyal (4): fuse: export fuse_send_init_request() fuse: export fuse_dequeue_forget() function fuse: separate fuse device allocation and installation in fuse_conn fuse: allow skipping control interface and forced unmount YueHaibing (1): fuse: Make fuse_args_to_req static zhengbin (1): fuse: fix memleak in cuse_channel_open --- fs/fs_context.c | 14 - fs/fuse/cuse.c | 101 ++-- fs/fuse/dev.c | 654 ++++++++++------------- fs/fuse/dir.c | 283 +++++----- fs/fuse/file.c | 1227 ++++++++++++++++++++++++-------------------- fs/fuse/fuse_i.h | 350 ++++++------- fs/fuse/inode.c | 553 +++++++++++--------- fs/fuse/readdir.c | 72 ++- fs/fuse/xattr.c | 76 +-- fs/namespace.c | 2 - fs/proc_namespace.c | 2 +- fs/super.c | 5 - include/linux/fs_context.h | 1 - include/uapi/linux/fuse.h | 4 + 14 files changed, 1730 insertions(+), 1614 deletions(-)