]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ext4: show 'emergency_ro' when EXT4_FLAGS_EMERGENCY_RO is set
authorBaokun Li <libaokun1@huawei.com>
Wed, 22 Jan 2025 11:41:29 +0000 (19:41 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 13 Mar 2025 14:16:34 +0000 (10:16 -0400)
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@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Reviewed-by: Zhang Yi <yi.zhang@huawei.com>
Link: https://patch.msgid.link/20250122114130.229709-7-libaokun@huaweicloud.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
fs/ext4/super.c

index 94bd351fd2b19314ba738f7c07d49dfb3bcabaa3..de6c06dc8efefb7e7b8bebe27f44941831072ec9 100644 (file)
@@ -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;
 }