diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-02-09 10:30:19 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-02-09 10:30:19 -0800 |
commit | 896abeb743579fc8be0d16d15d6768a158a3a109 (patch) | |
tree | 8b5f6ce348ea00e5f67de8f67001fdbfd248de32 /fs | |
parent | f06da264cfb0f9444d41ca247213e419f90aa72a (diff) | |
parent | 9d9b87c1218be78ddecbc85ec3bb91c79c1d56ab (diff) | |
download | linux-3.10-896abeb743579fc8be0d16d15d6768a158a3a109.tar.gz linux-3.10-896abeb743579fc8be0d16d15d6768a158a3a109.tar.bz2 linux-3.10-896abeb743579fc8be0d16d15d6768a158a3a109.zip |
Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux
* 'for-2.6.29' of git://linux-nfs.org/~bfields/linux:
lockd: fix regression in lockd's handling of blocked locks
Diffstat (limited to 'fs')
-rw-r--r-- | fs/lockd/svclock.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/lockd/svclock.c b/fs/lockd/svclock.c index 6063a8e4b9f..763b78a6e9d 100644 --- a/fs/lockd/svclock.c +++ b/fs/lockd/svclock.c @@ -427,7 +427,7 @@ nlmsvc_lock(struct svc_rqst *rqstp, struct nlm_file *file, goto out; case -EAGAIN: ret = nlm_lck_denied; - goto out; + break; case FILE_LOCK_DEFERRED: if (wait) break; @@ -443,6 +443,10 @@ nlmsvc_lock(struct svc_rqst *rqstp, struct nlm_file *file, goto out; } + ret = nlm_lck_denied; + if (!wait) + goto out; + ret = nlm_lck_blocked; /* Append to list of blocked */ |