All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 00/10] fuse: DAX device based extent maps (famfs)
@ 2026-10-16 15:16 Miklos Szeredi
  2026-10-16 15:16 ` [PATCH v5 01/10] dax: add fsdev_dax_from_file() Miklos Szeredi
                   ` (9 more replies)
  0 siblings, 10 replies; 14+ messages in thread
From: Miklos Szeredi @ 2026-10-16 15:16 UTC (permalink / raw)
  To: fuse-devel
  Cc: John Groves, Amir Goldstein, Darrick J . Wong, Vishal Verma,
	Dave Jiang, Alison Schofield, nvdimm, linux-cxl

This is the FUSIfication of the famfs-fuse patchset.

 - extent maps are assigned to a backing ID

 - 64 bit backing ID's managed by server

 - maps can be linear or cyclic (striped)

 - API supports nesting, but not implemented yet (i.e. multiple striped
   extents per inode, a-la famfs)

libfuse/famfs trees for testing:

 https://github.com/szmi/libfuse.git#extent-map-v3
 https://github.com/jagalactic/famfs.git#master

This patchset:

 git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#for-next

Passes famfs smoke test on emulated dax device.

Comments are welcome.

Thanks,
Miklos

---
Changes since v4:

 - extent array (John)
 - error out on truncate/hole punch on a dax backed file (Sashiko)
 - small fix (Sashiko)

Changes since v3:

 - redid the first patch (prompted by sashiko: passing dev_t is racy)
 - more fixes (John, Amir Sashiko)

Changes since v2:

 - add a trivial prep patch modifying drivers/dax/super.c
 - reserve zero value for 64 bit backing ID (Amir)
 - add Originally-by: tag to acknowledge John's work
 - more fixes and cleanups (Amir, Sashiko)

Changes since v1:

 - moved 3 prep patches to fuse.git#for-next
 - introduce FUSE_PASSTHROUGH_V2 (Amir)
 - lots of small fixes and cleanups (Amir, Sashiko)

---
John Groves (2):
  dax: add fsdev_dax_from_file()
  fuse: resolve extent maps in O(1) when possible

Miklos Szeredi (8):
  dax: use READ_ONCE() in dax_holder()
  fuse: add helpers for EIO return value with kernel message
  fuse: support 64 bit, server allocated backing ID
  fuse: support opening 64 bit backing ID
  fuse: add support for opening dax device as backing
  fuse: add extent map data structure
  fuse: add extent map I/O support
  fuse: add support for striped backing

 drivers/dax/fsdev.c       |  23 +++
 drivers/dax/super.c       |   5 +-
 fs/file.c                 |   1 +
 fs/fuse/Makefile          |   2 +-
 fs/fuse/backing.c         | 302 ++++++++++++++++++++++++------
 fs/fuse/dev.c             |  54 ++++--
 fs/fuse/dev.h             |   3 +
 fs/fuse/dir.c             |   6 +-
 fs/fuse/ext_map.c         | 376 ++++++++++++++++++++++++++++++++++++++
 fs/fuse/file.c            |  33 +++-
 fs/fuse/fuse_i.h          |  79 +++++++-
 fs/fuse/inode.c           |  25 ++-
 fs/fuse/iomode.c          | 116 ++++++------
 fs/fuse/notify.c          |  75 ++++++++
 fs/fuse/passthrough.c     |  66 +++----
 include/linux/dax.h       |   3 +-
 include/uapi/linux/fuse.h |  53 +++++-
 17 files changed, 1044 insertions(+), 178 deletions(-)
 create mode 100644 fs/fuse/ext_map.c

-- 
2.54.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2026-10-16 15:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-16 15:16 [PATCH v5 00/10] fuse: DAX device based extent maps (famfs) Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 01/10] dax: add fsdev_dax_from_file() Miklos Szeredi
2026-10-16 15:20   ` Dave Jiang
2026-10-16 15:28   ` Gregory Price
2026-10-16 15:16 ` [PATCH v5 02/10] dax: use READ_ONCE() in dax_holder() Miklos Szeredi
2026-10-16 15:20   ` Dave Jiang
2026-10-16 15:16 ` [PATCH v5 03/10] fuse: add helpers for EIO return value with kernel message Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 04/10] fuse: support 64 bit, server allocated backing ID Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 05/10] fuse: support opening 64 bit " Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 06/10] fuse: add support for opening dax device as backing Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 07/10] fuse: add extent map data structure Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 08/10] fuse: add extent map I/O support Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 09/10] fuse: add support for striped backing Miklos Szeredi
2026-10-16 15:16 ` [PATCH v5 10/10] fuse: resolve extent maps in O(1) when possible Miklos Szeredi

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.