diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index c5e314280..9a1e14c99 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +2010-03-30 Corinna Vinschen + + * mount.cc (fs_info::update): Allow variable FILE_SUPPORTS_SPARSE_FILES + flag in netapp flag test. Add comment. + 2010-03-29 Corinna Vinschen * spawn.cc (find_exec): Enable finding paths in backslash notation, diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc index d8dbb7662..ffb2ed5ef 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc @@ -213,6 +213,10 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) #define GETVOLINFO_VALID_MASK (0x003701ffUL) #define TEST_GVI(f,m) (((f) & GETVOLINFO_VALID_MASK) == (m)) +/* FIXME: This flag twist is getting awkward. There should really be some + other method. Maybe we need mount flags to allow the user to fix file + system problems without having to wait for a Cygwin fix. */ + /* Volume quotas are potentially supported since Samba 3.0, object ids and the unicode on disk flag since Samba 3.2. */ #define SAMBA_IGNORE (FILE_VOLUME_QUOTAS \ @@ -222,8 +226,9 @@ fs_info::update (PUNICODE_STRING upath, HANDLE in_vol) FILE_CASE_SENSITIVE_SEARCH \ | FILE_CASE_PRESERVED_NAMES \ | FILE_PERSISTENT_ACLS) -/* Netapp DataOnTap. TODO: Find out if that's the only flag combination. */ -#define FS_IS_NETAPP_DATAONTAP TEST_GVI(flags (), \ +/* Netapp DataOnTap. */ +#define NETAPP_IGNORE FILE_SUPPORTS_SPARSE_FILES +#define FS_IS_NETAPP_DATAONTAP TEST_GVI(flags () & ~NETAPP_IGNORE, \ FILE_CASE_SENSITIVE_SEARCH \ | FILE_CASE_PRESERVED_NAMES \ | FILE_UNICODE_ON_DISK \