aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--fs/nfsd/nfs4state.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index b7e2f251ea95..d6ca2be306dc 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -2084,6 +2084,9 @@ nfs4_preprocess_stateid_op(struct svc_fh *current_fh, stateid_t *stateid, int fl
2084 goto out; 2084 goto out;
2085 } 2085 }
2086 stidp = &dp->dl_stateid; 2086 stidp = &dp->dl_stateid;
2087 status = check_stateid_generation(stateid, stidp);
2088 if (status)
2089 goto out;
2087 } else { /* open or lock stateid */ 2090 } else { /* open or lock stateid */
2088 stp = find_stateid(stateid, flags); 2091 stp = find_stateid(stateid, flags);
2089 if (!stp) { 2092 if (!stp) {
@@ -2095,10 +2098,10 @@ nfs4_preprocess_stateid_op(struct svc_fh *current_fh, stateid_t *stateid, int fl
2095 if (!stp->st_stateowner->so_confirmed) 2098 if (!stp->st_stateowner->so_confirmed)
2096 goto out; 2099 goto out;
2097 stidp = &stp->st_stateid; 2100 stidp = &stp->st_stateid;
2101 status = check_stateid_generation(stateid, stidp);
2102 if (status)
2103 goto out;
2098 } 2104 }
2099 status = check_stateid_generation(stateid, stidp);
2100 if (status)
2101 goto out;
2102 if (stp) { 2105 if (stp) {
2103 status = nfs4_check_openmode(stp, flags); 2106 status = nfs4_check_openmode(stp, flags);
2104 if (status) 2107 if (status)