Jamie Lokier <jamie@xxxxxxxxxxxxx> writes: > I agree with the change to "shortname=mixed" being the default. > > Not only does it solve problems with Linux seeing files it created > _itself_ change, "shortname=mixed" is the only option where files > created on all versions of Windows appear the same in Linux, and vice > versa. It is better than Windows itself in that respect... > > "shortname=winnt" is not as good. It solves the problem of > Linux<->itself compatibility and Linux<->Windows-NT/2000/XP/Vista > compatibility, but not Linux<->Windows-95/98/ME compatibility. > > I don't see any problems with changing the option from it's default, > for filesystems which were written as VFAT by any OS. For filesystems > written as plain FAT, it may change them to appear as upper case in > Linux, when they previously showed as lower case. If there is a > reliable way to detect filenames written by a plain FAT system, it > might be desirable to show the names as lower case from them. > > Below are my notes, when I had to add "shortname=mixed" to a program > because of user bug reports when they created files on various > versions of Windows and they didn't work on an embedded Linux media > player. Feel free to use the notes in the Changelog or documentation. > > Why use shortname=mixed. > > This affects 8.3 filename reading and creation for maximum > compatibility with the behaviour of all versions of Windows. > > There is a classic conflict between Windows 95 derivatives and > Windows NT derivatives, which causes spurious case changes when > moving some file names between them on removable media. This > Linux setting manages to be compatible with both of them reliably, > and is therefore superior to all versions of Windows. > > 1. Filename reading uses the algorithm of Windows NT: if there > is only an 8.3 short name, its case is calculated from flags in > byte 12 of the short name entry. > > This is needed for compatibility with files written by Windows > NT derivatives (including 2000, XP and Vista). When Windows NT > creates two files called "PLAYLIST" and "file.ogg", the default > Linux algorithm ("shortname=lower") would see them as > "playlist" and "file.ogg" together, and the Windows 95 > algorithm would see them as "PLAYLIST" and "FILE.OGG" together. > Both cause problems. > > 2. Filename creation uses the algorithm of Windows 95: Linux > creates a long name entry unless the original name fits into > 8.3 and is entirely upper case. This is more compatible than > shortname=winnt, because it creates a long name in more cases > to remove uncertainty. > > This is needed for compatability with files created by Linux > and read by Windows 95 derivatives (and MS-DOS). Windows 95 > derivatives and MS-DOS interpret short name entries as upper > case, even when case flags are set in byte 12. By storing a > long name entry, files stored by Linux will be read in the > desired case by all versions of Windows. > > The patch has my > > Signed-Off-By: Jamie Lokier <jamie@xxxxxxxxxxxxx> Thanks for comment. I don't know whether signed-off-by is desirable for this, so I'll add one Acked-by: simply if I apply this. Is it ok? Thanks. -- OGAWA Hirofumi <hirofumi@xxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html