diff options
author | J. Bruce Fields <bfields@citi.umich.edu> | 2009-02-21 11:11:50 -0800 |
---|---|---|
committer | J. Bruce Fields <bfields@citi.umich.edu> | 2009-03-18 17:30:51 -0400 |
commit | 0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e (patch) | |
tree | c12c7bc5bddbe3a21ded2d369169f7db5fe3b75b /fs | |
parent | a4455be0850009f5da9a3b82523079922cd4b26e (diff) | |
download | linux-0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e.tar.gz linux-0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e.tar.bz2 linux-0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e.zip |
nfsd4: move check_stateid_generation check
No change in behavior.
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/nfsd/nfs4state.c | 9 |
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 goto out; } stidp = &dp->dl_stateid; + status = check_stateid_generation(stateid, stidp); + if (status) + goto out; } else { /* open or lock stateid */ stp = find_stateid(stateid, flags); if (!stp) { @@ -2095,10 +2098,10 @@ nfs4_preprocess_stateid_op(struct svc_fh *current_fh, stateid_t *stateid, int fl if (!stp->st_stateowner->so_confirmed) goto out; stidp = &stp->st_stateid; + status = check_stateid_generation(stateid, stidp); + if (status) + goto out; } - status = check_stateid_generation(stateid, stidp); - if (status) - goto out; if (stp) { status = nfs4_check_openmode(stp, flags); if (status) |