Cygwin: Disable creating case-sensitive folders by default

Inspecting the content of case-sensitive directories
on remote machines results in lots of errors like
disappearing diretories and files, file not found, etc.

This is not feasible as default behaviour

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2019-03-01 14:32:08 +01:00
parent 5d9ac1291d
commit 379598dd67
3 changed files with 17 additions and 5 deletions

View File

@ -1778,6 +1778,12 @@ fhandler_disk_file::mkdir (mode_t mode)
pc.file_attributes (FILE_ATTRIBUTE_DIRECTORY);
if (has_acls ())
set_created_file_access (dir, pc, mode & 07777);
#if 0
/* FIXME: This default behaviour badly breaks interoperability.
Inspecting the content of case-sensitive directories
on remote machines results in lots of errors like
disappearing diretories and files, file not found, etc. */
/* Starting with Windows 10 1803, try to create all dirs below the
installation root as case-sensitive. If STATUS_NOT_SUPPORTED
is returned, WSL isn't installed (unfortunately a requirement
@ -1808,6 +1814,7 @@ fhandler_disk_file::mkdir (mode_t mode)
}
}
}
#endif
NtClose (dir);
res = 0;
}

View File

@ -5,6 +5,14 @@ What's new:
What changed:
-------------
- Windows 10 1803 or later and WSL installed:
Starting with 3.0.0, mkdir(2) automatically created directories within
the Cygwin installation dir as case sensitive. This badly breaks
interoperability with remote machines trying to access these dirs.
Therefore, disable this as default. You can still create case-sensitive
dirs via `chattr +C ...'
Bug Fixes
---------

View File

@ -15,11 +15,8 @@ CLOCK_BOOTTIME_ALARM clocks.
</para></listitem>
<listitem><para>
Support for case sensitive directories. mkdir(2) automatically creates
directories within the Cygwin installation dir as case sensitive
now.</para>
<para>This feature requires Windows 10 1803 or later and WSL installed!
Support for case sensitive directories via chattr(1). This feature requires
Windows 10 1803 or later and WSL installed.
</para></listitem>
<listitem><para>