Linux-Fsdevel Archive on lore.kernel.org
 help / color / Atom feed
* [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat
@ 2020-05-21 12:20 Namjae Jeon
  2020-05-21 17:32 ` Al Viro
  0 siblings, 1 reply; 5+ messages in thread
From: Namjae Jeon @ 2020-05-21 12:20 UTC (permalink / raw)
  To: linux-fsdevel; +Cc: linux-kernel, torvalds, Namjae Jeon

As Ubuntu and Fedora release new version used kernel version equal to or
higher than v5.4, They started to support kernel exfat filesystem.

Linus Torvalds reported mount error with new version of exfat on Fedora.

	exfat: Unknown parameter 'namecase'

This is because there is a difference in mount option between old
staging/exfat and new exfat.
And utf8, debug, and codepage options as well as namecase have been
removed from new exfat.

This patch add the dummy mount options as deprecated option to be backward
compatible with old one.

Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
---
 fs/exfat/super.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/fs/exfat/super.c b/fs/exfat/super.c
index 0565d5539d57..26b0db5b20de 100644
--- a/fs/exfat/super.c
+++ b/fs/exfat/super.c
@@ -203,6 +203,12 @@ enum {
 	Opt_errors,
 	Opt_discard,
 	Opt_time_offset,
+
+	/* Deprecated options */
+	Opt_utf8,
+	Opt_debug,
+	Opt_namecase,
+	Opt_codepage,
 };
 
 static const struct constant_table exfat_param_enums[] = {
@@ -223,6 +229,10 @@ static const struct fs_parameter_spec exfat_parameters[] = {
 	fsparam_enum("errors",			Opt_errors, exfat_param_enums),
 	fsparam_flag("discard",			Opt_discard),
 	fsparam_s32("time_offset",		Opt_time_offset),
+	fsparam_flag("utf8",			Opt_utf8),
+	fsparam_flag("debug",			Opt_debug),
+	fsparam_u32("namecase",			Opt_namecase),
+	fsparam_u32("codepage",			Opt_codepage),
 	{}
 };
 
@@ -278,6 +288,18 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter *param)
 			return -EINVAL;
 		opts->time_offset = result.int_32;
 		break;
+	case Opt_utf8:
+		pr_warn("exFAT-fs: 'utf8' mount option is deprecated and has no effect\n");
+		break;
+	case Opt_debug:
+		pr_warn("exFAT-fs: 'debug' mount option is deprecated and has no effect\n");
+		break;
+	case Opt_namecase:
+		pr_warn("exFAT-fs: 'namecase' mount option is deprecated and has no effect\n");
+		break;
+	case Opt_codepage:
+		pr_warn("exFAT-fs: 'codepage' mount option is deprecated and has no effect\n");
+		break;
 	default:
 		return -EINVAL;
 	}
-- 
2.25.1


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat
  2020-05-21 12:20 [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat Namjae Jeon
@ 2020-05-21 17:32 ` Al Viro
  2020-05-21 23:28   ` Namjae Jeon
  0 siblings, 1 reply; 5+ messages in thread
From: Al Viro @ 2020-05-21 17:32 UTC (permalink / raw)
  To: Namjae Jeon; +Cc: linux-fsdevel, linux-kernel, torvalds, Namjae Jeon

On Thu, May 21, 2020 at 09:20:34PM +0900, Namjae Jeon wrote:
> As Ubuntu and Fedora release new version used kernel version equal to or
> higher than v5.4, They started to support kernel exfat filesystem.
> 
> Linus Torvalds reported mount error with new version of exfat on Fedora.
> 
> 	exfat: Unknown parameter 'namecase'
> 
> This is because there is a difference in mount option between old
> staging/exfat and new exfat.
> And utf8, debug, and codepage options as well as namecase have been
> removed from new exfat.
> 
> This patch add the dummy mount options as deprecated option to be backward
> compatible with old one.
> 
> Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
> Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>

Do you want that to go via vfs.git #fixes, or would you rather have Linus
apply it straight to mainline?

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat
  2020-05-21 17:32 ` Al Viro
@ 2020-05-21 23:28   ` Namjae Jeon
  2020-05-21 23:41     ` Linus Torvalds
  0 siblings, 1 reply; 5+ messages in thread
From: Namjae Jeon @ 2020-05-21 23:28 UTC (permalink / raw)
  To: 'Al Viro'
  Cc: linux-fsdevel, linux-kernel, torvalds, 'Namjae Jeon'

> On Thu, May 21, 2020 at 09:20:34PM +0900, Namjae Jeon wrote:
> > As Ubuntu and Fedora release new version used kernel version equal to
> > or higher than v5.4, They started to support kernel exfat filesystem.
> >
> > Linus Torvalds reported mount error with new version of exfat on Fedora.
> >
> > 	exfat: Unknown parameter 'namecase'
> >
> > This is because there is a difference in mount option between old
> > staging/exfat and new exfat.
> > And utf8, debug, and codepage options as well as namecase have been
> > removed from new exfat.
> >
> > This patch add the dummy mount options as deprecated option to be
> > backward compatible with old one.
> >
> > Reported-by: Linus Torvalds <torvalds@linux-foundation.org>
> > Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
> > Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
> 
> Do you want that to go via vfs.git #fixes, or would you rather have Linus apply it straight to
> mainline?
I would really appreciate if Linus apply it directly to mainline.

Thanks!


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat
  2020-05-21 23:28   ` Namjae Jeon
@ 2020-05-21 23:41     ` Linus Torvalds
  0 siblings, 0 replies; 5+ messages in thread
From: Linus Torvalds @ 2020-05-21 23:41 UTC (permalink / raw)
  To: Namjae Jeon
  Cc: Al Viro, linux-fsdevel, Linux Kernel Mailing List, Namjae Jeon

On Thu, May 21, 2020 at 4:28 PM Namjae Jeon <namjae.jeon@samsung.com> wrote:
>
> I would really appreciate if Linus apply it directly to mainline.

v3 applied. Thanks,

               Linus

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat
       [not found] ` <004401d62fc9$4ba36620$e2ea3260$@samsung.com>
@ 2020-05-21 23:44   ` Namjae Jeon
  0 siblings, 0 replies; 5+ messages in thread
From: Namjae Jeon @ 2020-05-21 23:44 UTC (permalink / raw)
  To: 'Matthew Wilcox'
  Cc: 'Namjae Jeon',
	linux-fsdevel, linux-kernel, torvalds, 'Eric Sandeen'

> On Thu, May 21, 2020 at 10:44:28AM -0500, Eric Sandeen wrote:
> > On 5/21/20 9:05 AM, Namjae Jeon wrote:
> > > As Ubuntu and Fedora release new version used kernel version equal
> > > to or higher than v5.4, They started to support kernel exfat filesystem.
> > >
> > > Linus Torvalds reported mount error with new version of exfat on Fedora.
> > >
> > >     exfat: Unknown parameter 'namecase'
> > >
> > > This is because there is a difference in mount option between old
> > > staging/exfat and new exfat.
> > > And utf8, debug, and codepage options as well as namecase have been
> > > removed from new exfat.
> > >
> > > This patch add the dummy mount options as deprecated option to be
> > > backward compatible with old one.
> >
> > Wow, it seems wild that we'd need to maintain compatibility with
> > options which only ever existed in a different codebase in a staging
> > driver (what's the point of staging if every interface that makes it
> > that far has to be maintained in perpetuity?)
> >
> > Often, when things are deprecated, they are eventually removed.
> > Perhaps a future removal date stated in this commit, or in
> > Documentation/..../exfat.txt would be good as a reminder to eventually remove this?
> 
> For NFS, 'intr' has been deprecated since December 2007 and has been printing a warning since June
> 2008.  How long until we delete it?
> 
> > >  static const struct constant_table exfat_param_enums[] = { @@
> > > -223,6 +229,10 @@ static const struct fs_parameter_spec exfat_parameters[] = {
> > >     fsparam_enum("errors",                  Opt_errors, exfat_param_enums),
> > >     fsparam_flag("discard",                 Opt_discard),
> > >     fsparam_s32("time_offset",              Opt_time_offset),
> > > +   fsparam_flag("utf8",                    Opt_utf8),
> > > +   fsparam_flag("debug",                   Opt_debug),
> > > +   fsparam_u32("namecase",                 Opt_namecase),
> > > +   fsparam_u32("codepage",                 Opt_codepage),
> 
>         __fsparam(NULL, "utf8",         Opt_utf8, fs_param_deprecated, NULL),
>         __fsparam(NULL, "debug",        Opt_debug, fs_param_deprecated, NULL),
>         __fsparam(fs_param_is_u32, "namecase", Opt_namecase,
>                                                 fs_param_deprecated, NULL),
>         __fsparam(fs_param_is_u32, "codepage", Opt_codepage,
>                                                 fs_param_deprecated, NULL),
> 
> > > @@ -278,6 +288,18 @@ static int exfat_parse_param(struct fs_context *fc, struct fs_parameter
> *param)
> > >                     return -EINVAL;
> > >             opts->time_offset = result.int_32;
> > >             break;
> > > +   case Opt_utf8:
> > > +           pr_warn("exFAT-fs: 'utf8' mount option is deprecated and has no effect\n");
> > > +           break;
> > > +   case Opt_debug:
> > > +           pr_warn("exFAT-fs: 'debug' mount option is deprecated and has no effect\n");
> > > +           break;
> > > +   case Opt_namecase:
> > > +           pr_warn("exFAT-fs: 'namecase' mount option is deprecated and has no effect\n");
> > > +           break;
> > > +   case Opt_codepage:
> > > +           pr_warn("exFAT-fs: 'codepage' mount option is deprecated and has no effect\n");
> > > +           break;
> 
> and then you don't need this hunk because the fs parser will print the deprecated message for you.
Fixed it on v3.
Thanks for your review!



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, back to index

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-21 12:20 [PATCH] exfat: add the dummy mount options to be backward compatible with staging/exfat Namjae Jeon
2020-05-21 17:32 ` Al Viro
2020-05-21 23:28   ` Namjae Jeon
2020-05-21 23:41     ` Linus Torvalds
     [not found] <CGME20200521234105epcas1p14b910bcdc017938249a491a1b5207bb8@epcas1p1.samsung.com>
     [not found] ` <004401d62fc9$4ba36620$e2ea3260$@samsung.com>
2020-05-21 23:44   ` Namjae Jeon

Linux-Fsdevel Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-fsdevel/0 linux-fsdevel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-fsdevel linux-fsdevel/ https://lore.kernel.org/linux-fsdevel \
		linux-fsdevel@vger.kernel.org
	public-inbox-index linux-fsdevel

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-fsdevel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git