HomeFreeBSD

nfsd: fix NFSv4.0 seqid handling for ERELOOKUP

Description

nfsd: fix NFSv4.0 seqid handling for ERELOOKUP

Commit 774a36851e0e fixed the NFS server so that it could handle
ERELOOKUP returns from VOP calls by redoing the operation/RPC.
However, for NFSv4.0, redoing an Open would increment
the open_owner's seqid multiple times, breaking the protocol.
This patch sets a new flag called ND_ERELOOKUP on the RPC when
a redo is in progress. Then the code that increments the seqid
avoids the seqid increment/check when the flag is set, since
it indicates this has already been done for the Open.

Details

Provenance
rmacklemAuthored on Jan 1 2021, 10:21 PM
Parents
rG774a36851e0e: nfsd: fix NFS server for ERELOOKUP
Branches
Unknown
Tags
Unknown