Case sensitive filenames for non-NTFS filesystems

Corinna Vinschen corinna-cygwin@cygwin.com
Fri Aug 2 08:31:00 GMT 2013


On Aug  2 16:50, Shaddy Baddah wrote:
> Hi,
> 
> As per:
> 
> http://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-casesensitive
> 
> Cygwin act on filenames on NTFS in with case preservation/sensitivity.

Correction, not only NTFS.  Here's the source code comment:

  /* Case sensitivity is supported if FILE_CASE_SENSITIVE_SEARCH is set,
     except on Samba which handles Windows clients case insensitive.

     NFS doesn't set the FILE_CASE_SENSITIVE_SEARCH flag but is case
     sensitive.

     UDF on NT 5.x is broken (at least) in terms of case sensitivity.
     The UDF driver reports the FILE_CASE_SENSITIVE_SEARCH capability
     but:
     - Opening the root directory for query seems to work at first,
       but the filenames in the directory listing are mutilated.
     - When trying to open a file or directory case sensitive, the file
       appears to be non-existant. */

> As this was a feature configured in the Windows kernel, the pre-existing
> limitation whereby the same case sensitivity was not available for FAT32
> was an understandable compromise.
> 
> Unfortunately, in providing EXFAT, Microsoft has not seen fit to carry
> over the same handling in the kernel as it does in NTFS.

ExFAT is based on FAT/FAT32, so it's understandable.  I don't have ExFAT
available.  Assuming your ExFAT drive is drive X:, can you please show
me the output of

  /usr/lib/csih/getVolInfo.exe /cygdrive/x

If it returns different values than FAT, it might be worth to handle
specificially in Cygwin's mount code.

> Can I suggest that if it is a) feasible b) doable without too much added
> degradation in performance/complexity to the file handling code, that
> Cygwin add some limited support itself.
> 
> I'm not talking about going back to something like the old managed
> mounts, but more to its replacement function. That being the same
> handling of special characters like :, |, etc that Cygwin employs.
> 
> That is, the use of the special Unicode breakout character. It can
> be used when a name collision is detected (yes, detection code required.
> I don't know how costly that would be). eg.
> [...]
> Is the trade-off large enough to fall back on the "just use NTFS"
> argument?

Well, from my POV, yes.  It doesn't make sense to use ExFAT for serious
work anyway, it's for SD cards and stuff like that.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list