Date: Tue, 27 Sep 2005 12:47:34 -0700 From: Micah <micahjon@ywave.com> To: RW <list-freebsd-2004@morbius.sent.com> Cc: freebsd-questions@freebsd.org Subject: Re: file name case issue on fat32 (Was: Re: Sharing data files on a dual-boot machine ...) Message-ID: <4339A1D6.7020708@ywave.com> In-Reply-To: <200509271635.20815.list-freebsd-2004@morbius.sent.com> References: <433852A8.10900@gish.demon.nl> <200509271532.34672.list-freebsd-2004@morbius.sent.com> <43395D89.8080208@ywave.com> <200509271635.20815.list-freebsd-2004@morbius.sent.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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. Later Micah
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4339A1D6.7020708>