From: Christian Brauner <brauner@kernel.org>
To: Joanne Koong <joannelkoong@gmail.com>
Cc: Christoph Hellwig <hch@infradead.org>,
Miklos Szeredi <miklos@szeredi.hu>,
John Groves <John@groves.net>,
Bernd Schubert <bernd@bsbernd.com>,
John Groves <john@jagalactic.com>,
Dan Williams <dan.j.williams@intel.com>,
Bernd Schubert <bschubert@ddn.com>,
Alison Schofield <alison.schofield@intel.com>,
John Groves <jgroves@micron.com>,
Jonathan Corbet <corbet@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>,
David Hildenbrand <david@kernel.org>,
"Darrick J . Wong" <djwong@kernel.org>,
Randy Dunlap <rdunlap@infradead.org>,
Jeff Layton <jlayton@kernel.org>,
Amir Goldstein <amir73il@gmail.com>,
Jonathan Cameron <Jonathan.Cameron@huawei.com>,
Stefan Hajnoczi <shajnocz@redhat.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>,
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>,
djbw@kernel.org
Subject: Re: [PATCH V10 00/10] famfs: port into fuse
Date: Tue, 21 Apr 2026 08:59:32 +0200 [thread overview]
Message-ID: <20260421-arsch-gelernt-e0b5bcd8a7ff@brauner> (raw)
In-Reply-To: <CAJnrk1a7idWN4UNpW0P-X4xeBKOkhnR+Mvfo3QW38OfShiwpKw@mail.gmail.com>
On Fri, Apr 17, 2026 at 12:35:13PM -0700, Joanne Koong wrote:
> On Fri, Apr 17, 2026 at 1:04 AM Christoph Hellwig <hch@infradead.org> wrote:
> >
> > This is the first mail without annoying and pointless full quotes,
> > so chiming in here. Sorry if I missed something important in all the
> > noise.
> >
> > On Tue, Apr 14, 2026 at 03:19:36PM +0200, Miklos Szeredi wrote:
> > > On Fri, 10 Apr 2026 at 21:44, Joanne Koong <joannelkoong@gmail.com> wrote:
> > >
> > > > Overall, my intention with bringing this up is just to make sure we're
> > > > at least aware of this alternative before anything is merged and
> > > > permanent. If Miklos and you think we should land this series, then
> > > > I'm on board with that.
> > >
> > > TBH, I'd prefer not to add the famfs specific mapping interface if not
> > > absolutely necessary.
> >
> > Yes, fuse needing support for a specific file systems sounds like a
> > design mistake.
> >
> > >This was the main sticking point originally,
> > > but there seemed to be no better alternative.
> > >
> > > However with the bpf approach this would be gone, which is great.
> >
> > So what is this bpf magic actually trying to solve?
>
> It is trying to avoid having famfs-specific implementation details
> hardcoded permanently into fuse's uapi and kernel code. I really like
> your suggestion of adding generic stride/offset multi-device support
> to fs/iomap. That is a much better solution than bpf.
If you go down the bpf route you will just have to use bpf hashmaps to
associate the blobs that you need with the relevant data structure and
then activate it from whatever hook you need. There's now very flexible
hashmap storage that you can autoresize - or you can use bpf arenas.
There's a ton of options that don't require modifying core structures.
IOW, I don't want dedicated bpf storage in struct inode. Not just
because bpf people consider dedicated blob storage in kernel structures
obsolete and recommend to use hashmaps - which is e.g., what I use for
another project of mine where I associate metadata with block devices -
but also because I very much disagree with bloating generic infra.
prev parent reply other threads:[~2026-04-21 6:59 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20260331123702.35052-1-john@jagalactic.com>
2026-03-31 12:37 ` [PATCH V10 00/10] famfs: port into fuse John Groves
2026-03-31 12:38 ` [PATCH V10 01/10] famfs_fuse: Update macro s/FUSE_IS_DAX/FUSE_IS_VIRTIO_DAX/ John Groves
2026-03-31 12:38 ` [PATCH V10 02/10] famfs_fuse: Basic fuse kernel ABI enablement for famfs John Groves
2026-03-31 12:38 ` [PATCH V10 03/10] famfs_fuse: Plumb the GET_FMAP message/response John Groves
2026-03-31 12:38 ` [PATCH V10 04/10] famfs_fuse: Create files with famfs fmaps John Groves
2026-03-31 12:38 ` [PATCH V10 05/10] famfs_fuse: GET_DAXDEV message and daxdev_table John Groves
2026-03-31 12:39 ` [PATCH V10 06/10] famfs_fuse: Plumb dax iomap and fuse read/write/mmap John Groves
2026-03-31 12:39 ` [PATCH V10 07/10] famfs_fuse: Add holder_operations for dax notify_failure() John Groves
2026-03-31 12:39 ` [PATCH V10 08/10] famfs_fuse: Add DAX address_space_operations with noop_dirty_folio John Groves
2026-03-31 12:39 ` [PATCH V10 09/10] famfs_fuse: Add famfs fmap metadata documentation John Groves
2026-03-31 12:39 ` [PATCH V10 10/10] famfs_fuse: Add documentation John Groves
2026-04-01 15:15 ` [PATCH V10 00/10] famfs: port into fuse John Groves
2026-04-06 17:43 ` Joanne Koong
2026-04-10 14:46 ` John Groves
2026-04-10 15:24 ` Bernd Schubert
2026-04-10 18:38 ` John Groves
2026-04-10 19:44 ` Joanne Koong
2026-04-14 13:19 ` Miklos Szeredi
2026-04-14 13:41 ` John Groves
2026-04-14 14:18 ` Miklos Szeredi
2026-04-14 15:23 ` John Groves
2026-04-14 18:57 ` Darrick J. Wong
2026-04-14 22:13 ` Joanne Koong
2026-04-14 23:36 ` Darrick J. Wong
2026-04-15 0:10 ` John Groves
2026-04-16 15:56 ` Joanne Koong
2026-04-16 20:14 ` Gregory Price
2026-04-16 20:53 ` Dan Williams
2026-04-16 22:43 ` Darrick J. Wong
2026-04-17 0:44 ` Joanne Koong
2026-04-17 5:40 ` Darrick J. Wong
2026-04-17 8:17 ` Christoph Hellwig
2026-04-17 15:58 ` Darrick J. Wong
2026-04-17 8:13 ` Christoph Hellwig
2026-04-17 13:30 ` Gregory Price
2026-04-17 1:24 ` Joanne Koong
2026-04-17 6:46 ` Gregory Price
2026-04-17 9:06 ` Amir Goldstein
2026-04-14 22:20 ` Gregory Price
2026-04-15 8:16 ` David Hildenbrand (Arm)
2026-04-15 13:34 ` Gregory Price
2026-04-15 14:04 ` Miklos Szeredi
2026-04-15 15:10 ` Matthew Wilcox
2026-04-15 15:28 ` Darrick J. Wong
2026-04-15 15:32 ` Gregory Price
2026-04-15 17:12 ` Joanne Koong
2026-04-15 19:40 ` Gregory Price
2026-04-19 20:36 ` John Groves
2026-04-20 0:27 ` Gregory Price
2026-04-21 3:12 ` Joanne Koong
2026-04-21 14:30 ` Gregory Price
2026-04-21 18:59 ` Joanne Koong
2026-04-21 22:13 ` Gregory Price
2026-04-14 23:53 ` John Groves
2026-04-15 0:15 ` Darrick J. Wong
2026-04-15 8:57 ` Miklos Szeredi
2026-04-17 8:04 ` Christoph Hellwig
2026-04-17 19:35 ` Joanne Koong
2026-04-21 6:59 ` Christian Brauner [this message]
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=20260421-arsch-gelernt-e0b5bcd8a7ff@brauner \
--to=brauner@kernel.org \
--cc=John@groves.net \
--cc=Jonathan.Cameron@huawei.com \
--cc=ackerleytng@google.com \
--cc=ajayjoshi@micron.com \
--cc=alison.schofield@intel.com \
--cc=amir73il@gmail.com \
--cc=arramesh@micron.com \
--cc=bagasdotme@gmail.com \
--cc=bernd@bsbernd.com \
--cc=bschubert@ddn.com \
--cc=chenlinxuan@uniontech.com \
--cc=corbet@lwn.net \
--cc=dan.j.williams@intel.com \
--cc=dave.jiang@intel.com \
--cc=david@kernel.org \
--cc=djbw@kernel.org \
--cc=djwong@kernel.org \
--cc=gourry@gourry.net \
--cc=hch@infradead.org \
--cc=jack@suse.cz \
--cc=james.morse@arm.com \
--cc=jgroves@micron.com \
--cc=jlayton@kernel.org \
--cc=joannelkoong@gmail.com \
--cc=john@jagalactic.com \
--cc=josef@toxicpanda.com \
--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=miklos@szeredi.hu \
--cc=nvdimm@lists.linux.dev \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox