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