From: Jeff Layton via Linux-f2fs-devel <linux-f2fs-devel@lists.sourceforge.net>
To: NeilBrown <neil@brown.name>, Christoph Hellwig <hch@infradead.org>
Cc: Martin Brandenburg <martin@omnibond.com>,
jfs-discussion@lists.sourceforge.net, Jan Kara <jack@suse.cz>,
Paulo Alcantara <pc@manguebit.org>,
Alex Markuze <amarkuze@redhat.com>,
Sandeep Dhavale <dhavale@google.com>,
linux-btrfs@vger.kernel.org, Carlos Maiolino <cem@kernel.org>,
Amir Goldstein <amir73il@gmail.com>,
linux-unionfs@vger.kernel.org,
Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
Chris Mason <clm@fb.com>,
Andreas Dilger <adilger.kernel@dilger.ca>,
Chunhai Guo <guochunhai@vivo.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
linux-mtd@lists.infradead.org,
Mike Marshall <hubcap@omnibond.com>,
linux-xfs@vger.kernel.org, linux-nilfs@vger.kernel.org,
Yue Hu <zbestahu@gmail.com>, Miklos Szeredi <miklos@szeredi.hu>,
Richard Weinberger <richard@nod.at>,
Mark Fasheh <mark@fasheh.com>, Hugh Dickins <hughd@google.com>,
Dai Ngo <Dai.Ngo@oracle.com>,
Ryusuke Konishi <konishi.ryusuke@gmail.com>,
Viacheslav Dubeyko <slava@dubeyko.com>,
Ilya Dryomov <idryomov@gmail.com>,
linux-ext4@vger.kernel.org, Salah Triki <salah.triki@gmail.com>,
linux-mm@kvack.org, devel@lists.orangefs.org,
Shyam Prasad N <sprasad@microsoft.com>,
Olga Kornievskaia <okorniev@redhat.com>,
linux-cifs@vger.kernel.org, Dave Kleikamp <shaggy@kernel.org>,
linux-nfs@vger.kernel.org, Tom Talpey <tom@talpey.com>,
ocfs2-devel@lists.linux.dev, Bharath SM <bharathsm@microsoft.com>,
David Sterba <dsterba@suse.com>,
Alexander Viro <viro@zeniv.linux.org.uk>,
Baolin Wang <baolin.wang@linux.alibaba.com>,
Jeffle Xu <jefflexu@linux.alibaba.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
ceph-devel@vger.kernel.org, Gao Xiang <xiang@kernel.org>,
OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>,
Andreas Gruenbacher <agruenba@redhat.com>,
gfs2@lists.linux.dev, Christian Brauner <brauner@kernel.org>,
Theodore Ts'o <tytso@mit.edu>,
Luis de Bethencourt <luisbg@kernel.org>,
Joseph Qi <joseph.qi@linux.alibaba.com>,
linux-erofs@lists.ozlabs.org, linux-kernel@vger.kernel.org,
linux-f2fs-devel@lists.sourceforge.net,
Steve French <sfrench@samba.org>,
Chuck Lever <chuck.lever@oracle.com>,
Hongbo Li <lihongbo22@huawei.com>,
Anna Schumaker <anna@kernel.org>, Jan Kara <jack@suse.com>,
linux-fsdevel@vger.kernel.org,
Phillip Lougher <phillip@squashfs.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
ntfs3@lists.linux.dev, David Woodhouse <dwmw2@infradead.org>,
Trond Myklebust <trondmy@kernel.org>,
Joel Becker <jlbec@evilplan.org>
Subject: Re: [f2fs-dev] [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support
Date: Wed, 21 Jan 2026 09:27:38 -0500 [thread overview]
Message-ID: <364d2fd98af52a2e2c32ca286decbdc1fe1c80d3.camel@kernel.org> (raw)
In-Reply-To: <176899164457.16766.16099772451425825775@noble.neil.brown.name>
On Wed, 2026-01-21 at 21:34 +1100, NeilBrown wrote:
> On Wed, 21 Jan 2026, Christoph Hellwig wrote:
>
> >
> > >
> > > It took me a while to sift through the code/patches/comments and come to
> > > this understanding and I apologise if I wasn't as clear earlier. But
> > > my intuition was always that file handle stability was never the real
> > > issue, and maintainer choice was. Hence my rejection of the
> > > "STABLE_HANDLES" name.
> >
> > Why do you keep ignoring the fat that the stable handles are really
> > important for anyone wanting to actually use them for their original
> > storage purpose, be that for knfsd, a userland nfs damon, or other
> > storage applications in userspace despite explaining this countless
> > times?
> >
>
> It isn't that I don't think they are important. It is that I think they
> are universally provided (when not connectable).
> If we add an EXPORT_OP_STABLE_FILEHANDLES flag, I believe we would need to
> set it on every export_operations structure. So what would be the
> point?
>
I see your point.
Using your definitions, stability is not a problem for Linux
filesystems. The filehandles generally don't change after they have
been established.
Uniqueness however _is_ a problem as we can end up with valid handles
for files that have been recreated across a reboot with some
filesystems (esp. "synthetic" ones like cgroupfs, pidfs, etc.). Naming
the flag STABLE conflates the two.
In an earlier email, HCH said:
> We'll still need a stable handles flag, and expose it to userspace
> to avoid applications being tricked into using broken non-stable
> file handles. We should have caught that when they were added, but
> didn't unfortunately.
>
If we assume he meant "unique handles" flag, then I think we're all
mostly in agreement here. As far as this patchset goes: what if we
were to just rename EXPORT_OP_STABLE_HANDLES to
EXPORT_OP_UNIQUE_HANDLES (and clean up the documentation), since that's
the main issue for existing filesystems. It would be fairly simple to
advertise handle uniqueness using statx or something.
Alternately, instead of denying access to these filesystems, we could
just fix these filesystems to create unique handles (a'la random
i_generation value or something similar). That should mostly prevent
filehandles from being reusable across a reboot on these filesystems.
That would leave cgroupfs and the like exportable via nfsd, but as you
point out, we can't deny export by userland servers. If people want to
do this kind of crazy stuff, maybe we shouldn't deny them after all.
--
Jeff Layton <jlayton@kernel.org>
_______________________________________________
Linux-f2fs-devel mailing list
Linux-f2fs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel
next prev parent reply other threads:[~2026-01-21 14:28 UTC|newest]
Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-15 17:47 [f2fs-dev] [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 01/29] exportfs: add new EXPORT_OP_STABLE_HANDLES flag Jeff Layton via Linux-f2fs-devel
2026-01-16 10:45 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 02/29] tmpfs: add EXPORT_OP_STABLE_HANDLES flag to export operations Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 03/29] ext4: " Jeff Layton via Linux-f2fs-devel
2026-01-16 2:22 ` Theodore Tso
2026-01-16 10:46 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 04/29] ext2: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:46 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 05/29] erofs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 06/29] efs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 07/29] xfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 08/29] ceph: " Jeff Layton via Linux-f2fs-devel
2026-01-15 19:16 ` Viacheslav Dubeyko via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 09/29] btrfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 10/29] befs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 11/29] ufs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 12/29] udf: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 13/29] affs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 14/29] squashfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 15/29] smb/client: " Jeff Layton via Linux-f2fs-devel
2026-01-15 19:26 ` Amir Goldstein
2026-01-15 17:47 ` [f2fs-dev] [PATCH 16/29] ovl: " Jeff Layton via Linux-f2fs-devel
2026-01-15 18:21 ` Amir Goldstein
2026-01-15 17:47 ` [f2fs-dev] [PATCH 17/29] orangefs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 18/29] ocfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:47 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 19/29] ntfs3: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 20/29] nilfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-19 8:39 ` Ryusuke Konishi
2026-01-15 17:47 ` [f2fs-dev] [PATCH 21/29] nfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 22/29] jfs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 22:09 ` Dave Kleikamp via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 23/29] jffs2: " Jeff Layton via Linux-f2fs-devel
2026-01-18 15:36 ` Richard Weinberger
2026-01-15 17:47 ` [f2fs-dev] [PATCH 24/29] isofs: " Jeff Layton via Linux-f2fs-devel
2026-01-16 10:48 ` Jan Kara
2026-01-15 17:47 ` [f2fs-dev] [PATCH 25/29] gfs2: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 26/29] fuse: " Jeff Layton via Linux-f2fs-devel
2026-01-15 18:54 ` Amir Goldstein
2026-01-15 19:46 ` Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 27/29] fat: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:47 ` [f2fs-dev] [PATCH 28/29] f2fs: " Jeff Layton via Linux-f2fs-devel
2026-01-15 17:48 ` [f2fs-dev] [PATCH 29/29] nfsd: only allow filesystems that set EXPORT_OP_STABLE_HANDLES Jeff Layton via Linux-f2fs-devel
2026-01-15 19:23 ` Amir Goldstein
2026-01-16 12:36 ` Jeff Layton via Linux-f2fs-devel
2026-01-16 14:46 ` Amir Goldstein
2026-01-16 15:13 ` Jeff Layton via Linux-f2fs-devel
2026-01-15 18:17 ` [f2fs-dev] [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support Amir Goldstein
2026-01-15 18:29 ` Jeff Layton via Linux-f2fs-devel
2026-01-18 23:23 ` NeilBrown
2026-01-19 6:41 ` Christoph Hellwig
2026-01-19 7:22 ` NeilBrown
2026-01-19 7:25 ` Christoph Hellwig
2026-01-19 9:27 ` Christian Brauner via Linux-f2fs-devel
2026-01-19 20:45 ` NeilBrown
2026-01-20 7:38 ` Christoph Hellwig
2026-01-20 9:27 ` NeilBrown
2026-01-20 10:34 ` Christian Brauner via Linux-f2fs-devel
2026-01-21 9:48 ` Christoph Hellwig
2026-01-21 10:34 ` NeilBrown
2026-01-21 14:27 ` Jeff Layton via Linux-f2fs-devel [this message]
2026-01-21 14:47 ` Christoph Hellwig
2026-01-21 15:18 ` Jeff Layton via Linux-f2fs-devel
2026-01-22 6:37 ` Christoph Hellwig
2026-01-22 12:12 ` Jeff Layton via Linux-f2fs-devel
2026-01-22 17:04 ` Darrick J. Wong via Linux-f2fs-devel
2026-01-21 12:37 ` Jeff Layton via Linux-f2fs-devel
2026-01-20 9:04 ` Christian Brauner via Linux-f2fs-devel
2026-01-20 9:41 ` NeilBrown
2026-01-20 10:31 ` Christian Brauner via Linux-f2fs-devel
2026-01-20 12:50 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 3:58 ` NeilBrown
2026-01-21 11:56 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 18:59 ` Amir Goldstein
2026-01-21 10:00 ` Christoph Hellwig
2026-01-21 10:01 ` Christoph Hellwig
2026-01-21 9:58 ` Christoph Hellwig
2026-01-21 9:52 ` Christoph Hellwig
2026-01-19 12:30 ` Jeff Layton via Linux-f2fs-devel
2026-01-21 4:10 ` NeilBrown
2026-01-15 18:31 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 19:14 ` Amir Goldstein
2026-01-15 19:31 ` Amir Goldstein
2026-01-15 19:37 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 19:47 ` Amir Goldstein
2026-01-15 21:09 ` Dave Chinner via Linux-f2fs-devel
2026-01-15 21:37 ` Chuck Lever via Linux-f2fs-devel
2026-01-15 22:40 ` David Laight
2026-01-19 7:56 ` Christoph Hellwig
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=364d2fd98af52a2e2c32ca286decbdc1fe1c80d3.camel@kernel.org \
--to=linux-f2fs-devel@lists.sourceforge.net \
--cc=Dai.Ngo@oracle.com \
--cc=adilger.kernel@dilger.ca \
--cc=agruenba@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=almaz.alexandrovich@paragon-software.com \
--cc=amarkuze@redhat.com \
--cc=amir73il@gmail.com \
--cc=anna@kernel.org \
--cc=baolin.wang@linux.alibaba.com \
--cc=bharathsm@microsoft.com \
--cc=brauner@kernel.org \
--cc=cem@kernel.org \
--cc=ceph-devel@vger.kernel.org \
--cc=chuck.lever@oracle.com \
--cc=clm@fb.com \
--cc=devel@lists.orangefs.org \
--cc=dhavale@google.com \
--cc=dsterba@suse.com \
--cc=dwmw2@infradead.org \
--cc=gfs2@lists.linux.dev \
--cc=guochunhai@vivo.com \
--cc=hch@infradead.org \
--cc=hirofumi@mail.parknet.co.jp \
--cc=hubcap@omnibond.com \
--cc=hughd@google.com \
--cc=idryomov@gmail.com \
--cc=jack@suse.com \
--cc=jack@suse.cz \
--cc=jaegeuk@kernel.org \
--cc=jefflexu@linux.alibaba.com \
--cc=jfs-discussion@lists.sourceforge.net \
--cc=jlayton@kernel.org \
--cc=jlbec@evilplan.org \
--cc=joseph.qi@linux.alibaba.com \
--cc=konishi.ryusuke@gmail.com \
--cc=lihongbo22@huawei.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=linux-erofs@lists.ozlabs.org \
--cc=linux-ext4@vger.kernel.org \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-mtd@lists.infradead.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-nilfs@vger.kernel.org \
--cc=linux-unionfs@vger.kernel.org \
--cc=linux-xfs@vger.kernel.org \
--cc=luisbg@kernel.org \
--cc=mark@fasheh.com \
--cc=martin@omnibond.com \
--cc=miklos@szeredi.hu \
--cc=neil@brown.name \
--cc=ntfs3@lists.linux.dev \
--cc=ocfs2-devel@lists.linux.dev \
--cc=okorniev@redhat.com \
--cc=pc@manguebit.org \
--cc=phillip@squashfs.org.uk \
--cc=richard@nod.at \
--cc=ronniesahlberg@gmail.com \
--cc=salah.triki@gmail.com \
--cc=sfrench@samba.org \
--cc=shaggy@kernel.org \
--cc=slava@dubeyko.com \
--cc=sprasad@microsoft.com \
--cc=tom@talpey.com \
--cc=trondmy@kernel.org \
--cc=tytso@mit.edu \
--cc=viro@zeniv.linux.org.uk \
--cc=xiang@kernel.org \
--cc=zbestahu@gmail.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