Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26f47443 authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker
Browse files

NFSv4.1: nfs4_layoutget_handle_exception handle revoked state



Handle revoked open/lock/delegation stateids when LAYOUTGET tells us
the state was revoked.

Signed-off-by: default avatarTrond Myklebust <trond.myklebust@primarydata.com>
Tested-by: default avatarOleg Drokin <green@linuxhacker.ru>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent d7f3e4bf
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -8268,6 +8268,8 @@ nfs4_layoutget_handle_exception(struct rpc_task *task,
	case -NFS4ERR_RECALLCONFLICT:
		status = -ERECALLCONFLICT;
		break;
	case -NFS4ERR_DELEG_REVOKED:
	case -NFS4ERR_ADMIN_REVOKED:
	case -NFS4ERR_EXPIRED:
	case -NFS4ERR_BAD_STATEID:
		exception->timeout = 0;
@@ -8279,6 +8281,7 @@ nfs4_layoutget_handle_exception(struct rpc_task *task,
					&lgp->args.ctx->state->stateid)) {
			spin_unlock(&inode->i_lock);
			exception->state = lgp->args.ctx->state;
			exception->stateid = &lgp->args.stateid;
			break;
		}