• J
    BKL: Remove BKL from ext2 filesystem · e0a5cbac
    Jan Blunck 提交于
    The BKL is still used in ext2_put_super(), ext2_fill_super(), ext2_sync_fs()
    ext2_remount() and ext2_write_inode(). From these calls ext2_put_super(),
    ext2_fill_super() and ext2_remount() are protected against each other by
    the struct super_block s_umount rw semaphore. The call in ext2_write_inode()
    could only protect the modification of the ext2_sb_info through
    ext2_update_dynamic_rev() against concurrent ext2_sync_fs() or ext2_remount().
    ext2_fill_super() and ext2_put_super() can be left out because you need a
    valid filesystem reference in all three cases, which you do not have when
    you are one of these functions.
    
    If the BKL is only protecting the modification of the ext2_sb_info it can
    safely be removed since this is protected by the struct ext2_sb_info s_lock.
    Signed-off-by: NJan Blunck <jblunck@suse.de>
    Cc: Jan Kara <jack@suse.cz>
    Signed-off-by: NJan Kara <jack@suse.cz>
    e0a5cbac
super.c 40.6 KB