Re: [PATCH 6/7] ext4: show 'emergency_ro' when EXT4_FLAGS_EMERGENCY_RO is set

From: Jan Kara
Date: Tue Jan 21 2025 - 08:13:14 EST


On Fri 17-01-25 16:23:14, libaokun@xxxxxxxxxxxxxxx wrote:
> From: Baokun Li <libaokun1@xxxxxxxxxx>
>
> After commit d3476f3dad4a ("ext4: don't set SB_RDONLY after filesystem
> errors") in v6.12-rc1, the 'errors=remount-ro' mode no longer sets
> SB_RDONLY on errors, which results in us seeing the filesystem is still
> in rw state after errors.
>
> Therefore, after setting EXT4_FLAGS_EMERGENCY_RO, display the emergency_ro
> option so that users can query whether the current file system has become
> emergency read-only due to errors through commands such as 'mount' or
> 'cat /proc/fs/ext4/sdx/options'.
>
> Fixes: d3476f3dad4a ("ext4: don't set SB_RDONLY after filesystem errors")
> Signed-off-by: Baokun Li <libaokun1@xxxxxxxxxx>

Looks good. Feel free to add:

Reviewed-by: Jan Kara <jack@xxxxxxx>

Honza

> ---
> fs/ext4/super.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 8d9ac8770764..2377ebf0aff1 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -3029,6 +3029,9 @@ static int _ext4_show_options(struct seq_file *seq, struct super_block *sb,
> if (nodefs && !test_opt(sb, NO_PREFETCH_BLOCK_BITMAPS))
> SEQ_OPTS_PUTS("prefetch_block_bitmaps");
>
> + if (ext4_emergency_ro(sb))
> + SEQ_OPTS_PUTS("emergency_ro");
> +
> ext4_show_quota_options(seq, sb);
> return 0;
> }
> --
> 2.39.2
>
--
Jan Kara <jack@xxxxxxxx>
SUSE Labs, CR