[Virtio-fs] [virtiofsd PATCH v2 0/4] virtiofsd: support per-file DAX
Jeffle Xu
jefflexu at linux.alibaba.com
Wed Aug 11 06:56:17 UTC 2021
I mentioned in virtiofsd PATCH v1 that virtiofsd exits once ioctl() is
called. After depper investigation into this issue, I find that it is
because ioctl() is blocked out the whitelist of seccomp of virtiofsd.
To support ioctl, ioctl syscall shall be added into the whitelist (see patch
1).
And this is the complete workable version for virtiofsd:
- virtiofsd now supports FUSE_IOCTL now, though currently only
FS_IOC_G[S]ETFLAGS/FS_IOC_FSG[S]ETXATTR are supported.
- During FUSE_INIT, virtiofsd advertise support for per-file DAX only
when the backend fs is ext4/xfs.
- FS_IOC_SETFLAGS/FS_IOC_FSSETXATTR FUSE_IOCTL will be directed to host,
so that FS_DAX_FL could be flushed to backed fs persistently.
- During FUSE_LOOKUP, virtiofsd will decide DAX shall be enabled for
current file according to if this file is marked with FS_DAX_FL in the
backend fs.
PS.
In the current implementation, the kernel always advertise
FUSE_PERFILE_DAX no matter whether it's mounted with '-o dax=inode' or
not. It can be fixed in the next version, and I need more feedbacks so far.
Any comment on this whole series is welcome.
Jeffle Xu (4):
virtiofsd: add .ioctl() support
virtiofsd: expand fuse protocol to support per-file DAX
virtiofsd: support per-file DAX negotiation in FUSE_INIT
virtiofsd: support per-file DAX in FUSE_LOOKUP
include/standard-headers/linux/fuse.h | 2 +
tools/virtiofsd/fuse_common.h | 5 ++
tools/virtiofsd/fuse_lowlevel.c | 6 ++
tools/virtiofsd/passthrough_ll.c | 115 ++++++++++++++++++++++++++
tools/virtiofsd/passthrough_seccomp.c | 1 +
5 files changed, 129 insertions(+)
--
2.27.0
More information about the Virtio-fs
mailing list