diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2005-11-28 10:06:33 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2005-11-28 10:06:33 +0000 |
commit | 87b69d92437c63d842112616e29b66b3b5859f9d (patch) | |
tree | b09d327d8ff476437a35fdd1fbaa4390c9f7284a /winsup | |
parent | 3e58f18822eeba1dade6a4c00d2a0764e1fe4687 (diff) | |
download | newlib-87b69d92437c63d842112616e29b66b3b5859f9d.zip newlib-87b69d92437c63d842112616e29b66b3b5859f9d.tar.gz newlib-87b69d92437c63d842112616e29b66b3b5859f9d.tar.bz2 |
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't rely on
has_acl() state for evaluating inodes. Temporarily(?) enable "real"
inodes for remote drives.
Diffstat (limited to 'winsup')
-rw-r--r-- | winsup/cygwin/ChangeLog | 6 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_disk_file.cc | 8 |
2 files changed, 12 insertions, 2 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 36d2311..acad147 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,9 @@ +2005-11-28 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_disk_file.cc (fhandler_base::fstat_helper): Don't rely on + has_acl() state for evaluating inodes. Temporarily(?) enable "real" + inodes for remote drives. + 2005-11-25 Christopher Faylor <cgf@timesys.com> * heap.cc: Remove spurious getpagesize declaration. diff --git a/winsup/cygwin/fhandler_disk_file.cc b/winsup/cygwin/fhandler_disk_file.cc index 9f30b56..82bd120 100644 --- a/winsup/cygwin/fhandler_disk_file.cc +++ b/winsup/cygwin/fhandler_disk_file.cc @@ -317,14 +317,18 @@ fhandler_base::fstat_helper (struct __stat64 *buf, /* Assume that if a drive has ACL support it MAY have valid "inodes". It definitely does not have valid inodes if it does not have ACL - support. */ - switch (pc.has_acls () && (nFileIndexHigh || nFileIndexLow) + support. Decouple from has_acls() which follows smbntsec setting. */ + switch ((pc.fs_flags () & FILE_PERSISTENT_ACLS) + && (nFileIndexHigh || nFileIndexLow) ? pc.drive_type () : DRIVE_UNKNOWN) { case DRIVE_FIXED: case DRIVE_REMOVABLE: case DRIVE_CDROM: case DRIVE_RAMDISK: + /* Temporarily enable remote drives until we find out why we disabled them + in the first place. When we find out don't forget to write a comment! */ + case DRIVE_REMOTE: /* Although the documentation indicates otherwise, it seems like "inodes" on these devices are persistent, at least across reboots. */ buf->st_ino = (((__ino64_t) nFileIndexHigh) << 32) |