delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2004/12/23/15:40:27

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
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
Date: Thu, 23 Dec 2004 13:40:12 -0700
From: Mark Paulus <mark DOT paulus AT mci DOT com>
Subject: FindNextFileA (fhandler_disk_file::readdir) Bizareness under NTFS
To: "cygwin AT cygwin DOT com" <cygwin AT cygwin DOT com>
Message-id: <0I9700AKU030KR@pmismtp02.mcilink.com>
MIME-version: 1.0
X-IsSubscribed: yes

I have this really wierd/Bizarre situation, and wonder
if anyone else has stumbled upon this:

I have set /usr/src to be a managed link and it's located
at c:\cygmanaged\src

I have a directory /usr/src/cygwin-equivs/cygwin-base
and under it there are some additional directories.

the thing thats causing me some wierd grief is that 
fhandler_disk_file::readdir is telling me about a file that it sees
that DOES NOT exist.  And, it only does it when in a 
grandparent directory.  This causes find to exit with:  

        strace --mask=all --output=strace.out find . -type f -a \( -name \#\*\#
-o -name \*\~ -o -name DEADJOE -o -name \*.orig -o -name \*.rej -o -name \*.bak
-o -name .\*.orig -o -name .\*.rej -o -name .SUMS -o -name TAGS -o -name core -o
 \( -path \*/.deps/\* -a -name \*.P \) \) -print
find: ./debian/README.Debian.in: No such file or directory

I have modified fhandler_disk_file::readdir to print an additional output
line, and here is the snippet that I'm referring to:
   42 1666103 [main] find 6456 fhandler_disk_file::opendir: 0x100B3DA8 = opendir (/usr/src/cygwin-equivs/cygwin-base/equivs/debian)
  192 1666295 [main] find 6456 fhandler_disk_file::readdir: actually got '.'
   49 1666344 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (.)
   66 1666410 [main] find 6456 fhandler_disk_file::readdir: actually got '..'
   38 1666448 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (..)
   44 1666492 [main] find 6456 fhandler_disk_file::readdir: actually got '%52%45%41%44%4D%45.%44ebian'
   41 1666533 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (%52%45%41%44%4D%45.%44ebian)
   41 1666574 [main] find 6456 fhandler_disk_file::readdir: actually got '%52%45%41%44%4D%45.%44ebian.in'
   40 1666614 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (%52%45%41%44%4D%45.%44ebian.in)
  159 1666773 [main] find 6456 fhandler_disk_file::readdir: actually got 'changelog'
   43 1666816 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (changelog)
   41 1666857 [main] find 6456 fhandler_disk_file::readdir: actually got 'control'
   38 1666895 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (control)
   40 1666935 [main] find 6456 fhandler_disk_file::readdir: actually got 'copyright'
   52 1666987 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (copyright)
   40 1667027 [main] find 6456 fhandler_disk_file::readdir: actually got 'docs'
   38 1667065 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (docs)
   40 1667105 [main] find 6456 fhandler_disk_file::readdir: actually got 'rules'
   38 1667143 [main] find 6456 fhandler_disk_file::readdir: 0x100B3DAC = readdir (0x100B3DA8) (rules)
   88 1667231 [main] find 6456 fhandler_disk_file::readdir: 0x0 = readdir (0x100B3DA8)
   44 1667275 [main] find 6456 fhandler_disk_file::closedir: 0 = closedir (0x100B3DA8)
  121 1667396 [main] find 6456 closedir: 0 = closedir (0x22EAA8)

What's so bizarre is that the file README.Debian.in DOES NOT exist.
C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>dir
 Volume in drive C has no label.
 Volume Serial Number is B8DA-46B4

 Directory of C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian

12/23/2004  01:26 PM    <DIR>          .
12/23/2004  01:26 PM    <DIR>          ..
12/23/2004  01:26 PM               770 %52%45%41%44%4D%45.%44ebian
12/23/2004  01:26 PM               137 changelog
12/23/2004  01:26 PM               326 control
12/23/2004  01:26 PM               939 copyright
12/23/2004  01:26 PM                 0 docs
12/23/2004  01:26 PM             1,100 rules
               6 File(s)          3,272 bytes
               2 Dir(s)  11,870,830,592 bytes free

C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>attrib
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\%52%45%41%44%4D%45.%44ebian
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\changelog
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\control
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\copyright
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\docs
A          C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian\rules

C:\cygmanaged\src\cygwin-equivs\cygwin-base\equivs\debian>

Does anyone have any idea where FindNextFileA is getting this extra file from?

Oh yeah, if I do this very same command down one directory, it works as expected, and does not
return the extra file.  Go Figure.




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

- Raw text -


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