From 39ef17f1b0613b46c6973596525c2bc816d90b5b Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Sat, 3 Mar 2012 17:56:23 -0500 Subject: [PATCH] ext4: simplify handling of the errors=* mount options Signed-off-by: "Theodore Ts'o" --- fs/ext4/ext4.h | 1 + fs/ext4/super.c | 9 +++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index df93dc196514..d70b981b85fb 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -924,6 +924,7 @@ struct ext4_inode_info { #define EXT4_MOUNT_ERRORS_CONT 0x00010 /* Continue on errors */ #define EXT4_MOUNT_ERRORS_RO 0x00020 /* Remount fs ro on errors */ #define EXT4_MOUNT_ERRORS_PANIC 0x00040 /* Panic on errors */ +#define EXT4_MOUNT_ERRORS_MASK 0x00070 #define EXT4_MOUNT_MINIX_DF 0x00080 /* Mimics the Minix statfs */ #define EXT4_MOUNT_NOLOAD 0x00100 /* Don't use existing journal*/ #define EXT4_MOUNT_DATA_FLAGS 0x00C00 /* Mode for data writes: */ diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 6b27bc6eba40..93cca1fa3903 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1565,18 +1565,15 @@ static int parse_options(char *options, struct super_block *sb, /* *sb_block = match_int(&args[0]); */ break; case Opt_err_panic: - clear_opt(sb, ERRORS_CONT); - clear_opt(sb, ERRORS_RO); + clear_opt(sb, ERRORS_MASK); set_opt(sb, ERRORS_PANIC); break; case Opt_err_ro: - clear_opt(sb, ERRORS_CONT); - clear_opt(sb, ERRORS_PANIC); + clear_opt(sb, ERRORS_MASK); set_opt(sb, ERRORS_RO); break; case Opt_err_cont: - clear_opt(sb, ERRORS_RO); - clear_opt(sb, ERRORS_PANIC); + clear_opt(sb, ERRORS_MASK); set_opt(sb, ERRORS_CONT); break; case Opt_nouid32: -- 2.30.2