* Dr. David Alan Gilbert (git) (dgilb...@redhat.com) wrote: > From: "Dr. David Alan Gilbert" <dgilb...@redhat.com> > > The following changes since commit b7c359c748a2e3ccb97a184b9739feb2cd48de2f: > > Merge remote-tracking branch > 'remotes/vivier2/tags/linux-user-for-5.0-pull-request' into staging > (2020-01-23 14:38:43 +0000) > > are available in the Git repository at: > > g...@gitlab.com:dagrh/qemu.git tags/pull-virtiofs-20200123b
Note the public URI is: https://gitlab.com/dagrh/qemu.git Dave > for you to fetch changes up to 1d59b1b210d7c3b0bdf4b10ebe0bb1fccfcb8b95: > > virtiofsd: add some options to the help message (2020-01-23 16:41:37 +0000) > > ---------------------------------------------------------------- > virtiofsd first pull v2 > > Import our virtiofsd. > This pulls in the daemon to drive a file system connected to the > existing qemu virtiofsd device. > It's derived from upstream libfuse with lots of changes (and a lot > trimmed out). > The daemon lives in the newly created qemu/tools/virtiofsd > > Signed-off-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > v2 > drop the docs while we discuss where they should live > and we need to redo the manpage in anything but texi > > ---------------------------------------------------------------- > Dr. David Alan Gilbert (34): > virtiofsd: Pull in upstream headers > virtiofsd: Pull in kernel's fuse.h > virtiofsd: Add auxiliary .c's > virtiofsd: Add fuse_lowlevel.c > virtiofsd: Add passthrough_ll > virtiofsd: Trim down imported files > virtiofsd: Format imported files to qemu style > virtiofsd: Fix fuse_daemonize ignored return values > virtiofsd: Fix common header and define for QEMU builds > virtiofsd: Trim out compatibility code > virtiofsd: Add options for virtio > virtiofsd: Open vhost connection instead of mounting > virtiofsd: Start wiring up vhost-user > virtiofsd: Add main virtio loop > virtiofsd: get/set features callbacks > virtiofsd: Start queue threads > virtiofsd: Poll kick_fd for queue > virtiofsd: Start reading commands from queue > virtiofsd: Send replies to messages > virtiofsd: Keep track of replies > virtiofsd: Add Makefile wiring for virtiofsd contrib > virtiofsd: Fast path for virtio read > virtiofs: Add maintainers entry > virtiofsd: Plumb fuse_bufvec through to do_write_buf > virtiofsd: Pass write iov's all the way through > virtiofsd: cap-ng helpers > virtiofsd: Handle reinit > virtiofsd: Handle hard reboot > virtiofsd: Kill threads when queues are stopped > vhost-user: Print unexpected slave message types > contrib/libvhost-user: Protect slave fd with mutex > virtiofsd: Clean up inodes on destroy > libvhost-user: Fix some memtable remap cases > virtiofsd: Convert lo_destroy to take the lo->mutex lock itself > > Eric Ren (1): > virtiofsd: fix incorrect error handling in lo_do_lookup > > Eryu Guan (3): > virtiofsd: print log only when priority is high enough > virtiofsd: convert more fprintf and perror to use fuse log infra > virtiofsd: stop all queue threads on exit in virtio_loop() > > Jiufei Xue (1): > virtiofsd: support nanosecond resolution for file timestamp > > Liu Bo (6): > virtiofsd: fix error handling in main() > virtiofsd: cleanup allocated resource in se > virtiofsd: fix memory leak on lo.source > virtiofsd: add helper for lo_data cleanup > virtiofsd: enable PARALLEL_DIROPS during INIT > Virtiofsd: fix memory leak on fuse queueinfo > > Masayoshi Mizuma (4): > virtiofsd: Add ID to the log with FUSE_LOG_DEBUG level > virtiofsd: Add timestamp to the log with FUSE_LOG_DEBUG level > virtiofsd: Prevent multiply running with same vhost_user_socket > virtiofsd: add some options to the help message > > Miklos Szeredi (10): > virtiofsd: passthrough_ll: add fallback for racy ops > virtiofsd: passthrough_ll: add renameat2 support > virtiofsd: passthrough_ll: disable readdirplus on cache=never > virtiofsd: passthrough_ll: control readdirplus > virtiofsd: rename unref_inode() to unref_inode_lolocked() > virtiofsd: fail when parent inode isn't known in lo_do_lookup() > virtiofsd: extract root inode init into setup_root() > virtiofsd: passthrough_ll: clean up cache related options > virtiofsd: passthrough_ll: use hashtable > virtiofsd: passthrough_ll: fix refcounting on remove/rename > > Misono Tomohiro (2): > virtiofsd: Fix data corruption with O_APPEND write in writeback mode > virtiofsd: passthrough_ll: Use cache_readdir for directory open > > Peng Tao (1): > virtiofsd: do not always set FUSE_FLOCK_LOCKS > > Stefan Hajnoczi (35): > virtiofsd: remove mountpoint dummy argument > virtiofsd: remove unused notify reply support > virtiofsd: add -o source=PATH to help output > virtiofsd: add --fd=FDNUM fd passing option > virtiofsd: make -f (foreground) the default > virtiofsd: add vhost-user.json file > virtiofsd: add --print-capabilities option > virtiofsd: passthrough_ll: add lo_map for ino/fh indirection > virtiofsd: passthrough_ll: add ino_map to hide lo_inode pointers > virtiofsd: passthrough_ll: add dirp_map to hide lo_dirp pointers > virtiofsd: passthrough_ll: add fd_map to hide file descriptors > virtiofsd: validate path components > virtiofsd: add fuse_mbuf_iter API > virtiofsd: validate input buffer sizes in do_write_buf() > virtiofsd: check input buffer size in fuse_lowlevel.c ops > virtiofsd: prevent ".." escape in lo_do_lookup() > virtiofsd: prevent ".." escape in lo_do_readdir() > virtiofsd: use /proc/self/fd/ O_PATH file descriptor > virtiofsd: sandbox mount namespace > virtiofsd: move to an empty network namespace > virtiofsd: move to a new pid namespace > virtiofsd: add seccomp whitelist > virtiofsd: set maximum RLIMIT_NOFILE limit > virtiofsd: fix libfuse information leaks > virtiofsd: add --syslog command-line option > virtiofsd: use fuse_lowlevel_is_virtio() in fuse_session_destroy() > virtiofsd: prevent fv_queue_thread() vs virtio_loop() races > virtiofsd: make lo_release() atomic > virtiofsd: prevent races with lo_dirp_put() > virtiofsd: rename inode->refcount to inode->nlookup > virtiofsd: introduce inode refcount to prevent use-after-free > virtiofsd: process requests in a thread pool > virtiofsd: prevent FUSE_INIT/FUSE_DESTROY races > virtiofsd: fix lo_destroy() resource leaks > virtiofsd: add --thread-pool-size=NUM option > > Vivek Goyal (6): > virtiofsd: Make fsync work even if only inode is passed in > virtiofsd: passthrough_ll: create new files in caller's context > virtiofsd: Parse flag FUSE_WRITE_KILL_PRIV > virtiofsd: Drop CAP_FSETID if client asked for it > virtiofsd: Support remote posix locks > virtiofsd: Reset O_DIRECT flag during file open > > Xiao Yang (3): > virtiofsd: Remove unused enum fuse_buf_copy_flags > vitriofsd/passthrough_ll: fix fallocate() ifdefs > virtiofsd/passthrough_ll: Pass errno to fuse_reply_err() > > piaojun (2): > virtiofsd: add definition of fuse_buf_writev() > virtiofsd: use fuse_buf_writev to replace fuse_buf_write for better > performance > > .gitignore | 1 + > MAINTAINERS | 8 + > Makefile | 12 + > Makefile.objs | 1 + > configure | 16 + > contrib/libvhost-user/libvhost-user.c | 57 +- > contrib/libvhost-user/libvhost-user.h | 6 + > docs/interop/vhost-user.json | 4 +- > hw/virtio/vhost-user.c | 2 +- > include/standard-headers/linux/fuse.h | 891 +++++++++ > scripts/update-linux-headers.sh | 1 + > tools/virtiofsd/50-qemu-virtiofsd.json.in | 5 + > tools/virtiofsd/Makefile.objs | 12 + > tools/virtiofsd/buffer.c | 351 ++++ > tools/virtiofsd/fuse.h | 1249 ++++++++++++ > tools/virtiofsd/fuse_common.h | 816 ++++++++ > tools/virtiofsd/fuse_i.h | 115 ++ > tools/virtiofsd/fuse_log.c | 41 + > tools/virtiofsd/fuse_log.h | 74 + > tools/virtiofsd/fuse_lowlevel.c | 2761 ++++++++++++++++++++++++++ > tools/virtiofsd/fuse_lowlevel.h | 1991 +++++++++++++++++++ > tools/virtiofsd/fuse_misc.h | 60 + > tools/virtiofsd/fuse_opt.c | 450 +++++ > tools/virtiofsd/fuse_opt.h | 272 +++ > tools/virtiofsd/fuse_signals.c | 98 + > tools/virtiofsd/fuse_virtio.c | 986 ++++++++++ > tools/virtiofsd/fuse_virtio.h | 33 + > tools/virtiofsd/helper.c | 349 ++++ > tools/virtiofsd/passthrough_helpers.h | 51 + > tools/virtiofsd/passthrough_ll.c | 3006 > +++++++++++++++++++++++++++++ > tools/virtiofsd/seccomp.c | 165 ++ > tools/virtiofsd/seccomp.h | 16 + > 32 files changed, 13886 insertions(+), 14 deletions(-) > create mode 100644 include/standard-headers/linux/fuse.h > create mode 100644 tools/virtiofsd/50-qemu-virtiofsd.json.in > create mode 100644 tools/virtiofsd/Makefile.objs > create mode 100644 tools/virtiofsd/buffer.c > create mode 100644 tools/virtiofsd/fuse.h > create mode 100644 tools/virtiofsd/fuse_common.h > create mode 100644 tools/virtiofsd/fuse_i.h > create mode 100644 tools/virtiofsd/fuse_log.c > create mode 100644 tools/virtiofsd/fuse_log.h > create mode 100644 tools/virtiofsd/fuse_lowlevel.c > create mode 100644 tools/virtiofsd/fuse_lowlevel.h > create mode 100644 tools/virtiofsd/fuse_misc.h > create mode 100644 tools/virtiofsd/fuse_opt.c > create mode 100644 tools/virtiofsd/fuse_opt.h > create mode 100644 tools/virtiofsd/fuse_signals.c > create mode 100644 tools/virtiofsd/fuse_virtio.c > create mode 100644 tools/virtiofsd/fuse_virtio.h > create mode 100644 tools/virtiofsd/helper.c > create mode 100644 tools/virtiofsd/passthrough_helpers.h > create mode 100644 tools/virtiofsd/passthrough_ll.c > create mode 100644 tools/virtiofsd/seccomp.c > create mode 100644 tools/virtiofsd/seccomp.h > > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK