Skip to content

NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION

Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2217964

commit c907e72f58ed979a24a9fdcadfbc447c51d5e509
Author: Olga Kornievskaia kolga@netapp.com
Date: Sun Jun 18 17:32:25 2023 -0400

NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION

When the client received NFS4ERR_BADSESSION, it schedules recovery
and start the state manager thread which in turn freezes the 
session table and does not allow for any new requests to use the 
no-longer valid session. However, it is possible that before
the state manager thread runs, a new operation would use the 
released slot that received BADSESSION and was therefore not 
updated its sequence number. Such re-use of the slot can lead
the application errors.

Fixes: 5c441544f045 ("NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process()")
Signed-off-by: Olga Kornievskaia <kolga@netapp.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>

Signed-off-by: Benjamin Coddington bcodding@redhat.com

Edited by Benjamin Coddington

Merge request reports