summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2010-03-30 08:55:23 +0000
committerCorinna Vinschen <corinna@vinschen.de>2010-03-30 08:55:23 +0000
commite23275a8ac0578dd00d6edbc53c0c6a5ff75d9fc (patch)
treedf93d7dde8d37f08a41ca1b703a458db7eaae0fe
parentb3cbb06c9d85490321f058b5114a5c21c9385f58 (diff)
downloadcygnal-e23275a8ac0578dd00d6edbc53c0c6a5ff75d9fc.tar.gz
cygnal-e23275a8ac0578dd00d6edbc53c0c6a5ff75d9fc.tar.bz2
cygnal-e23275a8ac0578dd00d6edbc53c0c6a5ff75d9fc.zip
* mount.cc (fs_info::update): Allow variable FILE_SUPPORTS_SPARSE_FILES
flag in netapp flag test. Add comment.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/mount.cc9
2 files changed, 12 insertions, 2 deletions
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 <corinna@vinschen.de>
+
+ * mount.cc (fs_info::update): Allow variable FILE_SUPPORTS_SPARSE_FILES
+ flag in netapp flag test. Add comment.
+
2010-03-29 Corinna Vinschen <corinna@vinschen.de>
* 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 \