Loading fs/block_dev.c +1 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ struct super_block *freeze_bdev(struct block_device *bdev) sb = get_active_super(bdev); if (!sb) goto out; down_write(&sb->s_umount); if (sb->s_flags & MS_RDONLY) { sb->s_frozen = SB_FREEZE_TRANS; up_write(&sb->s_umount); Loading fs/super.c +2 −2 Original line number Diff line number Diff line Loading @@ -210,7 +210,6 @@ static int grab_super(struct super_block *s) __releases(sb_lock) { if (atomic_inc_not_zero(&s->s_active)) { spin_unlock(&sb_lock); down_write(&s->s_umount); return 1; } /* it's going away */ Loading Loading @@ -317,6 +316,7 @@ struct super_block *sget(struct file_system_type *type, up_write(&s->s_umount); destroy_super(s); } down_write(&old->s_umount); return old; } } Loading Loading @@ -466,7 +466,7 @@ EXPORT_SYMBOL(get_super); * * Scans the superblock list and finds the superblock of the file system * mounted on the device given. Returns the superblock with an active * reference and s_umount held exclusively or %NULL if none was found. * reference or %NULL if none was found. */ struct super_block *get_active_super(struct block_device *bdev) { Loading Loading
fs/block_dev.c +1 −0 Original line number Diff line number Diff line Loading @@ -245,6 +245,7 @@ struct super_block *freeze_bdev(struct block_device *bdev) sb = get_active_super(bdev); if (!sb) goto out; down_write(&sb->s_umount); if (sb->s_flags & MS_RDONLY) { sb->s_frozen = SB_FREEZE_TRANS; up_write(&sb->s_umount); Loading
fs/super.c +2 −2 Original line number Diff line number Diff line Loading @@ -210,7 +210,6 @@ static int grab_super(struct super_block *s) __releases(sb_lock) { if (atomic_inc_not_zero(&s->s_active)) { spin_unlock(&sb_lock); down_write(&s->s_umount); return 1; } /* it's going away */ Loading Loading @@ -317,6 +316,7 @@ struct super_block *sget(struct file_system_type *type, up_write(&s->s_umount); destroy_super(s); } down_write(&old->s_umount); return old; } } Loading Loading @@ -466,7 +466,7 @@ EXPORT_SYMBOL(get_super); * * Scans the superblock list and finds the superblock of the file system * mounted on the device given. Returns the superblock with an active * reference and s_umount held exclusively or %NULL if none was found. * reference or %NULL if none was found. */ struct super_block *get_active_super(struct block_device *bdev) { Loading