|
Kmods SIG |
9e3ffb |
From 907fa893258ba6076f5fff32900a461decb9e8c5 Mon Sep 17 00:00:00 2001
|
|
Kmods SIG |
9e3ffb |
From: Namjae Jeon <namjae.jeon@samsung.com>
|
|
Kmods SIG |
9e3ffb |
Date: Fri, 22 May 2020 08:10:10 +0900
|
|
Kmods SIG |
9e3ffb |
Subject: [Backport 907fa893258b] exfat: add the dummy mount options to be
|
|
Kmods SIG |
9e3ffb |
backward compatible with staging/exfat
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
As Ubuntu and Fedora release new version used kernel version equal to or
|
|
Kmods SIG |
9e3ffb |
higher than v5.4, They started to support kernel exfat filesystem.
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
Linus reported a mount error with new version of exfat on Fedora:
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
exfat: Unknown parameter 'namecase'
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
This is because there is a difference in mount option between old
|
|
Kmods SIG |
9e3ffb |
staging/exfat and new exfat. And utf8, debug, and codepage options as
|
|
Kmods SIG |
9e3ffb |
well as namecase have been removed from new exfat.
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
This patch add the dummy mount options as deprecated option to be
|
|
Kmods SIG |
9e3ffb |
backward compatible with old one.
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Kmods SIG |
9e3ffb |
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
|
|
Kmods SIG |
9e3ffb |
Cc: Matthew Wilcox <willy@infradead.org>
|
|
Kmods SIG |
9e3ffb |
Cc: Al Viro <viro@zeniv.linux.org.uk>
|
|
Kmods SIG |
9e3ffb |
Cc: Eric Sandeen <sandeen@sandeen.net>
|
|
Kmods SIG |
9e3ffb |
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
|
|
Kmods SIG |
9e3ffb |
---
|
|
Kmods SIG |
9e3ffb |
src/super.c | 19 +++++++++++++++++++
|
|
Kmods SIG |
9e3ffb |
1 file changed, 19 insertions(+)
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
diff --git a/src/super.c b/src/super.c
|
|
Kmods SIG |
9e3ffb |
index 0565d5539d57c6678c81997228dc3b8116eb864c..a846ff555656cd876e77ae014b35e192b5ccd183 100644
|
|
Kmods SIG |
9e3ffb |
--- a/src/super.c
|
|
Kmods SIG |
9e3ffb |
+++ b/src/super.c
|
|
Kmods SIG |
9e3ffb |
@@ -203,6 +203,12 @@ enum {
|
|
Kmods SIG |
9e3ffb |
Opt_errors,
|
|
Kmods SIG |
9e3ffb |
Opt_discard,
|
|
Kmods SIG |
9e3ffb |
Opt_time_offset,
|
|
Kmods SIG |
9e3ffb |
+
|
|
Kmods SIG |
9e3ffb |
+ /* Deprecated options */
|
|
Kmods SIG |
9e3ffb |
+ Opt_utf8,
|
|
Kmods SIG |
9e3ffb |
+ Opt_debug,
|
|
Kmods SIG |
9e3ffb |
+ Opt_namecase,
|
|
Kmods SIG |
9e3ffb |
+ Opt_codepage,
|
|
Kmods SIG |
9e3ffb |
};
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
static const struct constant_table exfat_param_enums[] = {
|
|
Kmods SIG |
9e3ffb |
@@ -223,6 +229,14 @@ static const struct fs_parameter_spec exfat_parameters[] = {
|
|
Kmods SIG |
9e3ffb |
fsparam_enum("errors", Opt_errors, exfat_param_enums),
|
|
Kmods SIG |
9e3ffb |
fsparam_flag("discard", Opt_discard),
|
|
Kmods SIG |
9e3ffb |
fsparam_s32("time_offset", Opt_time_offset),
|
|
Kmods SIG |
9e3ffb |
+ __fsparam(NULL, "utf8", Opt_utf8, fs_param_deprecated,
|
|
Kmods SIG |
9e3ffb |
+ NULL),
|
|
Kmods SIG |
9e3ffb |
+ __fsparam(NULL, "debug", Opt_debug, fs_param_deprecated,
|
|
Kmods SIG |
9e3ffb |
+ NULL),
|
|
Kmods SIG |
9e3ffb |
+ __fsparam(fs_param_is_u32, "namecase", Opt_namecase,
|
|
Kmods SIG |
9e3ffb |
+ fs_param_deprecated, NULL),
|
|
Kmods SIG |
9e3ffb |
+ __fsparam(fs_param_is_u32, "codepage", Opt_codepage,
|
|
Kmods SIG |
9e3ffb |
+ fs_param_deprecated, NULL),
|
|
Kmods SIG |
9e3ffb |
{}
|
|
Kmods SIG |
9e3ffb |
};
|
|
Kmods SIG |
9e3ffb |
|
|
Kmods SIG |
9e3ffb |
@@ -278,6 +292,11 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter *param)
|
|
Kmods SIG |
9e3ffb |
return -EINVAL;
|
|
Kmods SIG |
9e3ffb |
opts->time_offset = result.int_32;
|
|
Kmods SIG |
9e3ffb |
break;
|
|
Kmods SIG |
9e3ffb |
+ case Opt_utf8:
|
|
Kmods SIG |
9e3ffb |
+ case Opt_debug:
|
|
Kmods SIG |
9e3ffb |
+ case Opt_namecase:
|
|
Kmods SIG |
9e3ffb |
+ case Opt_codepage:
|
|
Kmods SIG |
9e3ffb |
+ break;
|
|
Kmods SIG |
9e3ffb |
default:
|
|
Kmods SIG |
9e3ffb |
return -EINVAL;
|
|
Kmods SIG |
9e3ffb |
}
|
|
Kmods SIG |
9e3ffb |
--
|
|
Kmods SIG |
9e3ffb |
2.31.1
|
|
Kmods SIG |
9e3ffb |
|