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

Commit cd4c9be2 authored by Trond Myklebust's avatar Trond Myklebust
Browse files

NFSv4.1: Don't do a delegated open for NFS4_OPEN_CLAIM_DELEG_CUR_FH modes



If we're in a delegation recall situation, we can't do a delegated open.

Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 8188df17
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -1543,6 +1543,7 @@ static void nfs4_open_prepare(struct rpc_task *task, void *calldata)
		rcu_read_lock();
		rcu_read_lock();
		delegation = rcu_dereference(NFS_I(data->state->inode)->delegation);
		delegation = rcu_dereference(NFS_I(data->state->inode)->delegation);
		if (data->o_arg.claim != NFS4_OPEN_CLAIM_DELEGATE_CUR &&
		if (data->o_arg.claim != NFS4_OPEN_CLAIM_DELEGATE_CUR &&
		    data->o_arg.claim != NFS4_OPEN_CLAIM_DELEG_CUR_FH &&
		    can_open_delegated(delegation, data->o_arg.fmode))
		    can_open_delegated(delegation, data->o_arg.fmode))
			goto unlock_no_action;
			goto unlock_no_action;
		rcu_read_unlock();
		rcu_read_unlock();