diff options
author | Alessio Igor Bogani <abogani@texware.it> | 2009-04-24 09:06:53 +0200 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-05-09 10:49:38 -0400 |
commit | 67e55205ec55cc7899f1d783f217961596798419 (patch) | |
tree | 45dd7351f9721a46ecb448f0571fb10db3259147 /fs/fuse | |
parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) | |
download | linux-67e55205ec55cc7899f1d783f217961596798419.tar.gz linux-67e55205ec55cc7899f1d783f217961596798419.tar.bz2 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.c | 3 |
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) |