]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/cifs/cifsfs.c
locks: fix setlease methods to free passed-in lock
[net-next-2.6.git] / fs / cifs / cifsfs.c
index 75c4eaa7958821483c6829658ab6469a8ad8c152..54745b6c3db9c50af75b393c8b80d96460439c80 100644 (file)
@@ -625,8 +625,11 @@ static int cifs_setlease(struct file *file, long arg, struct file_lock **lease)
                   knows that the file won't be changed on the server
                   by anyone else */
                return generic_setlease(file, arg, lease);
-       else
+       else {
+               if (arg != F_UNLCK)
+                       locks_free_lock(*lease);
                return -EAGAIN;
+       }
 }
 
 struct file_system_type cifs_fs_type = {