[RFC] vfat: change the default from shortname=lower to shortname=mixed

From: OGAWA Hirofumi
Date: Thu Jun 25 2009 - 16:06:33 EST


Hi,

I was asked like the following sometimes,

Why is shortname=lower the default mount option for vfat filesystems?
Because, with "shortname=lower", copying one FAT filesystem tree to
another FAT filesystem tree using Liux results in semantically
different filesystems. (E.g.: Filenames which were once "all
uppercase" are now "all lowercase").

And from recently email

http://bugs.debian.org/476903
http://bugs.debian.org/497121
http://bugzilla.gnome.org/554031
https://bugs.launchpad.net/ubuntu/+bug/290362


My usual answer for it is, personally I agree that "winnt" or "mixed"
is proper. However, it is long-standing default behavior. Um...

But, now, situation would not be same with long past (didn't have
shortname= option).

Well, so, what do you think about changing the default of vfat from
"shortname=lower" to "shortname=mixed"? If default was changed, the
shortname (8.3) will not changed to lower case to show. And if possible,
it will try to preserve created shortname.

Thanks.
--
OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx>


This causes Linux and Windows to display filenames the same.

Signed-off-by: Paul Wise <pabs3@xxxxxxxxxxxxx>

Documentation/filesystems/vfat.txt | 2 +-
fs/fat/inode.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Documentation/filesystems/vfat.txt b/Documentation/filesystems/vfat.txt
index b58b84b..eed520f 100644
--- a/Documentation/filesystems/vfat.txt
+++ b/Documentation/filesystems/vfat.txt
@@ -102,7 +102,7 @@ shortname=lower|win95|winnt|mixed
winnt: emulate the Windows NT rule for display/create.
mixed: emulate the Windows NT rule for display,
emulate the Windows 95 rule for create.
- Default setting is `lower'.
+ Default setting is `mixed'.

tz=UTC -- Interpret timestamps as UTC rather than local time.
This option disables the conversion of timestamps
diff --git a/fs/fat/inode.c b/fs/fat/inode.c
index 8970d8c..f9af501 100644
--- a/fs/fat/inode.c
+++ b/fs/fat/inode.c
@@ -971,7 +971,7 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug,
opts->codepage = fat_default_codepage;
opts->iocharset = fat_default_iocharset;
if (is_vfat) {
- opts->shortname = VFAT_SFN_DISPLAY_LOWER|VFAT_SFN_CREATE_WIN95;
+ opts->shortname = VFAT_SFN_DISPLAY_WINNT|VFAT_SFN_CREATE_WIN95;
opts->rodir = 0;
} else {
opts->shortname = 0;
--
1.6.3.1
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/