[PATCH] fs/namespace: waiting for mutex in lock_mount() is "killable"

From: Max Kellermann
Date: Fri Dec 02 2011 - 00:54:51 EST


Allow killing the process while it's indirectly waiting for the NFS
server's response.
---
fs/namespace.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/fs/namespace.c b/fs/namespace.c
index e5e1c7d..9560bec 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -1651,8 +1651,13 @@ static int attach_recursive_mnt(struct vfsmount *source_mnt,
static int lock_mount(struct path *path)
{
struct vfsmount *mnt;
+ int err;
+
retry:
- mutex_lock(&path->dentry->d_inode->i_mutex);
+ err = mutex_lock_killable(&path->dentry->d_inode->i_mutex);
+ if (unlikely(err))
+ return err;
+
if (unlikely(cant_mount(path->dentry))) {
mutex_unlock(&path->dentry->d_inode->i_mutex);
return -ENOENT;

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/