qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PULL 000/108] virtiofs queue


From: Dr. David Alan Gilbert
Subject: Re: [PULL 000/108] virtiofs queue
Date: Thu, 23 Jan 2020 19:32:37 +0000
User-agent: Mutt/1.13.0 (2019-11-30)

* Dr. David Alan Gilbert (git) (address@hidden) wrote:
> From: "Dr. David Alan Gilbert" <address@hidden>
> 
> 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:
> 
>   address@hidden: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 <address@hidden>
> 
> 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 / address@hidden / Manchester, UK




reply via email to

[Prev in Thread] Current Thread [Next in Thread]