udf: Always require NLS support
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>
This commit is contained in:
parent
44f06ba829
commit
b8333ea1ad
@ -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)
|
||||
|
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user