delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/08/19/10:43:27

X-Recipient: archive-cygwin AT delorie DOT com
X-Spam-Check-By: sourceware.org
Date: Thu, 19 Aug 2010 16:43:09 +0200
From: Corinna Vinschen <corinna-cygwin AT cygwin DOT com>
To: cygwin AT cygwin DOT com
Subject: Re: cygwin 1.7.6: find skipping over some directories on NTFS mount points
Message-ID: <20100819144309.GC19001@calimero.vinschen.de>
Reply-To: cygwin AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
References: <i4ho35$jsk$1 AT dough DOT gmane DOT org> <20100819083117 DOT GO11340 AT calimero DOT vinschen DOT de> <i4jcq9$hr$1 AT dough DOT gmane DOT org>
MIME-Version: 1.0
In-Reply-To: <i4jcq9$hr$1@dough.gmane.org>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

On Aug 19 09:50, Rolf Campbell wrote:
> NTFS Junction point: yes.  I used the builtin windowns tool
> "mountvol" to mount the disk in an empty directory.  It's
> technically mounted as "C:\.timemachine\3".
> 
> Output from "ls -l"
> [...]
> I do not set the CYGWIN environmental variable when running find.
> 
> I noticed something of interest, if I run "find", then it only
> descends into the "ATI" directory.  After exhausting every file/dir
> under ATI, it terminates.  But, if I run "find -maxdepth 2", it
> shows all correct output (it correctly enters all top-level and 2nd
> level directories -- it does NOT stop after leaving ATI).

Eric?  Can you have a look here, please?  This is weird.

I checked the strace, and after ascending back from the ATI subdir into
the toplevel dir successfully, find appears to exit "just so", without
any trace that it even *tries* to continue to scan further subdirs.  And
unfortunately there's no way to see why find thinks there's nothing to
do anymore.

Is there a way to debug find to find out why it exits?

> Also, ls -R works just fine (showing all 100,000 files).

That's, at least, good news.

Hmm, digging through Cygwin's readdir code, I have a vague idea.

Eric, does find honor the struct dirent d_type flag?  I'm wondering
if d_type is erroneously set to DT_REG for some reason.  If so, we
could find this out by augmenting the debug output in the Cygwin DLL.


Corinna

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

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019