On Thu 11-04-19 17:49:17, Debabrata Banerjee wrote:
> Fixes:
> commit 1e381f60dad9 ("ext4: do not allow journal_opts for fs w/o journal")
> 
> Instead of removing EXT4_MOUNT_JOURNAL_CHECKSUM from s_def_mount_opt as
> I assume was intended, all other options were blown away leading to
> _ext4_show_options() output being incorrect. I don't see why this or
> other journal related flags should be removed from s_def_mount_opt
> regardless, it is only used for comparison to display opts, and we
> already made sure they couldn't be set.
> 
> Signed-off-by: Debabrata Banerjee <dbane...@akamai.com>

So I agree that the clearing is wrong. But I don't agree with just deleting
the line. We could have JOURNAL_CHECKSUM in s_def_mount_opt in nojournal
mode and in such case we don't want to show in /proc/mounts
nojournal_checksum as a mount option. So the line should be really fixed
to:

        sbi->s_def_mount_opt &= ~EXT4_MOUNT_JOURNAL_CHECKSUM;

                                                                Honza

> ---
>  fs/ext4/super.c | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 6ed4eb81e674..63eef29666e0 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -4238,7 +4238,6 @@ static int ext4_fill_super(struct super_block *sb, void 
> *data, int silent)
>                                "data=, fs mounted w/o journal");
>                       goto failed_mount_wq;
>               }
> -             sbi->s_def_mount_opt &= EXT4_MOUNT_JOURNAL_CHECKSUM;
>               clear_opt(sb, JOURNAL_CHECKSUM);
>               clear_opt(sb, DATA_FLAGS);
>               sbi->s_journal = NULL;
> -- 
> 2.21.0
> 
-- 
Jan Kara <j...@suse.com>
SUSE Labs, CR

Reply via email to