Commit 70d136b2 authored by Trond Myklebust's avatar Trond Myklebust

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: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
parent 246afc0a
...@@ -6198,6 +6198,10 @@ static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata) ...@@ -6198,6 +6198,10 @@ static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata)
case -NFS4ERR_OLD_STATEID: case -NFS4ERR_OLD_STATEID:
if (!nfs4_refresh_delegation_stateid(&data->stateid, data->inode)) if (!nfs4_refresh_delegation_stateid(&data->stateid, data->inode))
nfs4_stateid_seqid_inc(&data->stateid); nfs4_stateid_seqid_inc(&data->stateid);
if (data->args.bitmask) {
data->args.bitmask = NULL;
data->res.fattr = NULL;
}
goto out_restart; goto out_restart;
case -NFS4ERR_ACCESS: case -NFS4ERR_ACCESS:
if (data->args.bitmask) { if (data->args.bitmask) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment