提交 bb4f397a 编写于 作者: A Aneesh Kumar K.V 提交者: Theodore Ts'o

ext4: Change the default behaviour on error

ext4 file system was by default ignoring errors and continuing. This
is not a good default as continuing on error could lead to file system
corruption. Change the default to mark the file system
readonly. Debian and ubuntu already does this as the default in their
fstab.
Signed-off-by: NAneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Acked-by: NEric Sandeen <sandeen@redhat.com>
Signed-off-by: NMingming Cao <cmm@us.ibm.com>
上级 e7c95593
...@@ -688,16 +688,16 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs) ...@@ -688,16 +688,16 @@ static int ext4_show_options(struct seq_file *seq, struct vfsmount *vfs)
le16_to_cpu(es->s_def_resgid) != EXT4_DEF_RESGID) { le16_to_cpu(es->s_def_resgid) != EXT4_DEF_RESGID) {
seq_printf(seq, ",resgid=%u", sbi->s_resgid); seq_printf(seq, ",resgid=%u", sbi->s_resgid);
} }
if (test_opt(sb, ERRORS_CONT)) { if (test_opt(sb, ERRORS_RO)) {
int def_errors = le16_to_cpu(es->s_errors); int def_errors = le16_to_cpu(es->s_errors);
if (def_errors == EXT4_ERRORS_PANIC || if (def_errors == EXT4_ERRORS_PANIC ||
def_errors == EXT4_ERRORS_RO) { def_errors == EXT4_ERRORS_CONTINUE) {
seq_puts(seq, ",errors=continue"); seq_puts(seq, ",errors=remount-ro");
} }
} }
if (test_opt(sb, ERRORS_RO)) if (test_opt(sb, ERRORS_CONT))
seq_puts(seq, ",errors=remount-ro"); seq_puts(seq, ",errors=continue");
if (test_opt(sb, ERRORS_PANIC)) if (test_opt(sb, ERRORS_PANIC))
seq_puts(seq, ",errors=panic"); seq_puts(seq, ",errors=panic");
if (test_opt(sb, NO_UID32)) if (test_opt(sb, NO_UID32))
...@@ -1819,10 +1819,10 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent) ...@@ -1819,10 +1819,10 @@ static int ext4_fill_super (struct super_block *sb, void *data, int silent)
if (le16_to_cpu(sbi->s_es->s_errors) == EXT4_ERRORS_PANIC) if (le16_to_cpu(sbi->s_es->s_errors) == EXT4_ERRORS_PANIC)
set_opt(sbi->s_mount_opt, ERRORS_PANIC); set_opt(sbi->s_mount_opt, ERRORS_PANIC);
else if (le16_to_cpu(sbi->s_es->s_errors) == EXT4_ERRORS_RO) else if (le16_to_cpu(sbi->s_es->s_errors) == EXT4_ERRORS_CONTINUE)
set_opt(sbi->s_mount_opt, ERRORS_RO);
else
set_opt(sbi->s_mount_opt, ERRORS_CONT); set_opt(sbi->s_mount_opt, ERRORS_CONT);
else
set_opt(sbi->s_mount_opt, ERRORS_RO);
sbi->s_resuid = le16_to_cpu(es->s_def_resuid); sbi->s_resuid = le16_to_cpu(es->s_def_resuid);
sbi->s_resgid = le16_to_cpu(es->s_def_resgid); sbi->s_resgid = le16_to_cpu(es->s_def_resgid);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册