HomeFreeBSD

nfscl: Do not call nfscl_hasexpired() for NFSv4.1/4.2

Description

nfscl: Do not call nfscl_hasexpired() for NFSv4.1/4.2

Commit 981ef32230b2 enabled marking of potentially bad
session slots when an RPC is interrupted if the "intr"
mount option is used. As such, it no longer makes
sense to call nfscl_hasexpired() for I/O operations that
reply NFSERR_BADSTATEID for NFSv4.1/4.2, which does a full
recovery of NFSv4 open state, destroying all byte range locks.
Recovery of open state should not be usually needed, since
the session slot has been marked potentially bad and,
although opens for the process that has been terminated via
a signal may be broken, locks for other processes will still
be valid.

This patch disables calls to nfscl_hasexpired for NFSv4.1/4.2
mounts, when I/O RPCs receive NFSERR_BADSTATEID replies.
It does not affect the behaviour of NFSv4.0 mounts nor
hard (non "intr") mounts.

PR: 260011
(cherry picked from commit 8f4a5fc6bc6c4e9e0739326199d73ee4401ebd58)

Details

Provenance
rmacklemAuthored on Jul 10 2022, 8:56 PM
Parents
rGf5fb5e07df5b: nfscl: Enable detection of bad session slots
Branches
Unknown
Tags
Unknown