X-Spam-Check-By: sourceware.org Date: Thu, 19 Jan 2006 12:58:46 -0500 To: cygwin AT cygwin DOT com Subject: Re: find reports an internal system loop on cygdrive Message-Id: In-Reply-To: <43CF9FD8.5030208@byu.net> References: <43CF9FD8 DOT 5030208 AT byu DOT net> From: Brian Keener Reply-To: Brian Keener Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Unsubscribe: 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 wrote: > find / -xdev -depth -name "*winrc*" This works - no loop message > Furthermore, you can try seeing if the error message goes away if find > never changes device number during the traversal (this is achieved by > having a real /cygdrive rather than a virtual one): > > $ cd /cygdrive/c/cygwin # assuming, of course, that this is where / is > $ mkdir cygdrive Hmm - on my system there /cygdrive is already a real one as evident from Windows Explorer (with no cygwin running) and also by doing: $ cd /cygdrive/c/cygwin $ ls -l and the real cygdrive will show up along with other directories but.... I find this interesting and maybe this is the way is should look (don't know): BrianK AT atl-lt-5783 ~ $ cd /cygdrive/c/cygwin BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ ls -l ls: proc: No such file or directory total 25 drwxr-xr-x+ 2 BrianK Domain Users 0 Jul 20 2005 PalmDev drwxrwx---+ 2 BrianK Users 0 Jan 19 11:36 bin drwx------+ 2 BrianK Domain Users 0 Nov 14 12:23 cygdrive -rwx------+ 1 BrianK Domain Users 1025 Jun 16 2005 cygwin.bat -rwx------+ 1 BrianK Domain Users 7022 Jan 19 11:42 cygwin.ico -rwx------+ 1 BrianK Domain Users 57 Jun 27 2005 cygwin_orig.bat -rwx------+ 1 BrianK Domain Users 766 Sep 6 2000 cygwinblue.ico -rwx------+ 1 BrianK Domain Users 3310 Jul 19 2001 cygwing.ico -rwx------+ 1 BrianK Domain Users 3310 Jul 20 2001 cygwings.ico drwxrwx---+ 14 BrianK Users 0 Dec 14 13:13 etc drwx------+ 4 BrianK Domain Users 0 Jun 28 2005 home drwxrwx---+ 24 BrianK Users 0 Jan 19 11:36 lib drwxrwx---+ 2 BrianK Users 0 Jun 28 2005 sbin drwxrwxrwt+ 4 BrianK Users 0 Jan 19 12:39 tmp drwxrwx---+ 18 BrianK Users 0 Jan 19 11:36 usr drwxrwx---+ 9 BrianK Users 0 Jun 28 2005 var BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ ls -l cygdrive total 0 BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ mount C:\cygwin\bin on /usr/bin type system (binmode) C:\cygwin\lib on /usr/lib type system (binmode) C:\PalmDev on /PalmDev type system (textmode) C:\cygwin on / type system (binmode) c: on /cygdrive/c type system (binmode,noumount) d: on /cygdrive/d type system (binmode,noumount) f: on /cygdrive/f type system (binmode,noumount) t: on /cygdrive/t type system (binmode,noumount) z: on /cygdrive/z type system (binmode,noumount) BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ cd BrianK AT atl-lt-5783 ~ $ ls -l /cygdrive total 0 drwxrwxr-x+ 55 Administrators SYSTEM 0 Jan 19 11:23 c dr-xr-xr-x 3 BrianK Domain Users 0 Jan 5 2004 d drwxr-xr-x 1 BrianK Domain Users 0 Jan 19 11:02 f drwxr-xr-x 1 BrianK Domain Users 0 Jan 19 10:54 t drwxr-xr-x 1 BrianK Domain Users 0 Jan 16 12:41 z BrianK AT atl-lt-5783 ~ $ Note the ls of cygdrive while in directory /cygdrive/c/cygwin results in a total of 0 and yet from some other directory an ls of /cygdrive shows all the drives. Seems a little strange to me but I don't know. I then went closed my cygwin sessions and using Windows Explorer I removed the cygdrive real directory from under cygwin and then opened a couple sessions again. Now when I cd to /cygdrive/c/cygwin and do an ls there is no cygdrive directory so we are using the virtual directory. Now when I do the find I do *not* get the internal loop error: BrianK AT atl-lt-5783 ~ $ ls -l /cygdrive total 0 drwxrwxr-x+ 55 Administrators SYSTEM 0 Jan 19 11:23 c dr-xr-xr-x 3 BrianK Domain Users 0 Jan 5 2004 d drwxr-xr-x 1 BrianK Domain Users 0 Jan 19 11:02 f drwxr-xr-x 1 BrianK Domain Users 0 Jan 19 10:54 t drwxr-xr-x 1 BrianK Domain Users 0 Jan 16 12:41 z BrianK AT atl-lt-5783 ~ $ cd /cygdrive/c/cygwin BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ ls -l ls: proc: No such file or directory ls: cygdrive: No such file or directory total 25 drwxr-xr-x+ 2 BrianK Domain Users 0 Jul 20 2005 PalmDev drwxrwx---+ 2 BrianK Users 0 Jan 19 11:36 bin -rwx------+ 1 BrianK Domain Users 1025 Jun 16 2005 cygwin.bat -rwx------+ 1 BrianK Domain Users 7022 Jan 19 11:42 cygwin.ico -rwx------+ 1 BrianK Domain Users 57 Jun 27 2005 cygwin_orig.bat -rwx------+ 1 BrianK Domain Users 766 Sep 6 2000 cygwinblue.ico -rwx------+ 1 BrianK Domain Users 3310 Jul 19 2001 cygwing.ico -rwx------+ 1 BrianK Domain Users 3310 Jul 20 2001 cygwings.ico drwxrwx---+ 14 BrianK Users 0 Dec 14 13:13 etc drwx------+ 4 BrianK Domain Users 0 Jun 28 2005 home drwxrwx---+ 24 BrianK Users 0 Jan 19 11:36 lib drwxrwx---+ 2 BrianK Users 0 Jun 28 2005 sbin drwxrwxrwt+ 4 BrianK Users 0 Jan 19 12:51 tmp drwxrwx---+ 18 BrianK Users 0 Jan 19 11:36 usr drwxrwx---+ 9 BrianK Users 0 Jun 28 2005 var BrianK AT atl-lt-5783 /cygdrive/c/cygwin $ cd BrianK AT atl-lt-5783 ~ $ find / -depth -name "*winrc*" BrianK AT atl-lt-5783 ~ $ find / -name "*winrc*" -depth find: warning: you have specified the -depth option after a non-option argument -name, but options are not positional (-depth affects tests specified before it as well as those specified after it). Please specify options before other argum ents. BrianK AT atl-lt-5783 ~ $ find / -depth -name "*winrc*" BrianK AT atl-lt-5783 ~ $ It appears the real directory is what causes the internal loop error. bk -- Brian Keener bkeenerReMoVeAnTiSpAm AT thesoftwaresource DOT com Virtual Access 6.0 build 18 Windows XP Service Pack 2 build 2600 -- 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/