diff options
Diffstat (limited to 'fs/9p')
-rw-r--r-- | fs/9p/vfs_super.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/fs/9p/vfs_super.c b/fs/9p/vfs_super.c index 5f8ab8adb5f5..7d23214e5599 100644 --- a/fs/9p/vfs_super.c +++ b/fs/9p/vfs_super.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include <linux/mount.h> | 37 | #include <linux/mount.h> |
38 | #include <linux/idr.h> | 38 | #include <linux/idr.h> |
39 | #include <linux/sched.h> | 39 | #include <linux/sched.h> |
40 | #include <linux/smp_lock.h> | ||
40 | #include <net/9p/9p.h> | 41 | #include <net/9p/9p.h> |
41 | #include <net/9p/client.h> | 42 | #include <net/9p/client.h> |
42 | 43 | ||
@@ -230,9 +231,12 @@ static int v9fs_show_options(struct seq_file *m, struct vfsmount *mnt) | |||
230 | static void | 231 | static void |
231 | v9fs_umount_begin(struct super_block *sb) | 232 | v9fs_umount_begin(struct super_block *sb) |
232 | { | 233 | { |
233 | struct v9fs_session_info *v9ses = sb->s_fs_info; | 234 | struct v9fs_session_info *v9ses; |
234 | 235 | ||
236 | lock_kernel(); | ||
237 | v9ses = sb->s_fs_info; | ||
235 | v9fs_session_cancel(v9ses); | 238 | v9fs_session_cancel(v9ses); |
239 | unlock_kernel(); | ||
236 | } | 240 | } |
237 | 241 | ||
238 | static const struct super_operations v9fs_super_ops = { | 242 | static const struct super_operations v9fs_super_ops = { |