[GIT PULL] add virtio-fs

From: Miklos Szeredi
Date: Thu Sep 26 2019 - 04:43:47 EST

Hi Linus,

Please pull from:

git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git tags/virtio-fs-5.4

[There's a trivial merge conflict under Documentation/]

Virtio-fs allows exporting directory trees on the host and mounting them in

This isn't actually a new filesystem, but a glue layer between the fuse
filesystem and a virtio based back-end.

It's similar in functionality to the existing virtio-9p solution, but
significantly faster in benchmarks and has better POSIX compliance.
Further permformance improvements can be achieved by sharing the page cache
between host and guest, allowing for faster I/O and reduced memory use.

Kata Containers have been including the out-of-tree virtio-fs (with the
shared page cache patches as well) since version 1.7 as an experimental
feature. They have been active in development and plan to switch from
virtio-9p to virtio-fs as their default solution. There has been interest
from other sources as well.

The userspace infrastructure is slated to be merged into qemu once the
kernel part hits mainline.

This was developed by Vivek Goyal, Dave Gilbert and Stefan Hajnoczi.


Dr. David Alan Gilbert (1):
fuse: reserve values for mapping protocol

Stefan Hajnoczi (2):
virtio-fs: add Documentation/filesystems/virtiofs.rst
virtio-fs: add virtiofs filesystem

Documentation/filesystems/index.rst | 10 +
Documentation/filesystems/virtiofs.rst | 60 ++
fs/fuse/Kconfig | 11 +
fs/fuse/Makefile | 1 +
fs/fuse/fuse_i.h | 9 +
fs/fuse/inode.c | 4 +
fs/fuse/virtio_fs.c | 1195 ++++++++++++++++++++++++++++++++
include/uapi/linux/fuse.h | 8 +-
include/uapi/linux/virtio_fs.h | 19 +
include/uapi/linux/virtio_ids.h | 1 +
11 files changed, 1329 insertions(+), 1 deletion(-)
create mode 100644 Documentation/filesystems/virtiofs.rst
create mode 100644 fs/fuse/virtio_fs.c
create mode 100644 include/uapi/linux/virtio_fs.h