From ca74821574780c7b526aa827a1617988bb1171cf Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Thu, 24 Jan 2008 17:29:29 +0000 Subject: * path.cc (fs_info::update): Fix old-style Samba test to support recent as well as upcoming Samba releases. --- winsup/cygwin/path.cc | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) (limited to 'winsup/cygwin/path.cc') diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index d24d859de..caa1d190d 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -474,15 +474,15 @@ fs_info::update (PUNICODE_STRING upath, bool exists) #define GETVOLINFO_VALID_MASK (0x003701ffUL) #define TEST_GVI(f,m) (((f) & GETVOLINFO_VALID_MASK) == (m)) -#define FS_IS_SAMBA TEST_GVI(flags (), \ +/* 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 \ + | FILE_SUPPORTS_OBJECT_IDS \ + | FILE_UNICODE_ON_DISK) +#define FS_IS_SAMBA TEST_GVI(flags () & ~SAMBA_IGNORE, \ FILE_CASE_SENSITIVE_SEARCH \ | FILE_CASE_PRESERVED_NAMES \ | FILE_PERSISTENT_ACLS) -#define FS_IS_SAMBA_WITH_QUOTA TEST_GVI(flags (), \ - FILE_CASE_SENSITIVE_SEARCH \ - | FILE_CASE_PRESERVED_NAMES \ - | FILE_PERSISTENT_ACLS \ - | FILE_VOLUME_QUOTAS) #define FS_IS_NETAPP_DATAONTAP TEST_GVI(flags (), \ FILE_CASE_SENSITIVE_SEARCH \ | FILE_CASE_PRESERVED_NAMES \ @@ -508,10 +508,11 @@ fs_info::update (PUNICODE_STRING upath, bool exists) samba_version (extended_info->samba_version); } } - /* Test for older Samba releases not supporting the extended info. */ + /* Test for Samba on NT4 or for older Samba releases not supporting + extended info. */ if (!is_samba ()) is_samba (RtlEqualUnicodeString (&fsname, &testname, FALSE) - && (FS_IS_SAMBA || FS_IS_SAMBA_WITH_QUOTA)); + && FS_IS_SAMBA); is_netapp (!is_samba () && RtlEqualUnicodeString (&fsname, &testname, FALSE) -- cgit v1.2.3