From: Gabriel Krisman Bertazi Subject: [PATCH RFC 09/13] ext4: Add ignorecase mount option Date: Fri, 12 Jan 2018 05:12:30 -0200 Message-ID: <20180112071234.29470-10-krisman@collabora.co.uk> References: <20180112071234.29470-1-krisman@collabora.co.uk> Cc: linux-ext4@vger.kernel.org, linux-fsdevel@vger.kernel.org, kernel@lists.collabora.co.uk, alvaro.soliverez@collabora.co.uk, Gabriel Krisman Bertazi To: tytso@mit.edu, david@fromorbit.com, bpm@sgi.com, olaf@sgi.com Return-path: In-Reply-To: <20180112071234.29470-1-krisman@collabora.co.uk> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-ext4.vger.kernel.org Signed-off-by: Gabriel Krisman Bertazi --- fs/ext4/ext4.h | 3 +++ fs/ext4/super.c | 5 +++++ 2 files changed, 8 insertions(+) diff --git a/fs/ext4/ext4.h b/fs/ext4/ext4.h index 4e091eae38b1..09fb2426c352 100644 --- a/fs/ext4/ext4.h +++ b/fs/ext4/ext4.h @@ -1130,6 +1130,9 @@ struct ext4_inode_info { #define EXT4_MOUNT2_EXPLICIT_JOURNAL_CHECKSUM 0x00000008 /* User explicitly specified journal checksum */ +#define EXT4_MOUNT2_CASE_INSENSITIVE 0x00000010 /* Perform case-insensitive + lookups */ + #define clear_opt(sb, opt) EXT4_SB(sb)->s_mount_opt &= \ ~EXT4_MOUNT_##opt #define set_opt(sb, opt) EXT4_SB(sb)->s_mount_opt |= \ diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 7c46693a14d7..f737e90a3b4e 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -1350,6 +1350,7 @@ enum { Opt_dioread_nolock, Opt_dioread_lock, Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable, Opt_max_dir_size_kb, Opt_nojournal_checksum, Opt_nombcache, + Opt_ignore_case, }; static const match_table_t tokens = { @@ -1432,6 +1433,7 @@ static const match_table_t tokens = { {Opt_noinit_itable, "noinit_itable"}, {Opt_max_dir_size_kb, "max_dir_size_kb=%u"}, {Opt_test_dummy_encryption, "test_dummy_encryption"}, + {Opt_ignore_case, "ignorecase"}, {Opt_nombcache, "nombcache"}, {Opt_nombcache, "no_mbcache"}, /* for backward compatibility */ {Opt_removed, "check=none"}, /* mount option from ext2/3 */ @@ -1687,6 +1689,9 @@ static int handle_mount_opt(struct super_block *sb, char *opt, int token, case Opt_nolazytime: sb->s_flags &= ~SB_LAZYTIME; return 1; + case Opt_ignore_case: + set_opt2(sb, CASE_INSENSITIVE); + return 1; } for (m = ext4_mount_opts; m->token != Opt_err; m++) -- 2.15.1