[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 000/108] virtiofs queue
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[PULL 000/108] virtiofs queue |
Date: |
Thu, 23 Jan 2020 16:44:42 +0000 |
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
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
- [PULL 000/108] virtiofs queue,
Dr. David Alan Gilbert (git) <=
- [PULL 002/108] virtiofsd: Pull in kernel's fuse.h, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 003/108] virtiofsd: Add auxiliary .c's, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 008/108] virtiofsd: remove mountpoint dummy argument, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 005/108] virtiofsd: Add passthrough_ll, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 006/108] virtiofsd: Trim down imported files, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 004/108] virtiofsd: Add fuse_lowlevel.c, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 010/108] virtiofsd: Remove unused enum fuse_buf_copy_flags, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 009/108] virtiofsd: remove unused notify reply support, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 011/108] virtiofsd: Fix fuse_daemonize ignored return values, Dr. David Alan Gilbert (git), 2020/01/23
- [PULL 012/108] virtiofsd: Fix common header and define for QEMU builds, Dr. David Alan Gilbert (git), 2020/01/23