All of lore.kernel.org
 help / color / mirror / Atom feed
From: "John Groves" <john@groves.net>
To: "Darrick J . Wong" <djwong@kernel.org>,
	"Miklos Szeredi" <miklos@szeredi.hu>
Cc: "David Hildenbrand" <david@kernel.org>,
	"Christian Brauner" <brauner@kernel.org>,
	"John Groves" <john@jagalactic.com>,
	"Dan Williams" <djbw@kernel.org>,
	"Bernd Schubert" <bschubert@ddn.com>,
	"Alison Schofield" <alison.schofield@intel.com>,
	"John Groves (jgroves)" <jgroves@micron.com>,
	"Jonathan Corbet" <corbet@lwn.net>, "Jake Edge" <jake@lwn.net>,
	"Shuah Khan" <skhan@linuxfoundation.org>,
	"Vishal Verma" <vishal.l.verma@intel.com>,
	"Dave Jiang" <dave.jiang@intel.com>,
	"Matthew Wilcox" <willy@infradead.org>, "Jan Kara" <jack@suse.cz>,
	"Alexander Viro" <viro@zeniv.linux.org.uk>,
	"Randy Dunlap" <rdunlap@infradead.org>,
	"Jeff Layton" <jlayton@kernel.org>,
	"Amir Goldstein" <amir73il@gmail.com>,
	"Jonathan Cameron" <jic23@kernel.org>,
	"Stefan Hajnoczi" <shajnocz@redhat.com>,
	"Joanne Koong" <joannelkoong@gmail.com>,
	"Josef Bacik" <josef@toxicpanda.com>,
	"Bagas Sanjaya" <bagasdotme@gmail.com>,
	"Chen Linxuan" <chenlinxuan@uniontech.com>,
	"James Morse" <james.morse@arm.com>,
	"Fuad Tabba" <tabba@google.com>,
	"Sean Christopherson" <seanjc@google.com>,
	"Shivank Garg" <shivankg@amd.com>,
	"Ackerley Tng" <ackerleytng@google.com>,
	"Gregory Price" <gourry@gourry.net>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"Namjae Jeon" <linkinjeon@kernel.org>,
	"Lorenzo Stoakes" <ljs@kernel.org>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Ira Weiny" <iweiny@kernel.org>,
	"Pasha Tatashin" <pasha.tatashin@soleen.com>,
	"Haren Myneni" <haren@linux.ibm.com>,
	"Pratyush Yadav" <pratyush@kernel.org>,
	"Giovanni Cabiddu" <giovanni.cabiddu@intel.com>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"Ethan Nelson-Moore" <enelsonmoore@gmail.com>,
	"Gabriel Whigham" <gabewhigham@gmail.com>,
	"Aravind Ramesh" <arramesh@micron.com>,
	"Ajay Joshi" <ajayjoshi@micron.com>,
	"venkataravis@micron.com" <venkataravis@micron.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"nvdimm@lists.linux.dev" <nvdimm@lists.linux.dev>,
	"linux-cxl@vger.kernel.org" <linux-cxl@vger.kernel.org>,
	"linux-fsdevel@vger.kernel.org" <linux-fsdevel@vger.kernel.org>,
	"fuse-devel@lists.linux.dev" <fuse-devel@lists.linux.dev>
Subject: Re: [PATCH V12 02/12] famfs: Module operations, fs_context, and mount
Date: Sat, 22 Aug 2026 21:36:16 -0500	[thread overview]
Message-ID: <e05d0dac-06d8-48e8-a2da-3b48fc9917ef@app.fastmail.com> (raw)
In-Reply-To: <20260822002111.GA6110@frogsfrogsfrogs>



On Fri, Aug 21, 2026, at 7:21 PM, Darrick J. Wong wrote:
> On Fri, Aug 21, 2026 at 09:39:26PM +0200, Miklos Szeredi wrote:
> > On Fri, 21 Aug 2026 at 13:40, David Hildenbrand (Arm) <david@kernel.org> wrote:
> > 
> > > (a) Whether a fuse-based approach is feasible.
> > >
> > >     Are there any major blockers remaining?
> > 
> > No.
> > 
> > > (b) Whether a fuse-based approach is inefficient.
> > >
> > >     Are there scenarios remaining where performance or metadata overhead would
> > >     be bad without an easy way to improve the situation?
> > 
> > Lookups can be cached, extent mappings can also be cached.   After the
> > inode is in cache and the mapping is set up zero requests are needed
> > for open/mmap/read/write/close.
> > 
> > > (c) Whether a fuse-based approach is a bad conceptual fit.
> > >
> > >     Will fuse have to carry a lot of famfs special sauce that cannot
> > >     really be used elsewhere / generalized?
> > 
> > None.
> > 
> > But "can" and "will" are not the same.  The striping code might not be
> > very useful outside of famfs.
> > 
> > > (d) Whether a fuse-based approach is too invasive.
> > >
> > >     Will fuse extensions to support famfs actually make it harder to maintain or
> > >     slower on some paths?
> > 
> > No.
> > 
> > > (e) Whether a fuse-based approach will make famfs harder to extend.
> > >
> > >     Is there known follow-up work that will be hard/impossible to model in fuse?
> > 
> > It would actually make famfs much easier to extend, since the
> > directory structure, metadata, etc. is now controllable within the
> > userspace server.
> > 
> > > (f) Whether a fuse-based approach will reduce maintenance effor
> > >
> > >     Will maintaining fuse extensions possibly be harder than maintaining
> > >     standalone famfs?
> > 
> > Testing is a key point.  Famfs needs special hardware or emulation, so
> > it's not straightforward to test.  This could be solved by adding a
> > "dummy" mode to famfs server that exercises the same fuse API, but
> > instead of special hardware would just use plain memory.
> > 
> > > (g) Whether a fuse-based approach would make famfs more complex.
> > >
> > >     Will the shift to user space result in a significantly more complicated
> > >     overall solution that must be maintained?
> > 
> > The server would be somewhat more complex, since it's now implementing
> > things like pathname lookup, etc.  But the other stuff (managing file
> > maps) should be very similar.
> > 
> > > (h) Who would help drive the fuse approach?
> > >
> > >     Fuse people seem to be willing to help, but I expect that there must be a
> > >     close cooperation with John to make this fly. I don't expect that John
> > >     himself can easily (or understandably wants to :) ) do the heavy fuse
> > >     lifting.
> > 
> > Yes, this is where previous efforts seem to have gone off the rails.
> > So I agree to take responsibility for implementing the kernel side and
> > help with the server side on the condition that John has trust in
> > this.   I'm not promising -7.4, but can at least try.
> > 
> > Without John's trust I'm not taking this on.
> 
> Whatever path you and John decide on, I would very much like to see the
> question of Which famfs driver do we merge? to be resolved for 7.4.
> 
> --D

I certainly support this plan!

Thanks,
John

<snip>

  reply	other threads:[~2026-08-23  2:36 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260803022730.75731-1-john@jagalactic.com>
2026-08-03  2:27 ` [PATCH V12 00/12] famfs: the Fabric-Attached Memory File System (standalone) John Groves
2026-08-03  2:28   ` [PATCH V12 01/12] dax: replace exported dax_dev_get() with non-allocating dax_dev_find() John Groves
2026-08-03  2:43     ` sashiko-bot
2026-08-03 19:13     ` Alison Schofield
2026-08-05 20:21       ` John Groves
2026-08-03  2:28   ` [PATCH V12 02/12] famfs: Module operations, fs_context, and mount John Groves
2026-08-03  2:49     ` sashiko-bot
2026-08-06  4:37     ` Darrick J. Wong
2026-08-06 13:22       ` John Groves
2026-08-11  8:59       ` Miklos Szeredi
2026-08-11  9:24         ` Christian Brauner
2026-08-21 11:39           ` David Hildenbrand (Arm)
2026-08-21 19:39             ` Miklos Szeredi
2026-08-22  0:21               ` Darrick J. Wong
2026-08-23  2:36                 ` John Groves [this message]
2026-08-23 13:48                 ` Jeff Layton
2026-08-25 13:34                 ` Christian Brauner
2026-08-25 22:08                   ` Neal Gompa
2026-08-28 17:59                   ` Darrick J. Wong
2026-09-04  9:22                     ` Christian Brauner
2026-08-22 21:55               ` John Groves
2026-08-24  7:41                 ` Miklos Szeredi
2026-08-24 23:53                   ` John Groves
2026-08-28 17:39                   ` John Groves
2026-09-04  9:24                     ` Christian Brauner
2026-08-24 14:25                 ` David Hildenbrand (Arm)
2026-08-03  2:28   ` [PATCH V12 03/12] famfs: Add daxdev table and dax notify_failure support John Groves
2026-08-03  2:45     ` sashiko-bot
2026-08-06  5:05     ` Darrick J. Wong
2026-08-06 13:36       ` John Groves
2026-08-03  2:28   ` [PATCH V12 04/12] famfs: Introduce inode_operations and super_operations John Groves
2026-08-03  2:42     ` sashiko-bot
2026-08-06  5:12     ` Darrick J. Wong
2026-08-06 16:31       ` John Groves
2026-08-03  2:29   ` [PATCH V12 05/12] famfs: Introduce file_operations read/write John Groves
2026-08-03  2:42     ` sashiko-bot
2026-08-06  5:14     ` Darrick J. Wong
2026-08-06 20:03       ` John Groves
2026-08-03  2:29   ` [PATCH V12 06/12] famfs: Introduce mmap and VM fault handling John Groves
2026-08-03  2:46     ` sashiko-bot
2026-08-06  5:16     ` Darrick J. Wong
2026-08-06 20:40       ` John Groves
2026-08-03  2:29   ` [PATCH V12 07/12] famfs: MAP_CREATE ioctl and fmap ingest (ABI 44) John Groves
2026-08-03  2:42     ` sashiko-bot
2026-08-06  5:24     ` Darrick J. Wong
2026-08-06 20:53       ` John Groves
2026-08-07 22:17         ` John Groves
2026-08-03  2:29   ` [PATCH V12 08/12] famfs: iomap_begin and file-to-dax offset resolution John Groves
2026-08-03  2:44     ` sashiko-bot
2026-08-06  5:28     ` Darrick J. Wong
2026-08-06 22:14       ` John Groves
2026-08-03  2:29   ` [PATCH V12 09/12] famfs: Register secondary daxdevs by path (FAMFSIOC_DAXDEV_OPEN) John Groves
2026-08-03  2:42     ` sashiko-bot
2026-08-06  5:29     ` Darrick J. Wong
2026-08-06 22:22       ` John Groves
2026-08-03  2:29   ` [PATCH V12 10/12] famfs: Add runtime operation-permission (opts) framework John Groves
2026-08-03  2:42     ` sashiko-bot
2026-08-06  5:31     ` Darrick J. Wong
2026-08-06 22:30       ` John Groves
2026-08-03  2:30   ` [PATCH V12 11/12] famfs: Report device capacity via statfs so df works John Groves
2026-08-03  2:58     ` sashiko-bot
2026-08-06  5:33     ` Darrick J. Wong
2026-08-07 13:47       ` John Groves
2026-08-03  2:30   ` [PATCH V12 12/12] famfs: Add documentation John Groves
2026-08-06  5:38     ` Darrick J. Wong
2026-08-07 15:05       ` John Groves
2026-08-03  8:52   ` [PATCH V12 00/12] famfs: the Fabric-Attached Memory File System (standalone) Amir Goldstein
2026-08-06  5:19     ` Matthew Wilcox
2026-08-06  5:34       ` Darrick J. Wong
2026-08-10 18:43         ` Amir Goldstein

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=e05d0dac-06d8-48e8-a2da-3b48fc9917ef@app.fastmail.com \
    --to=john@groves.net \
    --cc=ackerleytng@google.com \
    --cc=ajayjoshi@micron.com \
    --cc=akpm@linux-foundation.org \
    --cc=alison.schofield@intel.com \
    --cc=amir73il@gmail.com \
    --cc=arramesh@micron.com \
    --cc=bagasdotme@gmail.com \
    --cc=brauner@kernel.org \
    --cc=bschubert@ddn.com \
    --cc=chenlinxuan@uniontech.com \
    --cc=corbet@lwn.net \
    --cc=dave.jiang@intel.com \
    --cc=david@kernel.org \
    --cc=djbw@kernel.org \
    --cc=djwong@kernel.org \
    --cc=enelsonmoore@gmail.com \
    --cc=fuse-devel@lists.linux.dev \
    --cc=gabewhigham@gmail.com \
    --cc=giovanni.cabiddu@intel.com \
    --cc=gourry@gourry.net \
    --cc=gregkh@linuxfoundation.org \
    --cc=haren@linux.ibm.com \
    --cc=iweiny@kernel.org \
    --cc=jack@suse.cz \
    --cc=jake@lwn.net \
    --cc=james.morse@arm.com \
    --cc=jgroves@micron.com \
    --cc=jic23@kernel.org \
    --cc=jirislaby@kernel.org \
    --cc=jlayton@kernel.org \
    --cc=joannelkoong@gmail.com \
    --cc=john@jagalactic.com \
    --cc=josef@toxicpanda.com \
    --cc=linkinjeon@kernel.org \
    --cc=linux-cxl@vger.kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ljs@kernel.org \
    --cc=miklos@szeredi.hu \
    --cc=nvdimm@lists.linux.dev \
    --cc=pasha.tatashin@soleen.com \
    --cc=pratyush@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=seanjc@google.com \
    --cc=shajnocz@redhat.com \
    --cc=shivankg@amd.com \
    --cc=skhan@linuxfoundation.org \
    --cc=tabba@google.com \
    --cc=venkataravis@micron.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=vishal.l.verma@intel.com \
    --cc=willy@infradead.org \
    /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 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.