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

Commit fff6ca9c authored by J. Bruce Fields's avatar J. Bruce Fields
Browse files

nfsd4: eliminate impossible open replay case



If open fails with any error other than nfserr_replay_me, then the main
nfsd4_proc_compound() loop continues unconditionally to
nfsd4_encode_operation(), which will always call encode_seqid_op_tail.
Thus the condition we check for here does not occur.

Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent 5ec094c1
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -2495,18 +2495,8 @@ nfsd4_process_open1(struct nfsd4_compound_state *cstate,
		open->op_stateowner = NULL;
		goto renew;
	}
	if (open->op_seqid == sop->so_seqid - 1) {
		if (sop->so_replay.rp_buflen)
	if (open->op_seqid == sop->so_seqid - 1)
		return nfserr_replay_me;
		/* The original OPEN failed so spectacularly
		 * that we don't even have replay data saved!
		 * Therefore, we have no choice but to continue
		 * processing this OPEN; presumably, we'll
		 * fail again for the same reason.
		 */
		dprintk("nfsd4_process_open1: replay with no replay cache\n");
		goto renew;
	}
	if (open->op_seqid != sop->so_seqid)
		return nfserr_bad_seqid;
renew: