summaryrefslogtreecommitdiffstats
path: root/fs/fuse
diff options
context:
space:
mode:
authorAlessio Igor Bogani <abogani@texware.it>2009-04-24 09:06:53 +0200
committerAl Viro <viro@zeniv.linux.org.uk>2009-05-09 16:49:38 +0200
commit67e55205ec55cc7899f1d783f217961596798419 (patch)
tree45dd7351f9721a46ecb448f0571fb10db3259147 /fs/fuse
parentLinux 2.6.30-rc5 (diff)
downloadlinux-67e55205ec55cc7899f1d783f217961596798419.tar.xz
linux-67e55205ec55cc7899f1d783f217961596798419.zip
vfs: umount_begin BKL pushdown
Push BKL down into ->umount_begin() Signed-off-by: Alessio Igor Bogani <abogani@texware.it> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/fuse')
-rw-r--r--fs/fuse/inode.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/fuse/inode.c b/fs/fuse/inode.c
index 459b73dd45e1..d1bc4d33ccbc 100644
--- a/fs/fuse/inode.c
+++ b/fs/fuse/inode.c
@@ -19,6 +19,7 @@
#include <linux/random.h>
#include <linux/sched.h>
#include <linux/exportfs.h>
+#include <linux/smp_lock.h>
MODULE_AUTHOR("Miklos Szeredi <miklos@szeredi.hu>");
MODULE_DESCRIPTION("Filesystem in Userspace");
@@ -259,7 +260,9 @@ struct inode *fuse_iget(struct super_block *sb, u64 nodeid,
static void fuse_umount_begin(struct super_block *sb)
{
+ lock_kernel();
fuse_abort_conn(get_fuse_conn_super(sb));
+ unlock_kernel();
}
static void fuse_send_destroy(struct fuse_conn *fc)