[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <56fr33ju43h6zzp6jrzrkyfag6r3jz6wpnk45oe5byy6fqyvti@d43hgikfuk7t>
Date: Tue, 20 Jan 2026 09:40:07 +0100
From: Jan Kara <jack@...e.cz>
To: Christoph Hellwig <hch@...radead.org>
Cc: Jeff Layton <jlayton@...nel.org>,
Christian Brauner <brauner@...nel.org>, Alexander Viro <viro@...iv.linux.org.uk>,
Chuck Lever <chuck.lever@...cle.com>, NeilBrown <neil@...wn.name>,
Olga Kornievskaia <okorniev@...hat.com>, Dai Ngo <Dai.Ngo@...cle.com>, Tom Talpey <tom@...pey.com>,
Amir Goldstein <amir73il@...il.com>, Hugh Dickins <hughd@...gle.com>,
Baolin Wang <baolin.wang@...ux.alibaba.com>, Andrew Morton <akpm@...ux-foundation.org>,
Theodore Ts'o <tytso@....edu>, Andreas Dilger <adilger.kernel@...ger.ca>,
Jan Kara <jack@...e.com>, Gao Xiang <xiang@...nel.org>, Chao Yu <chao@...nel.org>,
Yue Hu <zbestahu@...il.com>, Jeffle Xu <jefflexu@...ux.alibaba.com>,
Sandeep Dhavale <dhavale@...gle.com>, Hongbo Li <lihongbo22@...wei.com>,
Chunhai Guo <guochunhai@...o.com>, Carlos Maiolino <cem@...nel.org>,
Ilya Dryomov <idryomov@...il.com>, Alex Markuze <amarkuze@...hat.com>,
Viacheslav Dubeyko <slava@...eyko.com>, Chris Mason <clm@...com>, David Sterba <dsterba@...e.com>,
Luis de Bethencourt <luisbg@...nel.org>, Salah Triki <salah.triki@...il.com>,
Phillip Lougher <phillip@...ashfs.org.uk>, Steve French <sfrench@...ba.org>,
Paulo Alcantara <pc@...guebit.org>, Ronnie Sahlberg <ronniesahlberg@...il.com>,
Shyam Prasad N <sprasad@...rosoft.com>, Bharath SM <bharathsm@...rosoft.com>,
Miklos Szeredi <miklos@...redi.hu>, Mike Marshall <hubcap@...ibond.com>,
Martin Brandenburg <martin@...ibond.com>, Mark Fasheh <mark@...heh.com>, Joel Becker <jlbec@...lplan.org>,
Joseph Qi <joseph.qi@...ux.alibaba.com>, Konstantin Komarov <almaz.alexandrovich@...agon-software.com>,
Ryusuke Konishi <konishi.ryusuke@...il.com>, Trond Myklebust <trondmy@...nel.org>,
Anna Schumaker <anna@...nel.org>, Dave Kleikamp <shaggy@...nel.org>,
David Woodhouse <dwmw2@...radead.org>, Richard Weinberger <richard@....at>, Jan Kara <jack@...e.cz>,
Andreas Gruenbacher <agruenba@...hat.com>, OGAWA Hirofumi <hirofumi@...l.parknet.co.jp>,
Jaegeuk Kim <jaegeuk@...nel.org>, Jonathan Corbet <corbet@....net>,
David Laight <david.laight.linux@...il.com>, Dave Chinner <david@...morbit.com>, linux-nfs@...r.kernel.org,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org, linux-mm@...ck.org,
linux-ext4@...r.kernel.org, linux-erofs@...ts.ozlabs.org, linux-xfs@...r.kernel.org,
ceph-devel@...r.kernel.org, linux-btrfs@...r.kernel.org, linux-cifs@...r.kernel.org,
samba-technical@...ts.samba.org, linux-unionfs@...r.kernel.org, devel@...ts.orangefs.org,
ocfs2-devel@...ts.linux.dev, ntfs3@...ts.linux.dev, linux-nilfs@...r.kernel.org,
jfs-discussion@...ts.sourceforge.net, linux-mtd@...ts.infradead.org, gfs2@...ts.linux.dev,
linux-f2fs-devel@...ts.sourceforge.net, linux-doc@...r.kernel.org
Subject: Re: [PATCH v2 02/31] exportfs: add new EXPORT_OP_STABLE_HANDLES flag
On Mon 19-01-26 23:50:13, Christoph Hellwig wrote:
> On Mon, Jan 19, 2026 at 11:26:19AM -0500, Jeff Layton wrote:
> > + EXPORT_OP_STABLE_HANDLES - This filesystem provides filehandles that are
> > + stable across the lifetime of a file. This is a hard requirement for export
> > + via nfsd. Any filesystem that is eligible to be exported via nfsd must
> > + indicate this guarantee by setting this flag. Most disk-based filesystems
> > + can do this naturally. Pseudofilesystems that are for local reporting and
> > + control (e.g. kernfs, pidfs, nsfs) usually can't support this.
>
> Suggested rewording, taking some of the ideas from Dave Chinners earlier
> comments into account:
>
> EXPORT_OP_STABLE_HANDLES - This filesystem provides filehandles that are
> stable across the lifetime of a file. A file in this context is an
> instantiated inode reachable by one or more file names, or still open after
> the last name has been unlinked. Reuses of the same on-disk inode structure
> are considered new files and must provide different file handles from the
> previous incarnation. Most file systems designed to store user data
> naturally provide this capability. Pseudofilesystems that are for local
> reporting and control (e.g. kernfs, pidfs, nsfs) usually can't support this.
>
> This flags is a hard requirement for export via nfsd. Any filesystem that
> is eligible to be exported via nfsd must indicate this guarantee by
> setting this flag.
I like this. It certainly makes the requirement of stability clearer to me
(with explanations before I couldn't quite see the difference between shmem
and kernfs). I'd note that fat or shmem (which are both exportable)
satisfy this only with reasonably high probability as they use
get_random_u32() for initializing their i_generation but I guess it's as
good as it gets for them.
Honza
--
Jan Kara <jack@...e.com>
SUSE Labs, CR
Powered by blists - more mailing lists