On Wed, 7 Jan 2026 09:34:43 -0600 John Groves <[email protected]> wrote:
> Add new FUSE operations and capability for famfs DAX file mapping: > > - FUSE_CAP_DAX_FMAP: New capability flag at bit 32 (using want_ext/capable_ext > fields) to indicate kernel and userspace support for DAX fmaps > > - GET_FMAP: New operation to retrieve a file map for DAX-mapped files. > Returns a fuse_famfs_fmap_header followed by simple or interleaved > extent descriptors. The kernel passes the file size as an argument. > > - GET_DAXDEV: New operation to retrieve DAX device info by index. > Called when GET_FMAP returns an fmap referencing a previously > unknown DAX device. > > These operations enable FUSE filesystems to provide direct access > mappings to persistent memory, allowing the kernel to map files > directly to DAX devices without page cache intermediation. > > Signed-off-by: John Groves <[email protected]> > --- > include/fuse_common.h | 5 +++++ > include/fuse_lowlevel.h | 37 +++++++++++++++++++++++++++++++++++++ > lib/fuse_lowlevel.c | 31 ++++++++++++++++++++++++++++++- > 3 files changed, 72 insertions(+), 1 deletion(-) > > diff --git a/include/fuse_common.h b/include/fuse_common.h > index 041188e..e428ddb 100644 > --- a/include/fuse_common.h > +++ b/include/fuse_common.h > @@ -512,6 +512,11 @@ struct fuse_loop_config_v1 { > */ > #define FUSE_CAP_OVER_IO_URING (1UL << 31) > > +/** > + * handle files that use famfs dax fmaps > + */ > +#define FUSE_CAP_DAX_FMAP (1UL<<32) From the context above, looks like local style is spaces around << That's about the level of my understanding of the fuse code ;) > + > /** > * Ioctl flags > *
