]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
fs/9p: check schedule_timeout_interruptible return value
authorJim Garlick <garlick@llnl.gov>
Tue, 3 Jan 2012 21:27:50 +0000 (15:27 -0600)
committerEric Van Hensbergen <ericvh@gmail.com>
Thu, 5 Jan 2012 16:51:44 +0000 (10:51 -0600)
In v9fs_file_do_lock() we need to check return value of
schedule_timeout_interruptible() and exit the loop when it
returns nonzero, otherwise the loop is not really interruptible
and after the signal, the loop is no longer throttled by
P9_LOCK_TIMEOUT.

Signed-off-by: Jim Garlick <garlick.jim@gmail.com>
Signed-off-by: Eric Van Hensbergen <ericvh@gmail.com>
fs/9p/vfs_file.c

index 62857a810a79d00332a150c6a02a433e638d72b8..a7ac45d5bd2c7fb26319814103f0700d6a45b7e6 100644 (file)
@@ -204,7 +204,8 @@ static int v9fs_file_do_lock(struct file *filp, int cmd, struct file_lock *fl)
                        break;
                if (status == P9_LOCK_BLOCKED && !IS_SETLKW(cmd))
                        break;
-               schedule_timeout_interruptible(P9_LOCK_TIMEOUT);
+               if (schedule_timeout_interruptible(P9_LOCK_TIMEOUT) != 0)
+                       break;
        }
 
        /* map 9p status to VFS status */