faked inode numbers on network drives
Corinna Vinschen
corinna-cygwin@cygwin.com
Sun Nov 27 17:40:00 GMT 2005
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/
More information about the Cygwin
mailing list