On Feb 16 09:59, Cowdery, James wrote:
> I just updated cygwin and my Solaris mapped drive no longer works
> properly. If I create a directory I cannot remove it. I just get

> permission denied. If I try and copy a file I get the "skipping file

> 'filename' , as it was replaced while being copied" error. The Solaris

> machine is running 5.9. I am running cygwin 1.5.19-4. I have seen some

> chatter on the copying error message but it wasn't clear if this related

> to the same problem I have encountered. I tried reverting to 1.5.18-1

> and snapshot cygwin1-20060206.dll neither of which helped. Here is the

> output of the getvolinfo tool in case that helps. My other remote drives

> and local drives seem to work fine. Ideas Appreciated.

>                               Thanks,

>                                       James

> 

> rootdir: l:\

> Volume Name        : <.>

> Serial Number      : 37093646

> Max Filenamelength : 128

> Filesystemname     : <NTFS>

> Flags:

>   FILE_CASE_SENSITIVE_SEARCH  : TRUE

>   FILE_CASE_PRESERVED_NAMES   : TRUE

>   FILE_UNICODE_ON_DISK        : FALSE

>   FILE_PERSISTENT_ACLS        : TRUE

>   FILE_FILE_COMPRESSION       : FALSE

>   FILE_VOLUME_QUOTAS          : TRUE

>   FILE_SUPPORTS_SPARSE_FILES  : FALSE

>   FILE_SUPPORTS_REPARSE_POINTS: FALSE

>   FILE_SUPPORTS_REMOTE_STORAGE: FALSE

>   FILE_VOLUME_IS_COMPRESSED   : FALSE

>   FILE_SUPPORTS_OBJECT_IDS    : FALSE

>   FILE_SUPPORTS_ENCRYPTION    : FALSE

>   FILE_NAMED_STREAMS          : FALSE

>   FILE_READ_ONLY_VOLUME       : FALSE


Sorry, but I doubt that this doesn't work with the latest Cygwin
snapshots.  The current rule, when to use the inode information of a
drive is like this:

- If GetDriveType() == DRIVE_UNKNOWN, then we don't trust the inode
  information and use name hashes instead.

- All drives have to have FILE_PERSISTENT_ACLS == TRUE, otherwise we
  use name hashes.

- Remote drives also need to have FILE_SUPPORTS_OBJECT_IDS == TRUE, or
  they have to have exactly the following set of flags set to TRUE:
  
  FILE_CASE_SENSITIVE_SEARCH | FILE_CASE_PRESERVED_NAMES | FILE_PERSISTENT_ACLS

  which is the set of flags set to TRUE for the usual Samba 3.x shares.

So your above volume information is evaluated as an unreliable drive
(remote, FILE_SUPPORTS_OBJECT_IDS == FALSE and not Samba), which results
in using pathname hashes instead of the inode numbers returned by the
appropriate Windows functions.  I don't see how it's possible to get
the "skipping file..." message with a recent snapshot.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
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/

Reply via email to