HomeFreeBSD

nfscl: fix the handling of NFSERR_DELAY for Open/LayoutGet RPCs

Description

nfscl: fix the handling of NFSERR_DELAY for Open/LayoutGet RPCs

For a pNFS mount, the NFSv4.1/4.2 client uses compound RPCs that
have both Open and LayoutGet operations in them.
If the pNFS server were tp reply NFSERR_DELAY for one of these
compounds, the retry after a delay cannot be handled by
newnfs_request(), since there is a reference held on the open
state for the Open operation in them.

Fix this by adding these RPCs to the "don't do delay here"
list in newnfs_request().

This patch is only needed if the mount is using pNFS (the "pnfs"
mount option) and probably only matters if the MDS server
is issuing delegations as well as pNFS layouts.

Found by code inspection.

MFC after: 2 weeks

Details

Provenance
rmacklemAuthored on Apr 27 2021, 12:48 AM
Parents
R10:01bad87a76dd: UPDATING: add an entry for commit 875977314881
Branches
Unknown
Tags
Unknown