X-Spam-Check-By: sourceware.org Date: Sun, 27 Nov 2005 15:04:48 +0100 From: Corinna Vinschen To: cygwin AT cygwin DOT com Cc: Martin Koeppe Subject: Re: faked inode numbers on network drives Message-ID: <20051127140448.GU2999@calimero.vinschen.de> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com, Martin Koeppe References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2i Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com On Nov 26 14:49, Martin Koeppe wrote: > There is the following assumption: > /* 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. */ > > I think this assumption is wrong. Imagine a samba share without acl > support. It nevertheless has valid inode numbers. > > Furthermore, in the following switch() statement, inode numbers on > network drives are always ignored. > > And I ask why such an assumption is necessary at all. > In the Windows API there is a function GetVolumeInformation > which is supported from Win95 on and reports FILE_SUPPORTS_OBJECT_IDS > when inode numbers are valid. Nope. Object IDs are not inode numbers. I suggest reading on object IDs in MSDN. > Is there a reason for not using this? GetVolumeInformation is already > used in several other places within cygwin. Samba reports FS_PERSISTENT_ACLS, but the way has_acls() is treated in case of CYGWIN=nosmbntsec (the default) disables its usage. I think I found a bug though, which might explain inconsistent behaviour. I'm looking into it. But using FILE_SUPPORTS_OBJECT_IDS is definitely incorrect. And, just as a side note, the Samba version I'm using (3.0.20a) does not report that it supports FILE_SUPPORTS_OBJECT_IDS. The flags value returned from GetVolumeInformation: 11 == 0xb == FILE_CASE_SENSITIVE_SEARCH | FILE_CASE_PRESERVED_NAMES | FILE_PERSISTENT_ACLS Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat, Inc. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/