X-Spam-Check-By: sourceware.org To: cygwin AT cygwin DOT com From: Eric Blake Subject: Re: experimental coreutils-5.94-4 Date: Wed, 1 Mar 2006 17:00:00 +0000 (UTC) Lines: 30 Message-ID: References: <022820061618 DOT 27185 DOT 440477D700069FD600006A3122069997350A050E040D0C079D0A AT comcast DOT net> <20060228174432 DOT GB27116 AT calimero DOT vinschen DOT de> <20060301154541 DOT GU3184 AT calimero DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit User-Agent: Loom/3.14 (http://gmane.org/) X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Eric Blake 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/