Date: Tue, 27 Sep 2005 14:11:14 -0700 From: Micah <micahjon@ywave.com> To: martinko <martinkov@pobox.sk> 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: <4339B572.9010405@ywave.com> In-Reply-To: <4339B4AE.80205@pobox.sk> 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> <4339A1D6.7020708@ywave.com> <4339B4AE.80205@pobox.sk>
next in thread | previous in thread | raw e-mail | index | archive | help
martinko wrote: > 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 > I've found the troubled piece of code, just gotta figure out the best way to fix it. I'll come up with a patch and submit it as a PR I guess. (never done either, but I'm sure I'll figure it out. :) Later, Micah
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4339B572.9010405>