Commit 3d74e6a5 authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: no need for replay_owner in sessions case

The replay_owner will never be used in the sessions case.
Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
parent c383747e
...@@ -413,7 +413,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -413,7 +413,7 @@ nfsd4_open(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
WARN_ON(status && open->op_created); WARN_ON(status && open->op_created);
out: out:
nfsd4_cleanup_open_state(open, status); nfsd4_cleanup_open_state(open, status);
if (open->op_openowner) if (open->op_openowner && !nfsd4_has_session(cstate))
cstate->replay_owner = &open->op_openowner->oo_owner; cstate->replay_owner = &open->op_openowner->oo_owner;
nfsd4_bump_seqid(cstate, status); nfsd4_bump_seqid(cstate, status);
if (!cstate->replay_owner) if (!cstate->replay_owner)
......
...@@ -3666,6 +3666,7 @@ nfs4_preprocess_seqid_op(struct nfsd4_compound_state *cstate, u32 seqid, ...@@ -3666,6 +3666,7 @@ nfs4_preprocess_seqid_op(struct nfsd4_compound_state *cstate, u32 seqid,
if (status) if (status)
return status; return status;
*stpp = openlockstateid(s); *stpp = openlockstateid(s);
if (!nfsd4_has_session(cstate))
cstate->replay_owner = (*stpp)->st_stateowner; cstate->replay_owner = (*stpp)->st_stateowner;
return nfs4_seqid_op_checks(cstate, stateid, seqid, *stpp); return nfs4_seqid_op_checks(cstate, stateid, seqid, *stpp);
...@@ -3858,10 +3859,9 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate, ...@@ -3858,10 +3859,9 @@ nfsd4_close(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
oo->oo_last_closed_stid = stp; oo->oo_last_closed_stid = stp;
if (list_empty(&oo->oo_owner.so_stateids)) { if (list_empty(&oo->oo_owner.so_stateids)) {
if (cstate->minorversion) { if (cstate->minorversion)
release_openowner(oo); release_openowner(oo);
cstate->replay_owner = NULL; else {
} else {
/* /*
* In the 4.0 case we need to keep the owners around a * In the 4.0 case we need to keep the owners around a
* little while to handle CLOSE replay. * little while to handle CLOSE replay.
......
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