lkml.org 
[lkml]   [2009]   [Jun]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[RFC] vfat: change the default from shortname=lower to shortname=mixed
Date
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@mail.parknet.co.jp>


This causes Linux and Windows to display filenames the same.

Signed-off-by: Paul Wise <pabs3@bonedaddy.net>

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

\
 
 \ /
  Last update: 2009-06-25 22:09    [W:0.063 / U:23.772 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site