This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: experimental coreutils-5.94-4
Eric Blake <ebb9 <at> byu.net> writes:
> 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.
>
As an example, with findutils-4.3.0-1 and cygwin built today (oldfind in
the 4.3.0 package uses the algorithm of the find utility in 4.2.27; the
find in 4.3.0 changed algorithms to fts() which avoids the subdir
optimization):
$ cd /usr
$ oldfind . -maxdepth 2 -mindepth 1 -name 'lib*' | wc
70 70 1435
$ oldfind . -noleaf -maxdepth 2 -mindepth 1 -name 'lib*' | wc
755 755 16168
$ mkdir /cygdrive/c/cygwin/usr/lib
$ oldfind . -maxdepth 2 -mindepth 1 -name 'lib*' | wc
755 755 16168
Notice that without a physical /usr/lib under the mount point, oldfind did
not traverse into /usr/lib unless I used -noleaf to disable the link
count optimization, because /usr/lib appeared too late in the readdir.
--
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/