diff options
author | Alessio Igor Bogani <abogani@texware.it> | 2009-04-24 03:06:53 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-05-09 10:49:38 -0400 |
commit | 67e55205ec55cc7899f1d783f217961596798419 (patch) | |
tree | 45dd7351f9721a46ecb448f0571fb10db3259147 /fs/cifs | |
parent | 091bf7624d1c90cec9e578a18529f615213ff847 (diff) |
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/cifs')
-rw-r--r-- | fs/cifs/cifsfs.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/cifs/cifsfs.c b/fs/cifs/cifsfs.c index 0d6d8b573652..355e0efec0cf 100644 --- a/fs/cifs/cifsfs.c +++ b/fs/cifs/cifsfs.c | |||
@@ -35,6 +35,7 @@ | |||
35 | #include <linux/delay.h> | 35 | #include <linux/delay.h> |
36 | #include <linux/kthread.h> | 36 | #include <linux/kthread.h> |
37 | #include <linux/freezer.h> | 37 | #include <linux/freezer.h> |
38 | #include <linux/smp_lock.h> | ||
38 | #include "cifsfs.h" | 39 | #include "cifsfs.h" |
39 | #include "cifspdu.h" | 40 | #include "cifspdu.h" |
40 | #define DECLARE_GLOBALS_HERE | 41 | #define DECLARE_GLOBALS_HERE |
@@ -530,6 +531,7 @@ static void cifs_umount_begin(struct super_block *sb) | |||
530 | if (tcon == NULL) | 531 | if (tcon == NULL) |
531 | return; | 532 | return; |
532 | 533 | ||
534 | lock_kernel(); | ||
533 | read_lock(&cifs_tcp_ses_lock); | 535 | read_lock(&cifs_tcp_ses_lock); |
534 | if (tcon->tc_count == 1) | 536 | if (tcon->tc_count == 1) |
535 | tcon->tidStatus = CifsExiting; | 537 | tcon->tidStatus = CifsExiting; |
@@ -548,6 +550,7 @@ static void cifs_umount_begin(struct super_block *sb) | |||
548 | } | 550 | } |
549 | /* BB FIXME - finish add checks for tidStatus BB */ | 551 | /* BB FIXME - finish add checks for tidStatus BB */ |
550 | 552 | ||
553 | unlock_kernel(); | ||
551 | return; | 554 | return; |
552 | } | 555 | } |
553 | 556 | ||