From: Miklos Szeredi <mszeredi@redhat.com>
To: fuse-devel@lists.linux.dev
Cc: John Groves <john@groves.net>,
Amir Goldstein <amir73il@gmail.com>,
"Darrick J . Wong" <djwong@kernel.org>,
Vishal Verma <vishal.l.verma@intel.com>,
Dave Jiang <dave.jiang@intel.com>,
Alison Schofield <alison.schofield@intel.com>,
nvdimm@lists.linux.dev, linux-cxl@vger.kernel.org
Subject: [PATCH v3 0/9] fuse: DAX device based extent maps (famfs)
Date: Tue, 6 Oct 2026 20:01:05 +0200 [thread overview]
Message-ID: <20261006180115.1425232-1-mszeredi@redhat.com> (raw)
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/szmi/famfs.git#extent-map-v3
This patchset:
git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git#extent-map-v3
Passes famfs smoke test on emulated dax device.
Comments are welcome.
Thanks,
Miklos
---
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 (1):
dax: replace exported dax_dev_get() with non-allocating dax_dev_find()
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/super.c | 40 ++++-
fs/fuse/Makefile | 2 +-
fs/fuse/backing.c | 305 +++++++++++++++++++++++++++++-------
fs/fuse/dev.c | 24 +++
fs/fuse/dev.h | 3 +
fs/fuse/dir.c | 3 +-
fs/fuse/ext_map.c | 316 ++++++++++++++++++++++++++++++++++++++
fs/fuse/file.c | 18 ++-
fs/fuse/fuse_i.h | 78 ++++++++--
fs/fuse/inode.c | 26 +++-
fs/fuse/iomode.c | 116 ++++++++------
fs/fuse/notify.c | 75 +++++++++
fs/fuse/passthrough.c | 63 ++++----
include/linux/dax.h | 6 +-
include/uapi/linux/fuse.h | 53 ++++++-
15 files changed, 965 insertions(+), 163 deletions(-)
create mode 100644 fs/fuse/ext_map.c
--
2.54.0
next reply other threads:[~2026-10-06 18:01 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-06 18:01 Miklos Szeredi [this message]
2026-10-06 18:01 ` [PATCH v3 1/9] dax: replace exported dax_dev_get() with non-allocating dax_dev_find() Miklos Szeredi
2026-10-06 18:10 ` sashiko-bot
2026-10-06 18:01 ` [PATCH v3 2/9] dax: use READ_ONCE() in dax_holder() Miklos Szeredi
2026-10-06 18:13 ` sashiko-bot
2026-10-08 1:02 ` Alison Schofield
2026-10-08 6:58 ` Miklos Szeredi
2026-10-06 18:01 ` [PATCH v3 3/9] fuse: add helpers for EIO return value with kernel message Miklos Szeredi
2026-10-06 21:03 ` Amir Goldstein
2026-10-06 18:01 ` [PATCH v3 4/9] fuse: support 64 bit, server allocated backing ID Miklos Szeredi
2026-10-06 18:20 ` sashiko-bot
2026-10-06 20:10 ` John Groves
2026-10-07 12:49 ` Miklos Szeredi
2026-10-06 22:08 ` Amir Goldstein
2026-10-07 12:54 ` Miklos Szeredi
2026-10-06 18:01 ` [PATCH v3 5/9] fuse: support opening 64 bit " Miklos Szeredi
2026-10-06 18:01 ` [PATCH v3 6/9] fuse: add support for opening dax device as backing Miklos Szeredi
2026-10-06 18:18 ` sashiko-bot
2026-10-06 18:01 ` [PATCH v3 7/9] fuse: add extent map data structure Miklos Szeredi
2026-10-06 18:17 ` sashiko-bot
2026-10-06 18:01 ` [PATCH v3 8/9] fuse: add extent map I/O support Miklos Szeredi
2026-10-06 18:22 ` sashiko-bot
2026-10-06 18:01 ` [PATCH v3 9/9] fuse: add support for striped backing Miklos Szeredi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261006180115.1425232-1-mszeredi@redhat.com \
--to=mszeredi@redhat.com \
--cc=alison.schofield@intel.com \
--cc=amir73il@gmail.com \
--cc=dave.jiang@intel.com \
--cc=djwong@kernel.org \
--cc=fuse-devel@lists.linux.dev \
--cc=john@groves.net \
--cc=linux-cxl@vger.kernel.org \
--cc=nvdimm@lists.linux.dev \
--cc=vishal.l.verma@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox