ext4: move DIOREAD_NOLOCK setting to ext4_set_def_opts()
authorJason Yan <yanaijie@huawei.com>
Fri, 16 Sep 2022 14:15:27 +0000 (22:15 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 1 Oct 2022 03:46:54 +0000 (23:46 -0400)
Now since all preparations is done, we can move the DIOREAD_NOLOCK
setting to ext4_set_def_opts().

Suggested-by: Ritesh Harjani (IBM) <ritesh.list@gmail.com>
Signed-off-by: Jason Yan <yanaijie@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20220916141527.1012715-17-yanaijie@huawei.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/super.c

index 9db5be55de40847c900ca098946a119303283ac9..d733db8a0b026258b590219b8e9cc76f4ffffe9a 100644 (file)
@@ -4335,6 +4335,9 @@ static void ext4_set_def_opts(struct super_block *sb,
        if (!IS_EXT3_SB(sb) && !IS_EXT2_SB(sb) &&
            ((def_mount_opts & EXT4_DEFM_NODELALLOC) == 0))
                set_opt(sb, DELALLOC);
+
+       if (sb->s_blocksize == PAGE_SIZE)
+               set_opt(sb, DIOREAD_NOLOCK);
 }
 
 static int ext4_handle_clustersize(struct super_block *sb)
@@ -5080,9 +5083,6 @@ static int __ext4_fill_super(struct fs_context *fc, struct super_block *sb)
         */
        sbi->s_li_wait_mult = EXT4_DEF_LI_WAIT_MULT;
 
-       if (sb->s_blocksize == PAGE_SIZE)
-               set_opt(sb, DIOREAD_NOLOCK);
-
        if (ext4_inode_info_init(sb, es))
                goto failed_mount;