Merge branch 'for-2.6.29' of git://linux-nfs.org/~bfields/linux
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 9 Feb 2009 18:30:19 +0000 (10:30 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 9 Feb 2009 18:30:19 +0000 (10:30 -0800)
* 'for-2.6.29' of git://linux-nfs.org/~bfields/linux:
  lockd: fix regression in lockd's handling of blocked locks

fs/lockd/svclock.c

index 6063a8e..763b78a 100644 (file)
@@ -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 */