OSDN Git Service

ext4: ext4_put_super: Remove redundant checking for 'sbi->s_journal_bdev'
authorZhihao Cheng <chengzhihao1@huawei.com>
Wed, 15 Mar 2023 01:31:24 +0000 (09:31 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 26 Jun 2023 23:35:13 +0000 (19:35 -0400)
As discussed in [1], 'sbi->s_journal_bdev != sb->s_bdev' will always
become true if sbi->s_journal_bdev exists. Filesystem block device and
journal block device are both opened with 'FMODE_EXCL' mode, so these
two devices can't be same one. Then we can remove the redundant checking
'sbi->s_journal_bdev != sb->s_bdev' if 'sbi->s_journal_bdev' exists.

[1] https://lore.kernel.org/lkml/f86584f6-3877-ff18-47a1-2efaa12d18b2@huawei.com/

Signed-off-by: Zhihao Cheng <chengzhihao1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230315013128.3911115-3-chengzhihao1@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/super.c

index 6a8c5c3..fcc8dad 100644 (file)
@@ -1333,7 +1333,7 @@ static void ext4_put_super(struct super_block *sb)
 
        sync_blockdev(sb->s_bdev);
        invalidate_bdev(sb->s_bdev);
-       if (sbi->s_journal_bdev && sbi->s_journal_bdev != sb->s_bdev) {
+       if (sbi->s_journal_bdev) {
                sync_blockdev(sbi->s_journal_bdev);
                ext4_blkdev_remove(sbi);
        }