Re: [RFC V2 11/18] famfs_fuse: Basic famfs mount opts

2025-07-11 Thread John Groves
On 25/07/08 08:59PM, Darrick J. Wong wrote: > On Thu, Jul 03, 2025 at 01:50:25PM -0500, John Groves wrote: > > * -o shadow= > > What is a shadow? > > > * -o daxdev= Derp - OK, that's a stale commit message. Here is the one for the -next version of this patch:

Re: [RFC V2 12/18] famfs_fuse: Plumb the GET_FMAP message/response

2025-07-11 Thread John Groves
On 25/07/08 09:27PM, Darrick J. Wong wrote: > On Thu, Jul 03, 2025 at 01:50:26PM -0500, John Groves wrote: > > Upon completion of an OPEN, if we're in famfs-mode we do a GET_FMAP to > > retrieve and cache up the file-to-dax map in the kernel. If this > > succeeds, re

Re: [RFC V2 10/18] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-07-10 Thread John Groves
On 25/07/08 06:53PM, Darrick J. Wong wrote: > On Tue, Jul 08, 2025 at 07:02:03AM -0500, John Groves wrote: > > On 25/07/07 10:39AM, Darrick J. Wong wrote: > > > On Fri, Jul 04, 2025 at 08:39:59AM -0500, John Groves wrote: > > > > On 25/07/04 09:54AM, Amir Goldstein

Re: [RFC V2 00/18] famfs: port into fuse

2025-07-10 Thread John Groves
On 25/07/09 05:26AM, Miklos Szeredi wrote: > On Thu, 3 Jul 2025 at 20:56, John Groves wrote: > > > > DERP: I did it again; Miklos' email is wrong in this series. > > linux-fsdevel also lands in my inbox, so I don't even notice. > > I won't get to

Re: [RFC V2 10/18] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-07-08 Thread John Groves
On 25/07/07 10:39AM, Darrick J. Wong wrote: > On Fri, Jul 04, 2025 at 08:39:59AM -0500, John Groves wrote: > > On 25/07/04 09:54AM, Amir Goldstein wrote: > > > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > > > > > * FUSE_DAX_FMAP flag in INIT

Re: [RFC V2 14/18] famfs_fuse: GET_DAXDEV message and daxdev_table

2025-07-06 Thread John Groves
On 25/07/04 02:20PM, Jonathan Cameron wrote: > On Thu, 3 Jul 2025 13:50:28 -0500 > John Groves wrote: > > > * The new GET_DAXDEV message/response is enabled > > * The command it triggered by the update_daxdev_table() call, if there > > are any daxdevs in th

Re: [RFC V2 04/18] dev_dax_iomap: Add dax_operations for use by fs-dax on devdax

2025-07-05 Thread John Groves
On 25/07/04 01:47PM, Jonathan Cameron wrote: > On Thu, 3 Jul 2025 13:50:18 -0500 > John Groves wrote: > > > Notes about this commit: > > > > * These methods are based on pmem_dax_ops from drivers/nvdimm/pmem.c > > > > * dev_dax_direct_access() is re

Re: [RFC V2 15/18] famfs_fuse: Plumb dax iomap and fuse read/write/mmap

2025-07-05 Thread John Groves
On 25/07/04 11:13AM, Amir Goldstein wrote: > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > This commit fills in read/write/mmap handling for famfs files. The > > dev_dax_iomap interface is used - just like xfs in fs-dax mode. > > > > Signed-off-by:

Re: [RFC V2 13/18] famfs_fuse: Create files with famfs fmaps

2025-07-05 Thread John Groves
On 25/07/04 11:01AM, Amir Goldstein wrote: > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > On completion of GET_FMAP message/response, setup the full famfs > > metadata such that it's possible to handle read/write/mmap directly to > > dax. Note that the

Re: [RFC V2 12/18] famfs_fuse: Plumb the GET_FMAP message/response

2025-07-05 Thread John Groves
On 25/07/05 09:58AM, Amir Goldstein wrote: > On Sat, Jul 5, 2025 at 2:06 AM John Groves wrote: > > > > On 25/07/04 03:30PM, John Groves wrote: > > > On 25/07/04 10:54AM, Amir Goldstein wrote: > > > > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > >

Re: [RFC V2 12/18] famfs_fuse: Plumb the GET_FMAP message/response

2025-07-04 Thread John Groves
On 25/07/04 03:30PM, John Groves wrote: > On 25/07/04 10:54AM, Amir Goldstein wrote: > > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > > > Upon completion of an OPEN, if we're in famfs-mode we do a GET_FMAP to > > > retrieve and cache up t

Re: [RFC V2 12/18] famfs_fuse: Plumb the GET_FMAP message/response

2025-07-04 Thread John Groves
On 25/07/04 10:54AM, Amir Goldstein wrote: > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > Upon completion of an OPEN, if we're in famfs-mode we do a GET_FMAP to > > retrieve and cache up the file-to-dax map in the kernel. If this > > succeeds, read/w

Re: [RFC V2 10/18] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-07-04 Thread John Groves
On 25/07/04 09:54AM, Amir Goldstein wrote: > On Thu, Jul 3, 2025 at 8:51 PM John Groves wrote: > > > > * FUSE_DAX_FMAP flag in INIT request/reply > > > > * fuse_conn->famfs_iomap (enable famfs-mapped files) to denote a > > famfs-enabled connectio

Re: [RFC V2 02/18] dev_dax_iomap: Add fs_dax_get() func to prepare dax for fs-dax usage

2025-07-04 Thread John Groves
On 25/07/04 11:39AM, Jonathan Cameron wrote: > On Thu, 3 Jul 2025 13:50:16 -0500 > John Groves wrote: > > > This function should be called by fs-dax file systems after opening the > > devdax device. This adds holder_operations, which effects exclusivity > > be

Re: [RFC V2 10/18] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-07-03 Thread John Groves
On 25/07/03 01:50PM, John Groves wrote: > * FUSE_DAX_FMAP flag in INIT request/reply > > * fuse_conn->famfs_iomap (enable famfs-mapped files) to denote a > famfs-enabled connection > > Signed-off-by: John Groves > --- > fs/fuse/fuse_i.h | 3 +++ >

Re: [RFC V2 00/18] famfs: port into fuse

2025-07-03 Thread John Groves
DERP: I did it again; Miklos' email is wrong in this series. Forwarding to him... John

[RFC V2 18/18] famfs_fuse: Add documentation

2025-07-03 Thread John Groves
Add Documentation/filesystems/famfs.rst and update MAINTAINERS Signed-off-by: John Groves --- Documentation/filesystems/famfs.rst | 142 Documentation/filesystems/index.rst | 1 + MAINTAINERS | 1 + 3 files changed, 144 insertions

[RFC V2 17/18] famfs_fuse: Add famfs metadata documentation

2025-07-03 Thread John Groves
From: John Groves This describes the fmap metadata - both simple and interleaved Signed-off-by: John Groves --- fs/fuse/famfs_kfmap.h | 87 --- 1 file changed, 82 insertions(+), 5 deletions(-) diff --git a/fs/fuse/famfs_kfmap.h b/fs/fuse/famfs_kfmap.h

[RFC V2 16/18] famfs_fuse: Add holder_operations for dax notify_failure()

2025-07-03 Thread John Groves
If we get a notify_failure() call on a daxdev, set its error flag and prevent further access to that device. Signed-off-by: John Groves --- fs/fuse/famfs.c | 70 ++--- 1 file changed, 67 insertions(+), 3 deletions(-) diff --git a/fs/fuse/famfs.c b/fs

[RFC V2 15/18] famfs_fuse: Plumb dax iomap and fuse read/write/mmap

2025-07-03 Thread John Groves
This commit fills in read/write/mmap handling for famfs files. The dev_dax_iomap interface is used - just like xfs in fs-dax mode. Signed-off-by: John Groves --- fs/fuse/famfs.c | 436 +++ fs/fuse/file.c | 14 ++ fs/fuse/fuse_i.h | 3 + 3 files

[RFC V2 14/18] famfs_fuse: GET_DAXDEV message and daxdev_table

2025-07-03 Thread John Groves
* The new GET_DAXDEV message/response is enabled * The command it triggered by the update_daxdev_table() call, if there are any daxdevs in the subject fmap that are not represented in the daxdev_dable yet. Signed-off-by: John Groves --- fs/fuse/famfs.c | 227

[RFC V2 13/18] famfs_fuse: Create files with famfs fmaps

2025-07-03 Thread John Groves
On completion of GET_FMAP message/response, setup the full famfs metadata such that it's possible to handle read/write/mmap directly to dax. Note that the devdax_iomap plumbing is not in yet... Update MAINTAINERS for the new files. Signed-off-by: John Groves --- MAINTAINERS

[RFC V2 12/18] famfs_fuse: Plumb the GET_FMAP message/response

2025-07-03 Thread John Groves
n the in_args[0].size field. If the fmap would overflow the message, the fuse server sends a reply of size 'sizeof(uint32_t)' which specifies the size of the fmap message. Then the kernel can realloc a large enough buffer and try again. Signed-off-by: John Groves --- fs/fuse/file.c

[RFC V2 11/18] famfs_fuse: Basic famfs mount opts

2025-07-03 Thread John Groves
* -o shadow= * -o daxdev= Signed-off-by: John Groves --- fs/fuse/fuse_i.h | 8 +++- fs/fuse/inode.c | 28 +++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index a592c1002861..f4ee61046578 100644 --- a/fs/fuse

[RFC V2 10/18] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-07-03 Thread John Groves
* FUSE_DAX_FMAP flag in INIT request/reply * fuse_conn->famfs_iomap (enable famfs-mapped files) to denote a famfs-enabled connection Signed-off-by: John Groves --- fs/fuse/fuse_i.h | 3 +++ fs/fuse/inode.c | 14 ++ include/uapi/linux/fuse.h | 4 3 fi

[RFC V2 09/18] famfs_fuse: Update macro s/FUSE_IS_DAX/FUSE_IS_VIRTIO_DAX/

2025-07-03 Thread John Groves
Virtio_fs now needs to determine if an inode is DAX && not famfs. Signed-off-by: John Groves --- fs/fuse/dir.c| 2 +- fs/fuse/file.c | 13 - fs/fuse/fuse_i.h | 6 +- fs/fuse/inode.c | 2 +- fs/fuse/iomode.c | 2 +- 5 files changed, 16 insertions(+), 9 d

[RFC V2 08/18] famfs_fuse: Kconfig

2025-07-03 Thread John Groves
Add FUSE_FAMFS_DAX config parameter, to control compilation of famfs within fuse. Signed-off-by: John Groves --- fs/fuse/Kconfig | 13 + 1 file changed, 13 insertions(+) diff --git a/fs/fuse/Kconfig b/fs/fuse/Kconfig index ca215a3cba3e..e6d554f2a21c 100644 --- a/fs/fuse/Kconfig

[RFC V2 07/18] famfs_fuse: magic.h: Add famfs magic numbers

2025-07-03 Thread John Groves
Famfs distinguishes between its on-media and in-memory superblocks Signed-off-by: John Groves --- include/uapi/linux/magic.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h index bb575f3ab45e..ee497665d8d7 100644 --- a/include/uapi

[RFC V2 06/18] dev_dax_iomap: (ignore!) Drop poisoned page warning in fs/dax.c

2025-07-03 Thread John Groves
This just works around a the "poisoned page" warning that will be properly fixed in a future version of this patch set. Please ignore for the moment. Signed-off-by: John Groves --- fs/dax.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/dax.c b/fs/dax.c index 21b47402b3dc..63

[RFC V2 05/18] dev_dax_iomap: export dax_dev_get()

2025-07-03 Thread John Groves
famfs needs access to dev_dax_get() Signed-off-by: John Groves --- drivers/dax/super.c | 3 ++- include/linux/dax.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dax/super.c b/drivers/dax/super.c index 48bab9b5f341..033fd841c2bb 100644 --- a/drivers/dax/super.c

[RFC V2 03/18] dev_dax_iomap: Save the kva from memremap

2025-07-03 Thread John Groves
ge tables, but this works in all known cases. Signed-off-by: John Groves --- drivers/dax/dax-private.h | 1 + drivers/dax/device.c | 15 +++ 2 files changed, 16 insertions(+) diff --git a/drivers/dax/dax-private.h b/drivers/dax/dax-private.h index 0867115aeef2..2a6b07813f9f 10064

[RFC V2 04/18] dev_dax_iomap: Add dax_operations for use by fs-dax on devdax

2025-07-03 Thread John Groves
sed for read/write (dax_iomap_rw()) * dev_dax_recovery_write() and dev_dax_zero_page_range() have not been tested yet. I'm looking for suggestions as to how to test those. Signed-off-by: John Groves --- drivers/dax/bus.c | 120 -- 1 file chan

[RFC V2 02/18] dev_dax_iomap: Add fs_dax_get() func to prepare dax for fs-dax usage

2025-07-03 Thread John Groves
device. This also adds the CONFIG_DEV_DAX_IOMAP Kconfig parameter Signed-off-by: John Groves --- drivers/dax/Kconfig | 6 ++ drivers/dax/super.c | 30 ++ include/linux/dax.h | 5 + 3 files changed, 41 insertions(+) diff --git a/drivers/dax/Kconfig b/drivers/dax

[RFC V2 01/18] dev_dax_iomap: Move dax_pgoff_to_phys() from device.c to bus.c

2025-07-03 Thread John Groves
_phys() since both bus.c and device.c now call it. Signed-off-by: John Groves --- drivers/dax/bus.c| 24 drivers/dax/device.c | 23 --- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index fde29e0

[RFC V2 00/18] famfs: port into fuse

2025-07-03 Thread John Groves
et/Articles/983105/ [6] - https://lore.kernel.org/linux-cxl/cover.8068ad144a7eea4a813670301f4d2a86a8e68ec4.1740713401.git-series.apop...@nvidia.com/ John Groves (18): dev_dax_iomap: Move dax_pgoff_to_phys() from device.c to bus.c dev_dax_iomap: Add fs_dax_get() func to prepare dax for fs-dax usa

Re: [RFC PATCH 12/19] famfs_fuse: Plumb the GET_FMAP message/response

2025-05-22 Thread John Groves
On 25/05/22 05:45PM, Amir Goldstein wrote: > On Mon, May 12, 2025 at 6:28 PM John Groves wrote: > > > > On 25/05/01 10:48PM, Joanne Koong wrote: > > > On Sun, Apr 20, 2025 at 6:34 PM John Groves wrote: > > > > > > > > Upon completion of a LO

Re: [RFC PATCH 00/19] famfs: port into fuse

2025-05-21 Thread John Groves
On 25/04/20 08:33PM, John Groves wrote: > Subject: famfs: port into fuse > > I'm planning to apply the review comments and send v2 of this patch series soon - hopefully next week. I asked a couple of specific questions for Miklos and Amir at [1] that I hope they will answer in the

Re: [RFC PATCH 13/19] famfs_fuse: Create files with famfs fmaps

2025-05-12 Thread John Groves
On 25/05/06 06:56PM, Miklos Szeredi wrote: > On Mon, 28 Apr 2025 at 21:00, Darrick J. Wong wrote: > > > I don't know what Miklos' opinion is about having multiple > > fusecmds that do similar things -- on the one hand keeping yours and my > > efforts separate explodes the amount of userspace abi

Re: [RFC PATCH 12/19] famfs_fuse: Plumb the GET_FMAP message/response

2025-05-12 Thread John Groves
On 25/05/01 10:48PM, Joanne Koong wrote: > On Sun, Apr 20, 2025 at 6:34 PM John Groves wrote: > > > > Upon completion of a LOOKUP, if we're in famfs-mode we do a GET_FMAP to > > retrieve and cache up the file-to-dax map in the kernel. If this > > succeeds, read/w

Re: [RFC PATCH 00/19] famfs: port into fuse

2025-04-30 Thread John Groves
On 25/04/30 03:42PM, Alireza Sanaee wrote: > On Sun, 20 Apr 2025 20:33:27 -0500 > John Groves wrote: > >> > > Hi John, > > Apologies if the question is far off or irrelevant. > > I am trying to understand FAMFS, and I am thinking where does FAMFS > s

Re: [RFC PATCH 18/19] famfs_fuse: Add documentation

2025-04-27 Thread John Groves
On 25/04/21 07:10PM, Randy Dunlap wrote: > > > On 4/20/25 6:33 PM, John Groves wrote: > > Add Documentation/filesystems/famfs.rst and update MAINTAINERS > > > > Signed-off-by: John Groves > > --- > > Documentation/filesystems/famfs.rst | 142

Re: [RFC PATCH 13/19] famfs_fuse: Create files with famfs fmaps

2025-04-27 Thread John Groves
On 25/04/24 07:38AM, Darrick J. Wong wrote: > On Thu, Apr 24, 2025 at 08:43:33AM -0500, John Groves wrote: > > On 25/04/20 08:33PM, John Groves wrote: > > > On completion of GET_FMAP message/response, setup the full famfs > > > metadata such that it's possible to ha

Re: [RFC PATCH 13/19] famfs_fuse: Create files with famfs fmaps

2025-04-24 Thread John Groves
On 25/04/20 08:33PM, John Groves wrote: > On completion of GET_FMAP message/response, setup the full famfs > metadata such that it's possible to handle read/write/mmap directly to > dax. Note that the devdax_iomap plumbing is not in yet... > > Update MAINTAINERS for the new fi

Re: [RFC PATCH 10/19] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-04-23 Thread John Groves
On 25/04/22 06:36PM, Joanne Koong wrote: > On Sun, Apr 20, 2025 at 6:34 PM John Groves wrote: > > > > * FUSE_DAX_FMAP flag in INIT request/reply > > > > * fuse_conn->famfs_iomap (enable famfs-mapped files) to denote a > > famfs-enabled connectio

Re: [RFC PATCH 11/19] famfs_fuse: Basic famfs mount opts

2025-04-23 Thread John Groves
On 25/04/22 06:51PM, Joanne Koong wrote: > On Sun, Apr 20, 2025 at 6:34 PM John Groves wrote: > > > > * -o shadow= > > * -o daxdev= > > > > Signed-off-by: John Groves > > --- > > fs/fuse/fuse_i.h | 8 +++- > > fs/fuse/inode.c | 25

Re: [RFC PATCH 00/19] famfs: port into fuse

2025-04-22 Thread John Groves
On 25/04/21 06:25PM, Darrick J. Wong wrote: > On Mon, Apr 21, 2025 at 05:00:35PM -0500, John Groves wrote: > > On 25/04/21 11:27AM, Darrick J. Wong wrote: > > > On Sun, Apr 20, 2025 at 08:33:27PM -0500, John Groves wrote: > > > > Subject: famfs: port into fuse > &

Re: [RFC PATCH 13/19] famfs_fuse: Create files with famfs fmaps

2025-04-21 Thread John Groves
On 25/04/21 02:57PM, Darrick J. Wong wrote: > On Sun, Apr 20, 2025 at 08:33:40PM -0500, John Groves wrote: > > On completion of GET_FMAP message/response, setup the full famfs > > metadata such that it's possible to handle read/write/mmap directly to > > dax. Note that th

Re: [RFC PATCH 00/19] famfs: port into fuse

2025-04-21 Thread John Groves
On 25/04/21 11:27AM, Darrick J. Wong wrote: > On Sun, Apr 20, 2025 at 08:33:27PM -0500, John Groves wrote: > > Subject: famfs: port into fuse > > > > This is the initial RFC for the fabric-attached memory file system (famfs) > > integration into fuse. In order to functi

Re: [RFC PATCH 17/19] famfs_fuse: Add famfs metadata documentation

2025-04-21 Thread John Groves
On 25/04/20 08:51PM, Randy Dunlap wrote: > > good edits... Caching them into a branch for the next versions Thank you! John

Re: [RFC PATCH 14/19] famfs_fuse: GET_DAXDEV message and daxdev_table

2025-04-21 Thread John Groves
On 25/04/20 08:43PM, Randy Dunlap wrote: > Hi, Hi Randy - thanks for the review! > > On 4/20/25 6:33 PM, John Groves wrote: > > * The new GET_DAXDEV message/response is enabled > > * The command it triggered by the update_daxdev_table() call, if there > > are any

[RFC PATCH 01/19] dev_dax_iomap: Move dax_pgoff_to_phys() from device.c to bus.c

2025-04-20 Thread John Groves
_phys() since both bus.c and device.c now call it. Signed-off-by: John Groves --- drivers/dax/bus.c| 24 drivers/dax/device.c | 23 --- 2 files changed, 24 insertions(+), 23 deletions(-) diff --git a/drivers/dax/bus.c b/drivers/dax/bus.c index fde29e0

[RFC PATCH 19/19] famfs_fuse: (ignore) debug cruft

2025-04-20 Thread John Groves
This debug cruft will be dropped from the "real" patch set Signed-off-by: John Groves --- fs/fuse/Makefile | 2 +- fs/fuse/dev.c| 61 2 files changed, 62 insertions(+), 1 deletion(-) diff --git a/fs/fuse/Makefile b/fs/fuse/Make

[RFC PATCH 18/19] famfs_fuse: Add documentation

2025-04-20 Thread John Groves
Add Documentation/filesystems/famfs.rst and update MAINTAINERS Signed-off-by: John Groves --- Documentation/filesystems/famfs.rst | 142 Documentation/filesystems/index.rst | 1 + MAINTAINERS | 1 + 3 files changed, 144 insertions

[RFC PATCH 16/19] famfs_fuse: Add holder_operations for dax notify_failure()

2025-04-20 Thread John Groves
If we get a notify_failure() call on a daxdev, set its error flag and prevent further access to that device. Signed-off-by: John Groves --- fs/fuse/famfs.c | 154 ++- fs/fuse/file.c | 6 +- fs/fuse/fuse_i.h | 6 +- 3 files changed, 117

[RFC PATCH 17/19] famfs_fuse: Add famfs metadata documentation

2025-04-20 Thread John Groves
From: John Groves This describes the fmap metadata - both simple and interleaved Signed-off-by: John Groves --- fs/fuse/famfs_kfmap.h | 90 --- 1 file changed, 85 insertions(+), 5 deletions(-) diff --git a/fs/fuse/famfs_kfmap.h b/fs/fuse/famfs_kfmap.h

[RFC PATCH 15/19] famfs_fuse: Plumb dax iomap and fuse read/write/mmap

2025-04-20 Thread John Groves
This commit fills in read/write/mmap handling for famfs files. The dev_dax_iomap interface is used - just like xfs in fs-dax mode. Signed-off-by: John Groves --- fs/fuse/famfs.c | 432 fs/fuse/file.c | 14 ++ 2 files changed, 446 insertions

[RFC PATCH 13/19] famfs_fuse: Create files with famfs fmaps

2025-04-20 Thread John Groves
On completion of GET_FMAP message/response, setup the full famfs metadata such that it's possible to handle read/write/mmap directly to dax. Note that the devdax_iomap plumbing is not in yet... Update MAINTAINERS for the new files. Signed-off-by: John Groves --- MAINTAINERS

[RFC PATCH 14/19] famfs_fuse: GET_DAXDEV message and daxdev_table

2025-04-20 Thread John Groves
* The new GET_DAXDEV message/response is enabled * The command it triggered by the update_daxdev_table() call, if there are any daxdevs in the subject fmap that are not represented in the daxdev_dable yet. Signed-off-by: John Groves --- fs/fuse/famfs.c | 281

[RFC PATCH 12/19] famfs_fuse: Plumb the GET_FMAP message/response

2025-04-20 Thread John Groves
Upon completion of a LOOKUP, if we're in famfs-mode we do a GET_FMAP to retrieve and cache up the file-to-dax map in the kernel. If this succeeds, read/write/mmap are resolved direct-to-dax with no upcalls. Signed-off-by: John Groves --- fs/fuse/dir.c

[RFC PATCH 11/19] famfs_fuse: Basic famfs mount opts

2025-04-20 Thread John Groves
* -o shadow= * -o daxdev= Signed-off-by: John Groves --- fs/fuse/fuse_i.h | 8 +++- fs/fuse/inode.c | 25 - 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/fs/fuse/fuse_i.h b/fs/fuse/fuse_i.h index b2c563b1a1c8..931613102d32 100644 --- a/fs/fuse

[RFC PATCH 10/19] famfs_fuse: Basic fuse kernel ABI enablement for famfs

2025-04-20 Thread John Groves
* FUSE_DAX_FMAP flag in INIT request/reply * fuse_conn->famfs_iomap (enable famfs-mapped files) to denote a famfs-enabled connection Signed-off-by: John Groves --- fs/fuse/fuse_i.h | 3 +++ fs/fuse/inode.c | 5 + include/uapi/linux/fuse.h | 2 ++ 3 files changed,

[RFC PATCH 09/19] famfs_fuse: Update macro s/FUSE_IS_DAX/FUSE_IS_VIRTIO_DAX/

2025-04-20 Thread John Groves
Virtio_fs now needs to determine if an inode is DAX && not famfs. Signed-off-by: John Groves --- fs/fuse/dir.c| 2 +- fs/fuse/file.c | 13 - fs/fuse/fuse_i.h | 6 +- fs/fuse/inode.c | 2 +- fs/fuse/iomode.c | 2 +- 5 files changed, 16 insertions(+), 9 d

[RFC PATCH 08/19] famfs_fuse: Kconfig

2025-04-20 Thread John Groves
Add FUSE_FAMFS_DAX config parameter, to control compilation of famfs within fuse. Signed-off-by: John Groves --- fs/fuse/Kconfig | 13 + 1 file changed, 13 insertions(+) diff --git a/fs/fuse/Kconfig b/fs/fuse/Kconfig index ca215a3cba3e..e6d554f2a21c 100644 --- a/fs/fuse/Kconfig

[RFC PATCH 07/19] famfs_fuse: magic.h: Add famfs magic numbers

2025-04-20 Thread John Groves
Famfs distinguishes between its on-media and in-memory superblocks Signed-off-by: John Groves --- include/uapi/linux/magic.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h index bb575f3ab45e..ee497665d8d7 100644 --- a/include/uapi

[RFC PATCH 06/19] dev_dax_iomap: (ignore!) Drop poisoned page warning in fs/dax.c

2025-04-20 Thread John Groves
This just works around a the "poisoned page" warning that will be properly fixed in a future version of this patch set. Please ignore for the moment. Signed-off-by: John Groves --- fs/dax.c | 1 - 1 file changed, 1 deletion(-) diff --git a/fs/dax.c b/fs/dax.c index 21b47402b3dc..63

[RFC PATCH 05/19] dev_dax_iomap: export dax_dev_get()

2025-04-20 Thread John Groves
famfs needs access to dev_dax_get() Signed-off-by: John Groves --- drivers/dax/super.c | 3 ++- include/linux/dax.h | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/dax/super.c b/drivers/dax/super.c index 48bab9b5f341..033fd841c2bb 100644 --- a/drivers/dax/super.c

[RFC PATCH 04/19] dev_dax_iomap: Add dax_operations for use by fs-dax on devdax

2025-04-20 Thread John Groves
sed for read/write (dax_iomap_rw()) * dev_dax_recovery_write() and dev_dax_zero_page_range() have not been tested yet. I'm looking for suggestions as to how to test those. Signed-off-by: John Groves --- drivers/dax/bus.c | 120 -- 1 file chan

[RFC PATCH 03/19] dev_dax_iomap: Save the kva from memremap

2025-04-20 Thread John Groves
ge tables, but this works in all known cases. Signed-off-by: John Groves --- drivers/dax/dax-private.h | 1 + drivers/dax/device.c | 15 +++ 2 files changed, 16 insertions(+) diff --git a/drivers/dax/dax-private.h b/drivers/dax/dax-private.h index 0867115aeef2..2a6b07813f9f 10064

[RFC PATCH 02/19] dev_dax_iomap: Add fs_dax_get() func to prepare dax for fs-dax usage

2025-04-20 Thread John Groves
device. This also adds the CONFIG_DEV_DAX_IOMAP Kconfig parameter Signed-off-by: John Groves --- drivers/dax/Kconfig | 6 ++ drivers/dax/super.c | 30 ++ include/linux/dax.h | 5 + 3 files changed, 41 insertions(+) diff --git a/drivers/dax/Kconfig b/drivers/dax

[RFC PATCH 00/19] famfs: port into fuse

2025-04-20 Thread John Groves
- https://github.com/cxl-micron-reskit/famfs [3] - https://lore.kernel.org/linux-cxl/cover.1708709155.git.j...@groves.net/ [4] - https://lore.kernel.org/linux-cxl/cover.1714409084.git.j...@groves.net/ [5] - https://lwn.net/Articles/983105/ [6] - https://lore.kernel.org/linux-cxl/cover

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-05-22 Thread John Groves
On 24/05/22 10:58AM, Miklos Szeredi wrote: > On Wed, 22 May 2024 at 04:05, John Groves wrote: > > I'm happy to help with that if you care - ping me if so; getting a VM > > running > > in EFI mode is not necessary if you reserve the dax memory via memmap=, or > >

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-05-21 Thread John Groves
Initial reply to both Amir and Miklos. Sorry for the delay - I took a few days off after LSFMM and I'm just re-engaging now. First an observation: these messages are on the famfs v1 patch set thread. The v2 patch set is at [1]. That is also the default branch now if you clone the famfs kernel from

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-02-29 Thread John Groves
On 24/02/29 08:52AM, Amir Goldstein wrote: > On Fri, Feb 23, 2024 at 7:42 PM John Groves wrote: > > > > This patch set introduces famfs[1] - a special-purpose fs-dax file system > > for sharable disaggregated or fabric-attached memory (FAM). Famfs is not > >

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-02-29 Thread John Groves
Hi Dave! On 24/02/29 01:15PM, Dave Chinner wrote: > On Mon, Feb 26, 2024 at 08:05:58PM -0600, John Groves wrote: > > On 24/02/26 04:58PM, Luis Chamberlain wrote: > > > On Mon, Feb 26, 2024 at 1:16 PM John Groves wrote: > > > > > > > > On 24/02/26 07:

Re: [RFC PATCH 08/20] famfs: Add famfs_internal.h

2024-02-27 Thread John Groves
On 24/02/27 10:28AM, Jonathan Cameron wrote: > On Mon, 26 Feb 2024 11:35:17 -0600 > John Groves wrote: > > > On 24/02/26 12:48PM, Jonathan Cameron wrote: > > > On Fri, 23 Feb 2024 11:41:52 -0600 > > > John Groves wrote: > > > > > > >

Re: [RFC PATCH 11/20] famfs: Add fs_context_operations

2024-02-27 Thread John Groves
On 24/02/27 02:41PM, Christian Brauner wrote: > On Fri, Feb 23, 2024 at 11:41:55AM -0600, John Groves wrote: > > This commit introduces the famfs fs_context_operations and > > famfs_get_inode() which is used by the context operations. > > > > Signed-off-by: John Gr

Re: [RFC PATCH 18/20] famfs: Support character dax via the dev_dax_iomap patch

2024-02-27 Thread John Groves
On 24/02/26 01:52PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:42:02 -0600 > John Groves wrote: > > > This commit introduces the ability to open a character /dev/dax device > > instead of a block /dev/pmem device. This rests on the dev_dax_iomap > > pat

Re: [RFC PATCH 17/20] famfs: Add module stuff

2024-02-27 Thread John Groves
On 24/02/26 01:47PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:42:01 -0600 > John Groves wrote: > > > This commit introduces the module init and exit machinery for famfs. > > > > Signed-off-by: John Groves > I'd prefer to see this from the start w

Re: [RFC PATCH 10/20] famfs: famfs_open_device() & dax_holder_operations

2024-02-27 Thread John Groves
On 24/02/27 02:39PM, Christian Brauner wrote: > On Fri, Feb 23, 2024 at 11:41:54AM -0600, John Groves wrote: > > Famfs works on both /dev/pmem and /dev/dax devices. This commit introduces > > the function that opens a block (pmem) device and the struct > > dax_holder_operation

Re: [RFC PATCH 09/20] famfs: Add super_operations

2024-02-27 Thread John Groves
On 24/02/26 12:51PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:53 -0600 > John Groves wrote: > > + */ > > +static int famfs_show_options( > > + struct seq_file *m, > > + struct dentry *root) > Not that familiar with fs code, but this unusual kerne

Re: [RFC PATCH 08/20] famfs: Add famfs_internal.h

2024-02-27 Thread John Groves
On 24/02/27 02:38PM, Christian Brauner wrote: > On Fri, Feb 23, 2024 at 11:41:52AM -0600, John Groves wrote: > > Add the famfs_internal.h include file. This contains internal data > > structures such as the per-file metadata structure (famfs_file_meta) > > and extent formats

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-02-26 Thread John Groves
On 24/02/26 04:58PM, Luis Chamberlain wrote: > On Mon, Feb 26, 2024 at 1:16 PM John Groves wrote: > > > > On 24/02/26 07:53AM, Luis Chamberlain wrote: > > > On Mon, Feb 26, 2024 at 07:27:18AM -0600, John Groves wrote: > > > > Run status group 0 (all jobs): >

Re: [RFC PATCH 14/20] famfs: Add struct file_operations

2024-02-26 Thread John Groves
On 24/02/26 01:32PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:58 -0600 > John Groves wrote: > > > This commit introduces the famfs file_operations. We call > > thp_get_unmapped_area() to force PMD page alignment. Our read and > > write handlers

Re: [RFC PATCH 13/20] famfs: Add iomap_ops

2024-02-26 Thread John Groves
On 24/02/26 01:30PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:57 -0600 > John Groves wrote: > > > This commit introduces the famfs iomap_ops. When either > > dax_iomap_fault() or dax_iomap_rw() is called, we get a callback > > via our iomap_begin() handler.

Re: [RFC PATCH 12/20] famfs: Add inode_operations and file_system_type

2024-02-26 Thread John Groves
On 24/02/26 01:25PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:56 -0600 > John Groves wrote: > > > This commit introduces the famfs inode_operations. There is nothing really > > unique to famfs here in the inode_operations.. > > > >

Re: [RFC PATCH 11/20] famfs: Add fs_context_operations

2024-02-26 Thread John Groves
On 24/02/26 01:20PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:55 -0600 > John Groves wrote: > > > This commit introduces the famfs fs_context_operations and > > famfs_get_inode() which is used by the context operations. > > > > Signed-off-by: John

Re: [RFC PATCH 10/20] famfs: famfs_open_device() & dax_holder_operations

2024-02-26 Thread John Groves
On 24/02/26 12:56PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:54 -0600 > John Groves wrote: > > > Famfs works on both /dev/pmem and /dev/dax devices. This commit introduces > > the function that opens a block (pmem) device and the struct > > dax_holder_ope

Re: [RFC PATCH 09/20] famfs: Add super_operations

2024-02-26 Thread John Groves
On 24/02/26 12:51PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:53 -0600 > John Groves wrote: > > > Introduce the famfs superblock operations > > > > Signed-off-by: John Groves > > --- > > fs/famfs/famfs_inode.c | 72 +++

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-02-26 Thread John Groves
On 24/02/26 07:53AM, Luis Chamberlain wrote: > On Mon, Feb 26, 2024 at 07:27:18AM -0600, John Groves wrote: > > Run status group 0 (all jobs): > > WRITE: bw=29.6GiB/s (31.8GB/s), 29.6GiB/s-29.6GiB/s (31.8GB/s-31.8GB/s), > > io=44.7GiB (48.0GB), run=1511-1511msec > &

Re: [RFC PATCH 07/20] famfs: Add include/linux/famfs_ioctl.h

2024-02-26 Thread John Groves
On 24/02/26 04:56PM, Jonathan Cameron wrote: > On Mon, 26 Feb 2024 10:44:43 -0600 > John Groves wrote: > > > On 24/02/26 12:39PM, Jonathan Cameron wrote: > > > On Fri, 23 Feb 2024 11:41:51 -0600 > > > John Groves wrote: > > > > > > > Add

Re: [RFC PATCH 08/20] famfs: Add famfs_internal.h

2024-02-26 Thread John Groves
On 24/02/26 12:48PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:52 -0600 > John Groves wrote: > > > Add the famfs_internal.h include file. This contains internal data > > structures such as the per-file metadata structure (famfs_file_meta) > > and extent form

Re: [RFC PATCH 07/20] famfs: Add include/linux/famfs_ioctl.h

2024-02-26 Thread John Groves
On 24/02/26 12:39PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:51 -0600 > John Groves wrote: > > > Add uapi include file for famfs. The famfs user space uses ioctl on > > individual files to pass in mapping information and file size. This > > would be ha

Re: [RFC PATCH 06/20] dev_dax_iomap: Add CONFIG_DEV_DAX_IOMAP kernel build parameter

2024-02-26 Thread John Groves
On 24/02/26 12:34PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:50 -0600 > John Groves wrote: > > > Add the CONFIG_DEV_DAX_IOMAP kernel config parameter to control building > > of the iomap functionality to support fsdax on devdax. > > I would squash wit

Re: [RFC PATCH 05/20] dev_dax_iomap: Add dax_operations for use by fs-dax on devdax

2024-02-26 Thread John Groves
On 24/02/26 12:32PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:49 -0600 > John Groves wrote: > > > Notes about this commit: > > > > * These methods are based somewhat loosely on pmem_dax_ops from > > drivers/nvdimm/pmem.c > > > > * de

Re: [RFC PATCH 04/20] dev_dax_iomap: Save the kva from memremap

2024-02-26 Thread John Groves
On 24/02/26 12:21PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:48 -0600 > John Groves wrote: > > > Save the kva from memremap because we need it for iomap rw support > > > > Prior to famfs, there were no iomap users of /dev/dax - so the virtual > > add

Re: [RFC PATCH 03/20] dev_dax_iomap: Move dax_pgoff_to_phys from device.c to bus.c since both need it now

2024-02-26 Thread John Groves
On 24/02/26 12:10PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:47 -0600 > John Groves wrote: > > > bus.c can't call functions in device.c - that creates a circular linkage > > dependency. > > > > Signed-off-by: John Groves > > This a

Re: [RFC PATCH 02/20] dev_dax_iomap: Add fs_dax_get() func to prepare dax for fs-dax usage

2024-02-26 Thread John Groves
On 24/02/26 12:05PM, Jonathan Cameron wrote: > On Fri, 23 Feb 2024 11:41:46 -0600 > John Groves wrote: > > > This function should be called by fs-dax file systems after opening the > > devdax device. This adds holder_operations. > > > > This function serves th

Re: [RFC PATCH 00/20] Introduce the famfs shared-memory file system

2024-02-26 Thread John Groves
On 24/02/23 04:07PM, Luis Chamberlain wrote: > On Fri, Feb 23, 2024 at 11:41:44AM -0600, John Groves wrote: > > This patch set introduces famfs[1] - a special-purpose fs-dax file system > > for sharable disaggregated or fabric-attached memory (FAM). Famfs is not > > CXL-s

Re: [RFC PATCH 07/20] famfs: Add include/linux/famfs_ioctl.h

2024-02-24 Thread John Groves
On 24/02/23 07:27PM, Randy Dunlap wrote: > Hi John, > > On 2/23/24 18:23, John Groves wrote: > >>> + > >>> +#define FAMFSIOC_MAGIC 'u' > >> This 'u' value should be documented in > >> Documentation/userspace-api/ioctl/ioctl-n

Re: [RFC PATCH 20/20] famfs: Add Kconfig and Makefile plumbing

2024-02-23 Thread John Groves
On 24/02/23 05:50PM, Randy Dunlap wrote: > Hi, > > On 2/23/24 09:42, John Groves wrote: > > Add famfs Kconfig and Makefile, and hook into fs/Kconfig and fs/Makefile > > > > Signed-off-by: John Groves > > --- > > fs/Kconfig| 2 ++ > > f

  1   2   >