From 8b12ad7b7cfbd3466c47114457b37cddd0da177a Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Thu, 7 Jul 2005 17:59:15 -0700 Subject: [PATCH] --- yaml --- r: 4383 b: refs/heads/master c: 0dd395dc76071a06eea39839cc946c1241af3650 h: refs/heads/master i: 4381: 8483ba354f2cedb872a2bd74058cc5f259f4e69d 4379: b48936ec74372a366cd984ae30664896ff575f89 4375: d762f588b647e739e047f3d6e11001a50acaeff7 4367: 9c1b490928c2a6954d6e6c2cd681a94c44645363 4351: fd5d2295082f60c95ad07bf0fa8ff3569068ee06 v: v3 --- [refs] | 2 +- trunk/fs/nfsd/nfs4state.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 00ba8e1e1f0a..edcb739d8d40 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b648330a1d741d5df8a5076b2a0a2519c69c8f41 +refs/heads/master: 0dd395dc76071a06eea39839cc946c1241af3650 diff --git a/trunk/fs/nfsd/nfs4state.c b/trunk/fs/nfsd/nfs4state.c index 568d5deacac0..92968c94c6e6 100644 --- a/trunk/fs/nfsd/nfs4state.c +++ b/trunk/fs/nfsd/nfs4state.c @@ -2706,11 +2706,6 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock (long long) lock->lk_offset, (long long) lock->lk_length); - if (nfs4_in_grace() && !lock->lk_reclaim) - return nfserr_grace; - if (!nfs4_in_grace() && lock->lk_reclaim) - return nfserr_no_grace; - if (check_lock_length(lock->lk_offset, lock->lk_length)) return nfserr_inval; @@ -2785,6 +2780,13 @@ nfsd4_lock(struct svc_rqst *rqstp, struct svc_fh *current_fh, struct nfsd4_lock goto out; } + status = nfserr_grace; + if (nfs4_in_grace() && !lock->lk_reclaim) + goto out; + status = nfserr_no_grace; + if (!nfs4_in_grace() && lock->lk_reclaim) + goto out; + locks_init_lock(&file_lock); switch (lock->lk_type) { case NFS4_READ_LT: