diff options
Diffstat (limited to 'fs/super.c')
-rw-r--r-- | fs/super.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/super.c b/fs/super.c index 7d67387496cb..ed080c417167 100644 --- a/fs/super.c +++ b/fs/super.c | |||
@@ -810,6 +810,7 @@ int get_sb_bdev(struct file_system_type *fs_type, | |||
810 | } | 810 | } |
811 | 811 | ||
812 | s->s_flags |= MS_ACTIVE; | 812 | s->s_flags |= MS_ACTIVE; |
813 | bdev->bd_super = s; | ||
813 | } | 814 | } |
814 | 815 | ||
815 | return simple_set_mnt(mnt, s); | 816 | return simple_set_mnt(mnt, s); |
@@ -829,6 +830,7 @@ void kill_block_super(struct super_block *sb) | |||
829 | struct block_device *bdev = sb->s_bdev; | 830 | struct block_device *bdev = sb->s_bdev; |
830 | fmode_t mode = sb->s_mode; | 831 | fmode_t mode = sb->s_mode; |
831 | 832 | ||
833 | bdev->bd_super = 0; | ||
832 | generic_shutdown_super(sb); | 834 | generic_shutdown_super(sb); |
833 | sync_blockdev(bdev); | 835 | sync_blockdev(bdev); |
834 | close_bdev_exclusive(bdev, mode); | 836 | close_bdev_exclusive(bdev, mode); |