From 06ac5a7d39f4811e11514be7d42abaddc21805fa Mon Sep 17 00:00:00 2001 From: "J. Bruce Fields" Date: Sat, 21 Feb 2009 11:11:50 -0800 Subject: [PATCH] --- yaml --- r: 142151 b: refs/heads/master c: 0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e h: refs/heads/master i: 142149: 08ad59691ffe3efcd98af9ddd981200de95ac900 142147: f19675640cfdb96ca589f9368ee463cf8dbd286b 142143: d887655eaed3881faebb98f4b53735947857bc30 v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfs4state.c | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 66cb81bb4a3f..98bcd4107a91 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a4455be0850009f5da9a3b82523079922cd4b26e +refs/heads/master: 0c2a498fa6d33d8ca9c8a0c29039c41e1734cb9e diff --git a/trunk/fs/nfsd/nfs4state.c b/trunk/fs/nfsd/nfs4state.c index b7e2f251ea95..d6ca2be306dc 100644 --- a/trunk/fs/nfsd/nfs4state.c +++ b/trunk/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)