Re: [PATCH] Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option

From: Steve French
Date: Fri May 01 2009 - 16:18:36 EST


Dave Kleikamp <shaggy@xxxxxxxxxxxxxxxxxx> wrote on 05/01/2009 02:09:33 PM:
> On Fri, 2009-05-01 at 22:19 +0400, Michael Tokarev wrote:
> > Dave Kleikamp wrote:
> > > On Fri, 2009-05-01 at 13:47 -0400, Christoph Hellwig wrote:
> > >> On Fri, May 01, 2009 at 12:41:29PM -0500, Dave Kleikamp wrote:
> > >>> From: Andrew Tridgell <tridge@xxxxxxxxx>
> > >>> Subject: [PATCH] Add CONFIG_VFAT_NO_CREATE_WITH_LONGNAMES option
> > >>>
> > >>> When this option is enabled the VFAT filesystem will refuse to create
> > >>> new files with long names. Accessing existing files with long names
> > >>> will continue to work.
> > >>>
> > >>> File names to be created must conform to the 8.3 format. Mixed case is
> > >>> not allowed in either the prefix or the suffix.
> > >> This doesn't make any sense as a compile time option. Might make sense
> > >> as a mount option, but I'd like to hear a rationale for it first.
> > >
> > > Some linux-based devices would be happy not to contain code to create
> > > the long name at all.
> >
> > Well, is that a rationale per se? Which devices they are and why?
>
> Could be anything. cameras, phones, etc. Anything that might be
> mountable by a host computer in order to share files, or to write to a
> device that can be shared by other computers or devices.
>
> > But besides, why `msdos' filesystem is not sufficient?
> > It contains no code to create long file names and no code to
> > read such names either.
>
> An example, an mp3 player wants to read files with long mixed-case
> names, which can be manipulated on a host computer. But it may not need
> to create files that don't fit the 8.3 syntax.
>
> Of course, msdos might be a good option for other devices.

msdos file system does not support other features that vfat does
(there are probably more than maximum volume and file size).
For those manufacturers who who would like to disable
creation of long file names, but allow reading long file names,
and handle FAT32 on disk format and maximum sizes, it seems
reasonable to give them a simple configure option for it. It is
harder, and less effective, to make the corresponding change
to modify the mount helper and kernel code to add
a new mount option, because it can be bypassed trivially
at the command line (ie having to "force" mount to pass a "nolongfilename"
mount option, would be harder than a simple kernel configure option)

--
Thanks,

Steve
--
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/