Re: [PATCHSET RFC[RAP]] fuse: allow servers to use iomap for better file IO performance

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

 



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
> 
> 




[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux