NFSD threads hang when destroying a session or client ID

Chuck Lever via Bugspray Bot
2025-01-20T14:59:49Z

Chuck Lever writes via Kernel.org Bugzilla:

On recent v6.1.y, intermittently, NFSD threads wait forever for NFSv4 callback to shutdown. The wait is in __flush_workqueue(). A server system reboot is necessary to recover.

On new kernels, similar symptoms but the indefinite wait is in the "destroy client" path, waiting for NFSv4 callback shutdown. The wait is on the wait_var_event() in nfsd41_cb_inflight_wait_complete().

In some cases, clients suspend (inactivity). The server converts them to courteous clients. The NFSv4 callback shutdown workqueue item for that client appears to be stuck waiting in rpc_shutdown_client().

Let's collect data under this bug report.

View: https://bugzilla.kernel.org/show_bug.cgi?id=219710#c0