file name case issue on fat32 (Was: Re: Sharing data files on a dual-boot machine ...)

Micah micahjon at ywave.com
Tue Sep 27 07:56:12 PDT 2005



RW wrote:
> On Tuesday 27 September 2005 15:15, Micah wrote:
> 
> 
>>>ps: and, btw, how freebsd knows there's a capital A in "A.txt~" ?
>>>because it's stored on the filesystem in that way, i guess. being
>>>case-insensitive doesn't (necessarily)  mean a FS doesn't keep a case,
>>>imho.
>>
>>The reason is as follows: a.txt is an 8.3 filename and is stored on
>>fat32 in the old dos format.  a.txt~ is NOT an 8.3 filename and is
>>stored on fat32 in the extended long filename format.  Case information
>>is not stored in 8.3's file names.  They're always the same case, but I
>>can't remember now if they're stored as upper or lower case.  Extended
>>long filenames do store case information, even though windows ignores
>>the case (as was pointed out earlier).  FreeBSD is displaying 8.3 names
>>as lowercase probably to mimic the tendency of unix filenames to be
>>lowercase.  Windows displays 8.3 names as upper case probably to mimic dos.
> 
> 
> 
> The 8.3 names and the long names are stored separately whatever the name 
> format.  FreeBSD  displays the long name even when the filename fits the 8.3 
> format.   

The directory structure of fat32 is still the same as from dos.  In 
order to create long filenames, Windows uses subsequent directory 
entries to store the extra filename characters.  If a filename fits the 
8.3 format, Windows (at least Win98) does not bother to create the extra 
entries for the long filename record.  If there's no ong filename 
record, how can FreeBSD use the long filename?

Later,
Micah


More information about the freebsd-questions mailing list