]> git.neil.brown.name Git - history.git/commitdiff
[PATCH] NFS: Further fixes for the -onolock case.
authorTrond Myklebust <trond.myklebust@fys.uio.no>
Tue, 22 Feb 2005 12:22:00 +0000 (04:22 -0800)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Tue, 22 Feb 2005 12:22:00 +0000 (04:22 -0800)
Duh... GETLK returns F_UNLCK if and only if the lock could be placed.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/nfs/file.c

index a6860e1f7bffebfbe573e34d0d939b923e29560a..57ccbd277fcecc529d15bb5ca42d6fa64f24d93b 100644 (file)
@@ -303,10 +303,10 @@ static int do_getlk(struct file *filp, int cmd, struct file_lock *fl)
                status = NFS_PROTO(inode)->lock(filp, cmd, fl);
        else {
                struct file_lock *cfl = posix_test_lock(filp, fl);
-               if (cfl != NULL) {
+
+               fl->fl_type = F_UNLCK;
+               if (cfl != NULL)
                        memcpy(fl, cfl, sizeof(*fl));
-                       fl->fl_type = F_UNLCK;
-               }
        }
        unlock_kernel();
        return status;