Re: NFSD threads hang when destroying a session or client ID

Baptiste PELLEGRIN via Bugspray Bot
2025-02-10T12:04:38Z

Baptiste PELLEGRIN writes via Kernel.org Bugzilla:

Hello.

Good news for 6.1 kernels.

With these patches applied :

8626664c87ee NFSD: Replace dprintks in nfsd4_cb_sequence_done()
961b4b5e86bf NFSD: Reset cb_seq_status after NFS4ERR_DELAY

No hangs anymore for me since more than two weeks of server uptime. And previously the hangs occurred every weeks.

I just see some suspicious server load maybe caused by the send of RPC_RECALL_ANY to shutdown/suspended/courtesy clients.

I see a lot of work on the list that try to address these problems :

nfsd: eliminate special handling of NFS4ERR_SEQ_MISORDERED
nfsd: handle NFS4ERR_BADSLOT on CB_SEQUENCE better
nfsd: when CB_SEQUENCE gets ESERVERFAULT don't increment seq_nr
nfsd: only check RPC_SIGNALLED() when restarting rpc_task
nfsd: always release slot when requeueing callback
nfsd: lift NFSv4.0 handling out of nfsd4_cb_sequence_done()
nfsd: prepare nfsd4_cb_sequence_done() for error handling rework

NFSD: Skip sending CB_RECALL_ANY when the backchannel isn't up

NFSD: fix hang in nfsd4_shutdown_callback

Thanks a lot !

Baptiste.

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