This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Problems on case-sensitive file systems
- From: Thomas Wolff <towo at towo dot net>
- To: cygwin at cygwin dot com
- Date: Thu, 23 Oct 2014 14:42:02 +0200
- Subject: Re: Problems on case-sensitive file systems
- Authentication-results: sourceware.org; auth=none
- References: <54475648 dot 3000805 at towo dot net> <20141022140031 dot GD18857 at calimero dot vinschen dot de>
Am 22.10.2014 16:00, schrieb Corinna Vinschen:
On Oct 22 09:01, Thomas Wolff wrote:
I'm facing a number of issues with case-sensitivity which I've collected:
There is a documented limitation on case-sensitivity using drive letter
paths,
also mentioned in https://sourceware.org/ml/cygwin/2013-08/msg00090.html
(last item). I vaguely remember seeing a reason for this limitation in some
mail but can't find it again. I think it would be good to remove this
limitation because it breaks user expectations when working on
case-sensitive drives.
The user expectation when using DOS paths is caseinsensitivity in the
first place. But, as usual, there's no way to do this right, since
somebody will have another POV. My stance is, don't use DOS paths when
using Cygwin. At leats don't use DOS paths if you have any expectations
about special POSIX path handling on Cygwin.
I use an application that uses Windows or mixed paths, I cannot
influence it. So while I understand your POV, it would still be helpful
to have path interpretation fully-featured. (If you point me to a place
in winsup, I might even try to do something myself.)
According to documentation, the posix mount flag is enforced to be the same
for all mounts below /cygdrive; is there a strong reason?
Yes. The flags are shared between all cygdrive paths. If you need
something else, don;'t use the cygdrive path, but another, manually
added mount point. Note that this:
none /cygdrive cygdrive binary,posix=0,user 0 0
D: /cygdrive/d ntfs binary,nouser,posix=1,noumount 0 0
does NOT work. The manual paths must not overlap with the cygdrive
paths.
I know and I did use a different path (maybe too similar to get
recognized...). But it does not seem to work properly:
I have now this in /etc/fstab:
C: /mnt/c ntfs binary,nouser,posix=1,noumount 0 0
T: /mnt/t smbfs binary,user,posix=1,noumount,auto 0 0
which has no effect at all. Neither are these mounts set automatically
when starting cygwin, nor can I refer to them by 'mount /mnt/t' ("mount:
can't find /mnt/t in /etc/fstab or in /etc/fstab.d/$USER") or 'mount -a'
(no effect).
The only thing that works is manual mounting:
mount -o posix=1 C: /mnt/c
mount -o posix=1,exec T: /mnt/t
But: while case-sensitivity now works in /mnt/c, it still does not in
/mnt/t.
As a minor side-effect, the mount points in /cygdrive of these two
drives now disappear from the list shown by 'mount' although they are
still available as duplicate mounts.
------
Thomas
--
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