Re: [PATCH 00/29] fs: require filesystems to explicitly opt-in to nfsd export support
Amir Goldstein <[email protected]>
| Newsgroups | dev.linux.lists.gfs2,dev.linux.lists.ntfs3,dev.linux.lists.ocfs2-devel,net.sourceforge.lists.linux-f2fs-devel,org.infradead.lists.linux-mtd,org.kernel.vger.ceph-devel,org.kernel.vger.linux-btrfs,org.kernel.vger.linux-cifs,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-kernel,org.kernel.vger.linux-nfs,org.kernel.vger.linux-nilfs,org.kernel.vger.linux-unionfs,org.kernel.vger.linux-xfs,org.kvack.linux-mm,org.ozlabs.lists.linux-erofs |
|---|---|
| Message-ID | <CAOQ4uxhtorpd6FVsaGO=NdRD72MxeDyabip84ctQYSNufobS8w@mail.gmail.com> |
On Thu, Jan 15, 2026 at 8:37 PM Chuck Lever <[email protected]> wrote: > > On 1/15/26 2:14 PM, Amir Goldstein wrote: > > On Thu, Jan 15, 2026 at 7:32 PM Chuck Lever <[email protected]> wrote: > >> > >> > >> > >> On Thu, Jan 15, 2026, at 1:17 PM, Amir Goldstein wrote: > >>> On Thu, Jan 15, 2026 at 6:48 PM Jeff Layton <[email protected]> wrote: > >>>> > >>>> In recent years, a number of filesystems that can't present stable > >>>> filehandles have grown struct export_operations. They've mostly done > >>>> this for local use-cases (enabling open_by_handle_at() and the like). > >>>> Unfortunately, having export_operations is generally sufficient to make > >>>> a filesystem be considered exportable via nfsd, but that requires that > >>>> the server present stable filehandles. > >>> > >>> Where does the term "stable file handles" come from? and what does it mean? > >>> Why not "persistent handles", which is described in NFS and SMB specs? > >>> > >>> Not to mention that EXPORT_OP_PERSISTENT_HANDLES was Acked > >>> by both Christoph and Christian: > >>> > >>> https://lore.kernel.org/linux-fsdevel/20260115-rundgang-leihgabe-12018e93c00c@brauner/ > >>> > >>> Am I missing anything? > >> > >> PERSISTENT generally implies that the file handle is saved on > >> persistent storage. This is not true of tmpfs. > > > > That's one way of interpreting "persistent". > > Another way is "continuing to exist or occur over a prolonged period." > > which works well for tmpfs that is mounted for a long time. > > I think we can be a lot more precise about the guarantee: The file > handle does not change for the life of the inode it represents. It > has nothing to do with whether the file system is mounted. > > > > But I am confused, because I went looking for where Jeff said that > > you suggested stable file handles and this is what I found that you wrote: > > > > "tmpfs filehandles align quite well with the traditional definition > > of persistent filehandles. tmpfs filehandles live as long as tmpfs files do, > > and that is all that is required to be considered "persistent". > > I changed my mind about the name, and I let Jeff know that privately > when he asked me to look at these patches this morning. > > > >> The use of "stable" means that the file handle is stable for > >> the life of the file. This /is/ true of tmpfs. > > > > I can live with STABLE_HANDLES I don't mind as much, > > I understand what it means, but the definition above is invented, > > whereas the term persistent handles is well known and well defined. > > Another reason not to adopt the same terminology as NFS is that > someone might come along and implement NFSv4's VOLATILE file > handles in Linux, and then say "OK, /now/ can we export cgroupfs?" > And then Linux will be stuck with overloaded terminology and we'll > still want to say "NO, NFS doesn't support cgroupfs". > > Just a random thought. Good argument. I'm fine with stable as well :) Thanks, Amir.