]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
udf: Always require NLS support
authorJan Kara <jack@suse.cz>
Wed, 11 Apr 2018 10:27:27 +0000 (12:27 +0200)
committerJan Kara <jack@suse.cz>
Thu, 19 Apr 2018 14:00:48 +0000 (16:00 +0200)
UDF needs to convert strings between OSTA CS0 charset and standard UTF8.
Currently we implement our own utf-16 <-> utf-8 translations which is
unnecessary code duplication. Always select NLS so that we can use
translation functions from there.

Signed-off-by: Jan Kara <jack@suse.cz>
fs/udf/Kconfig
fs/udf/super.c

index c6e17a744c3b2f04e73c0c6ffc317a02b5867f3f..aa415054ad0ac6767b31b5f66af8727d42eacbda 100644 (file)
@@ -1,6 +1,7 @@
 config UDF_FS
        tristate "UDF file system support"
        select CRC_ITU_T
+       select NLS
        help
          This is a file system used on some CD-ROMs and DVDs. Since the
          file system is supported by multiple operating systems and is more
@@ -13,8 +14,3 @@ config UDF_FS
          module will be called udf.
 
          If unsure, say N.
-
-config UDF_NLS
-       bool
-       default y
-       depends on (UDF_FS=m && NLS) || (UDF_FS=y && NLS=y)
index 7949c338efa5491d9d8b4a0fbe69233c07b75ce3..37d2565a7f785e0196ffe820d3d1038cb4f54188 100644 (file)
@@ -572,7 +572,6 @@ static int udf_parse_options(char *options, struct udf_options *uopt,
                case Opt_utf8:
                        uopt->flags |= (1 << UDF_FLAG_UTF8);
                        break;
-#ifdef CONFIG_UDF_NLS
                case Opt_iocharset:
                        if (!remount) {
                                if (uopt->nls_map)
@@ -581,7 +580,6 @@ static int udf_parse_options(char *options, struct udf_options *uopt,
                                uopt->flags |= (1 << UDF_FLAG_NLS_MAP);
                        }
                        break;
-#endif
                case Opt_uforget:
                        uopt->flags |= (1 << UDF_FLAG_UID_FORGET);
                        break;
@@ -2117,7 +2115,6 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
                udf_err(sb, "utf8 cannot be combined with iocharset\n");
                goto parse_options_failure;
        }
-#ifdef CONFIG_UDF_NLS
        if ((uopt.flags & (1 << UDF_FLAG_NLS_MAP)) && !uopt.nls_map) {
                uopt.nls_map = load_nls_default();
                if (!uopt.nls_map)
@@ -2125,7 +2122,6 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
                else
                        udf_debug("Using default NLS map\n");
        }
-#endif
        if (!(uopt.flags & (1 << UDF_FLAG_NLS_MAP)))
                uopt.flags |= (1 << UDF_FLAG_UTF8);
 
@@ -2279,10 +2275,8 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
 error_out:
        iput(sbi->s_vat_inode);
 parse_options_failure:
-#ifdef CONFIG_UDF_NLS
        if (uopt.nls_map)
                unload_nls(uopt.nls_map);
-#endif
        if (lvid_open)
                udf_close_lvid(sb);
        brelse(sbi->s_lvid_bh);
@@ -2332,10 +2326,8 @@ static void udf_put_super(struct super_block *sb)
        sbi = UDF_SB(sb);
 
        iput(sbi->s_vat_inode);
-#ifdef CONFIG_UDF_NLS
        if (UDF_QUERY_FLAG(sb, UDF_FLAG_NLS_MAP))
                unload_nls(sbi->s_nls_map);
-#endif
        if (!sb_rdonly(sb))
                udf_close_lvid(sb);
        brelse(sbi->s_lvid_bh);