This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: experimental coreutils-5.94-4


Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:

> 
> FYI, I've applied a patch today which has two purposes:
> 
> - For directories, which are used as mount points, the d_ino was the one
>   returned by Windows for this very directory entry.  However, for mount
>   points, the inode number which should be returned (and which *is*
>   returned by stat) is the inode number of the target directory/ target
>   drive, the mount point points to.  This is (hopefully correctly)
>   accomplished by the patch.

Worked for me on a self-built dll!  Thanks for an awesome patch.

> 
>   Now, with the patch, they are listed even though they don't exists in
>   reality on the drive.  The additional advantage is that the shell's
>   file completion now also works for these paths.

Now, what would be really cool is if the link count of directories with
mount points could be updated, to match the fact that readdir can now see
mount points:

$ cd /usr/
$ ls -dl .
drwxr-xr-x+ 21 eblake Domain Users 0 Mar  1 09:22 ./
$ mkdir /cygdrive/c/cygwin/usr/lib
$ ls -dl .
drwxr-xr-x+ 22 eblake Domain Users 0 Mar  1 09:26 ./

Oops - see how the link count changed from 21 to 22 when I had a physical
backing directory?  find (and any other tool that optimizes a recursive
search to look at (link count - 2) subdirectories and then quit) might
get confused by the fact that the number of subdirs given by readdir is
no longer consistent with the link count.

-- 
Eric Blake



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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]