@@ -50,6 +50,9 @@ When mounting an HFSPlus filesystem, the following options are accepted:
or locked. Use at your own risk.
nls=cccc
+ Deprecated alias for ``iocharset=`` mount option.
+
+ iocharset=cccc
Encoding to use when presenting file names.
@@ -23,6 +23,7 @@ enum {
opt_creator, opt_type,
opt_umask, opt_uid, opt_gid,
opt_part, opt_session, opt_nls,
+ opt_iocharset,
opt_nodecompose, opt_decompose,
opt_barrier, opt_nobarrier,
opt_force, opt_err
@@ -37,6 +38,7 @@ static const match_table_t tokens = {
{ opt_part, "part=%u" },
{ opt_session, "session=%u" },
{ opt_nls, "nls=%s" },
+ { opt_iocharset, "iocharset=%s" },
{ opt_decompose, "decompose" },
{ opt_nodecompose, "nodecompose" },
{ opt_barrier, "barrier" },
@@ -170,6 +172,9 @@ int hfsplus_parse_options(char *input, struct hfsplus_sb_info *sbi)
}
break;
case opt_nls:
+ pr_warn("option nls= is deprecated, use iocharset=\n");
+ fallthrough;
+ case opt_iocharset:
if (sbi->nls) {
pr_err("unable to change nls mapping\n");
return 0;
@@ -234,7 +239,7 @@ int hfsplus_show_options(struct seq_file *seq, struct dentry *root)
if (sbi->session >= 0)
seq_printf(seq, ",session=%u", sbi->session);
if (sbi->nls)
- seq_printf(seq, ",nls=%s", sbi->nls->charset);
+ seq_printf(seq, ",iocharset=%s", sbi->nls->charset);
if (test_bit(HFSPLUS_SB_NODECOMPOSE, &sbi->flags))
seq_puts(seq, ",nodecompose");
if (test_bit(HFSPLUS_SB_NOBARRIER, &sbi->flags))
Other fs drivers are using iocharset= mount option for specifying charset. So add it also for hfsplus and mark old nls= mount option as deprecated. Signed-off-by: Pali Rohár <pali@kernel.org> --- Documentation/filesystems/hfsplus.rst | 3 +++ fs/hfsplus/options.c | 7 ++++++- 2 files changed, 9 insertions(+), 1 deletion(-)