On Wed, 2026-01-21 at 20:58 +1100, NeilBrown wrote: > On Wed, 21 Jan 2026, Jeff Layton wrote: > > On Tue, 2026-01-20 at 09:12 -0500, Jeff Layton wrote: > > > On Tue, 2026-01-20 at 08:20 -0500, Jeff Layton wrote: > > > > On Mon, 2026-01-19 at 23:44 -0800, Christoph Hellwig wrote: > > > > > On Mon, Jan 19, 2026 at 11:26:18AM -0500, Jeff Layton wrote: > > > > > > + EXPORT_OP_NOLOCKS - Disable file locking on this filesystem. Some > > > > > > + filesystems cannot properly support file locking as > > > > > > implemented by > > > > > > + nfsd. A case in point is reexport of NFS itself, which can't > > > > > > be done > > > > > > + safely without coordinating the grace period handling. Other > > > > > > clustered > > > > > > + and networked filesystems can be problematic here as well. > > > > > > > > > > I'm not sure this is very useful. It really needs to document what > > > > > locking semantics nfs expects, because otherwise no reader will know > > > > > if they set this or not. > > > > > > > > Fair point. I'll see if I can draft something better. Suggestions > > > > welcome. > > > > > > How about this? > > > > > > + EXPORT_OP_NOLOCKS - Disable file locking on this filesystem. > > > Filesystems > > > + that want to support locking over NFS must support POSIX file locking > > > + semantics and must handle lock recovery requests from clients after a > > > + reboot. Most local disk, RAM, or pseudo-filesystems use the generic > > > POSIX > > > + locking support in the kernel and naturally provide this capability. > > > Network > > > + or clustered filesystems usually need special handling to do this > > > properly. > > > > Even better, I think? > > > > + > > + EXPORT_OP_NOLOCKS - Disable file locking on this filesystem. Filesystems > > + that want to support locking over NFS must support POSIX file locking > > + semantics. When the server reboots, the clients will issue requests to > > + recover their locks, which nfsd will issue to the filesystem as new > > lock > > + requests. Those must succeed in order for lock recovery to work. Most > > + local disk, RAM, or pseudo-filesystems use the generic POSIX locking > > + support in the kernel and naturally provide this capability. Network or > > + clustered filesystems usually need special handling to do this > > properly. > > + Set this flag on filesystems that can't guarantee the proper semantics > > + (e.g. reexported NFS). > > I think this is quite thorough, which it good ... maybe too good :-) It > reminds me that for true NFS compatibility the fs shouldn't allow local > locks (or file opens!) until the grace period has passed. I don't think > any local filesystems enforce that - it would have to be locks.c that > does I expect. I doubt there would be much appetite for doing that > though. >
Yeah, I don't see us ever doing that. It'd be a tricky chicken-and-egg problem, given the demand-driven way that the mountd upcalls work today. We don't even know that anything is exported until something asks for it. > Reviewed-by: NeilBrown <[email protected]> > Thanks! -- Jeff Layton <[email protected]>
