summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/mount.h
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-04-22 17:33:28 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-04-22 17:33:28 +0000
commit6ff06a072611d796f40e03dd2af6abad582b341f (patch)
treee83285a1086bc2eacc2ebdb9bc5dbacfc9e6868a /winsup/cygwin/mount.h
parentc43e19442c9bb0d0ed9addff635972f62cef77cf (diff)
downloadcygnal-6ff06a072611d796f40e03dd2af6abad582b341f.tar.gz
cygnal-6ff06a072611d796f40e03dd2af6abad582b341f.tar.bz2
cygnal-6ff06a072611d796f40e03dd2af6abad582b341f.zip
* mount.cc (GETVOLINFO_VALID_MASK): Drop FILE_SEQUENTIAL_WRITE_ONCE
from mask. Expand the comment a bit. (WIN_FAT_FLAGS): New define. (FS_IS_WINDOWS_FAT): New macro. (fs_info::update): Handle remote FS faking to be FAT. Subsume under CIFS. Check for NWFS and has_buggy_basic_info only for remote filesystems. Add check for has_dos_filenames_only. * mount.h (class fs_info): Add has_dos_filenames_only status flag. Implement accessors. * path.cc (symlink_info::check): Rearrange variable definitions to clear them up. Add a restart label to allow a clean restart within the method. Add a check for broken filesystems only allowing DOS pathnames in case we encounter a STATUS_OBJECT_NAME_NOT_FOUND status. If all checks point to one of that, restart method with tweaked incoming path. Add lengthy comments to explain what we do.
Diffstat (limited to 'winsup/cygwin/mount.h')
-rw-r--r--winsup/cygwin/mount.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/winsup/cygwin/mount.h b/winsup/cygwin/mount.h
index 95a158ad7..0138e28a4 100644
--- a/winsup/cygwin/mount.h
+++ b/winsup/cygwin/mount.h
@@ -51,6 +51,7 @@ class fs_info
unsigned has_buggy_open : 1;
unsigned has_buggy_fileid_dirinfo : 1;
unsigned has_buggy_basic_info : 1;
+ unsigned has_dos_filenames_only : 1;
} status;
ULONG sernum; /* Volume Serial Number */
char fsn[80]; /* Windows filesystem name */
@@ -75,6 +76,7 @@ class fs_info
IMPLEMENT_STATUS_FLAG (bool, has_buggy_open)
IMPLEMENT_STATUS_FLAG (bool, has_buggy_fileid_dirinfo)
IMPLEMENT_STATUS_FLAG (bool, has_buggy_basic_info)
+ IMPLEMENT_STATUS_FLAG (bool, has_dos_filenames_only)
IMPLEMENT_FS_FLAG (is_fat, fat)
IMPLEMENT_FS_FLAG (is_ntfs, ntfs)
IMPLEMENT_FS_FLAG (is_samba, samba)