diff options
author | Alessio Igor Bogani <abogani@texware.it> | 2009-05-12 09:10:54 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2009-06-11 21:36:11 -0400 |
commit | 337eb00a2c3a421999c39c94ce7e33545ee8baa7 (patch) | |
tree | d9b780d095b638b1d8fa23841ff70347cf5daa08 /fs/ext4 | |
parent | 4195f73d1329e49727bcceb028e58cb38376c2b0 (diff) |
Push BKL down into ->remount_fs()
[xfs, btrfs, capifs, shmem don't need BKL, exempt]
Signed-off-by: Alessio Igor Bogani <abogani@texware.it>
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ext4')
-rw-r--r-- | fs/ext4/super.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index c17200a42301..012c4251397e 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c | |||
@@ -3422,6 +3422,8 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) | |||
3422 | int i; | 3422 | int i; |
3423 | #endif | 3423 | #endif |
3424 | 3424 | ||
3425 | lock_kernel(); | ||
3426 | |||
3425 | /* Store the original options */ | 3427 | /* Store the original options */ |
3426 | lock_super(sb); | 3428 | lock_super(sb); |
3427 | old_sb_flags = sb->s_flags; | 3429 | old_sb_flags = sb->s_flags; |
@@ -3558,6 +3560,7 @@ static int ext4_remount(struct super_block *sb, int *flags, char *data) | |||
3558 | kfree(old_opts.s_qf_names[i]); | 3560 | kfree(old_opts.s_qf_names[i]); |
3559 | #endif | 3561 | #endif |
3560 | unlock_super(sb); | 3562 | unlock_super(sb); |
3563 | unlock_kernel(); | ||
3561 | return 0; | 3564 | return 0; |
3562 | 3565 | ||
3563 | restore_opts: | 3566 | restore_opts: |
@@ -3578,6 +3581,7 @@ restore_opts: | |||
3578 | } | 3581 | } |
3579 | #endif | 3582 | #endif |
3580 | unlock_super(sb); | 3583 | unlock_super(sb); |
3584 | unlock_kernel(); | ||
3581 | return err; | 3585 | return err; |
3582 | } | 3586 | } |
3583 | 3587 | ||