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

martinko martinkov at pobox.sk
Tue Sep 27 14:13:54 PDT 2005


Micah wrote:
> 
> 
> RW wrote:
> 
>> On Tuesday 27 September 2005 15:56, Micah wrote:
>>
>>> 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?
>>
>>
>>
>>
>>
>> The files in question are shown as having names like A.txt in windows, 
>> ie mixed case. The Dos directory command always shows completly 
>> uppercase names for the 8.3 names
>>
>> I have plenty of 8.3 files that dos DIR shows as having uppercase 8.3 
>> names  *and* mixed/lower-case full names. So either dos/windows does 
>> create the extra-filename for files with an 8.3 name format, or it 
>> stores the mixed-case name in the legacy 8.3 field in it's  case and 
>> DIR converts to uppercase.
>> Either way around the case that is found by FreeBSD should be the same 
>> as if it were reading a long-filename.  
> 
> 
> I did some tests using Win98/qemu and Win2K/real hardware, and diskedit. 
>  This appears to be a real bug in how FreeBSD handles byte 12 of an 8.3 
> directory entry.  It only shows up in 8.3 filenames created by Win2K 
> (and presumably any NT based windows).  Somehow (and I cannot find exact 
> details, just passing references) NT stores filename capitalization of 
> 8.3 names in byte 12 of an 8.3 directory entry, thereby eliminating the 
> creation of an LFN (long filename) entry.  FreeBSD doesn't interpret it 
> correctly and displays file names in lowercase unless the original name 
> was all uppercase letters.  The solution:  always use long filenames 
> from an NT based Windows if you care about capitalization.  At least 
> until the bug is fixed in FreeBSD.
> 

exactly!

i just did a simple test and created the following on win xp :

w.TXT
X.TXT
Y.txt
z.txt

and this is what freebsd displays:

X.TXT
w.txt
y.txt
z.txt

i think the case is clear.

and what now? whom to report it to?

regards,

martin



More information about the freebsd-questions mailing list