Whoops, my eyes are tired and my script to strip out linux-xfs and cem from the cc lines didn't work because I inverted a space and a comma in the regexp. Sorry about the noise. Can we move off patchbomb development already? --D On Wed, May 21, 2025 at 05:01:22PM -0700, Darrick J. Wong wrote: > Hi all, > > This series connects fuse (the userspace filesystem layer) to fs-iomap to get > fuse servers out of the business of handling file I/O themselves. By keeping > the IO path mostly within the kernel, we can dramatically improve the speed of > disk-based filesystems. This enables us to move all the filesystem metadata > parsing code out of the kernel and into userspace, which means that we can > containerize them for security without losing a lot of performance. > > If you're going to start using this code, I strongly recommend pulling > from my git trees, which are linked below. > > This has been running on the djcloud for months with no problems. Enjoy! > Comments and questions are, as always, welcome. > > --D > > kernel git tree: > https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=fuse-iomap > --- > Commits in this patchset: > * fuse: fix livelock in synchronous file put from fuseblk workers > * iomap: exit early when iomap_iter is called with zero length > * fuse: implement the basic iomap mechanisms > * fuse: add a notification to add new iomap devices > * fuse: send FUSE_DESTROY to userspace when tearing down an iomap connection > * fuse: implement basic iomap reporting such as FIEMAP and SEEK_{DATA,HOLE} > * fuse: implement direct IO with iomap > * fuse: implement buffered IO with iomap > * fuse: implement large folios for iomap pagecache files > * fuse: use an unrestricted backing device with iomap pagecache io > * fuse: advertise support for iomap > --- > fs/fuse/fuse_i.h | 135 ++++ > fs/fuse/fuse_trace.h | 845 ++++++++++++++++++++++++++ > include/uapi/linux/fuse.h | 138 ++++ > fs/fuse/Kconfig | 23 + > fs/fuse/Makefile | 1 > fs/fuse/dev.c | 26 + > fs/fuse/dir.c | 14 > fs/fuse/file.c | 85 ++- > fs/fuse/file_iomap.c | 1445 +++++++++++++++++++++++++++++++++++++++++++++ > fs/fuse/inode.c | 23 + > fs/iomap/iter.c | 5 > 11 files changed, 2730 insertions(+), 10 deletions(-) > create mode 100644 fs/fuse/file_iomap.c > >