NFSv4: Don't retry the GETATTR on old stateid in nfs4_delegreturn_done()

If the server returns NFS4ERR_OLD_STATEID, then just skip retrying the
GETATTR when replaying the delegreturn compound. We know nothing will
have changed on the server.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
Trond Myklebust 2019-10-26 22:37:40 -04:00
parent 246afc0aa5
commit 70d136b2dc
1 changed files with 4 additions and 0 deletions

View File

@ -6198,6 +6198,10 @@ static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata)
case -NFS4ERR_OLD_STATEID:
if (!nfs4_refresh_delegation_stateid(&data->stateid, data->inode))
nfs4_stateid_seqid_inc(&data->stateid);
if (data->args.bitmask) {
data->args.bitmask = NULL;
data->res.fattr = NULL;
}
goto out_restart;
case -NFS4ERR_ACCESS:
if (data->args.bitmask) {