Re: [RFC PATCH for 6.16-rcX] Revert "nfs_localio: change nfsd_file_put_local() to take a pointer to __rcu pointer"

NeilBrown
2025-07-14T03:50:52Z

On Wed, 09 Jul 2025, Mike Snitzer wrote:
> [Preface: this revert makes it much less likely to "lose the race",
> whereby causing nfsd_shutdown_net() to hang, so we'd do well to take
> the time/care to properly fix whatever is lacking in Neil's commit
> c25a89770d1f]

Was this the first time you posted on this issue? If so it seem strange
to start a discussion with a revert with out a clear undertstanding of
the problem...

Maybe

--- a/fs/nfs_common/nfslocalio.c
+++ b/fs/nfs_common/nfslocalio.c
@@ -177,7 +177,7 @@ static bool nfs_uuid_put(nfs_uuid_t *nfs_uuid)
/* nfs_close_local_fh() is doing the
* close and we must wait. until it unlinks
*/
- wait_var_event_spinlock(nfl,
+ wait_var_event_spinlock(nfl->nfs_uuid,
list_first_entry_or_null(
&nfs_uuid->files,
struct nfs_file_localio,

will fix the problem - I'm waiting on the wrong address, which could
cause various things to hang.

NeilBrown