This is the mail archive of the
cygwin-cvs@cygwin.com
mailing list for the Cygwin project.
[newlib-cygwin] Drop has_broken_udf flag
- From: Corinna Vinschen <corinna at sourceware dot org>
- To: cygwin-cvs at sourceware dot org
- Date: 24 Jun 2016 09:11:20 -0000
- Subject: [newlib-cygwin] Drop has_broken_udf flag
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=e931b1a0eb33170980558a3768a8091d50227bc7
commit e931b1a0eb33170980558a3768a8091d50227bc7
Author: Corinna Vinschen <corinna@vinschen.de>
Date: Tue Dec 15 15:04:26 2015 +0100
Drop has_broken_udf flag
Diff:
---
winsup/cygwin/mount.cc | 15 +++------------
winsup/cygwin/path.cc | 26 --------------------------
winsup/cygwin/wincap.cc | 7 -------
winsup/cygwin/wincap.h | 2 --
4 files changed, 3 insertions(+), 47 deletions(-)
diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc
index 376fca8..c890b02 100644
--- a/winsup/cygwin/mount.cc
+++ b/winsup/cygwin/mount.cc
@@ -448,18 +448,9 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol)
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. */
- caseinsensitive (((!(flags () & FILE_CASE_SENSITIVE_SEARCH) || is_samba ())
- && !is_nfs ())
- || (is_udf () && wincap.has_broken_udf ()));
+ sensitive. */
+ caseinsensitive ((!(flags () & FILE_CASE_SENSITIVE_SEARCH) || is_samba ())
+ && !is_nfs ());
if (!in_vol)
NtClose (vol);
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index f926ff6..77117fc 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -2703,32 +2703,6 @@ restart:
}
if (status == STATUS_OBJECT_NAME_NOT_FOUND)
{
- if (ci_flag == 0 && wincap.has_broken_udf ()
- && (!fs.inited () || fs.is_udf ()))
- {
- /* On NT 5.x UDF is broken (at least) in terms of case
- sensitivity. When trying to open a file case sensitive,
- the file appears to be non-existant. Another bug is
- described in fs_info::update. */
- attr.Attributes = OBJ_CASE_INSENSITIVE;
- status = NtOpenFile (&h, READ_CONTROL | FILE_READ_ATTRIBUTES,
- &attr, &io, FILE_SHARE_VALID_FLAGS,
- FILE_OPEN_REPARSE_POINT
- | FILE_OPEN_FOR_BACKUP_INTENT);
- debug_printf ("%y = NtOpenFile (broken-UDF, %S)", status, &upath);
- attr.Attributes = 0;
- if (NT_SUCCESS (status))
- {
- if (!fs.inited ())
- fs.update (&upath, h);
- if (!fs.is_udf ())
- {
- NtClose (h);
- h = NULL;
- status = STATUS_OBJECT_NAME_NOT_FOUND;
- }
- }
- }
/* There are filesystems out in the wild (Netapp, NWFS, and others)
which are uncapable of generating pathnames outside the Win32
rules. That means, filenames on these FSes must not have a
diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc
index 0aea24c..e3da924 100644
--- a/winsup/cygwin/wincap.cc
+++ b/winsup/cygwin/wincap.cc
@@ -24,7 +24,6 @@ wincaps wincap_xpsp2 __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_transactions:false,
- has_broken_udf:true,
has_broken_alloc_console:false,
has_always_all_codepages:false,
has_localenames:false,
@@ -53,7 +52,6 @@ wincaps wincap_2003 __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_transactions:false,
- has_broken_udf:true,
has_broken_alloc_console:false,
has_always_all_codepages:false,
has_localenames:false,
@@ -82,7 +80,6 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:true,
has_gaa_largeaddress_bug:true,
has_transactions:true,
- has_broken_udf:false,
has_broken_alloc_console:false,
has_always_all_codepages:true,
has_localenames:true,
@@ -111,7 +108,6 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:true,
has_transactions:true,
- has_broken_udf:false,
has_broken_alloc_console:true,
has_always_all_codepages:true,
has_localenames:true,
@@ -140,7 +136,6 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_transactions:true,
- has_broken_udf:false,
has_broken_alloc_console:true,
has_always_all_codepages:true,
has_localenames:true,
@@ -169,7 +164,6 @@ wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_transactions:true,
- has_broken_udf:false,
has_broken_alloc_console:true,
has_always_all_codepages:true,
has_localenames:true,
@@ -198,7 +192,6 @@ wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) =
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_transactions:true,
- has_broken_udf:false,
has_broken_alloc_console:true,
has_always_all_codepages:true,
has_localenames:true,
diff --git a/winsup/cygwin/wincap.h b/winsup/cygwin/wincap.h
index b4989b6..529e7d7 100644
--- a/winsup/cygwin/wincap.h
+++ b/winsup/cygwin/wincap.h
@@ -17,7 +17,6 @@ struct wincaps
unsigned needs_count_in_si_lpres2 : 1;
unsigned has_gaa_largeaddress_bug : 1;
unsigned has_transactions : 1;
- unsigned has_broken_udf : 1;
unsigned has_broken_alloc_console : 1;
unsigned has_always_all_codepages : 1;
unsigned has_localenames : 1;
@@ -71,7 +70,6 @@ public:
bool IMPLEMENT (needs_count_in_si_lpres2)
bool IMPLEMENT (has_gaa_largeaddress_bug)
bool IMPLEMENT (has_transactions)
- bool IMPLEMENT (has_broken_udf)
bool IMPLEMENT (has_broken_alloc_console)
bool IMPLEMENT (has_always_all_codepages)
bool IMPLEMENT (has_localenames)