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 Date: Thu, 23 Dec 2004 13:40:12 -0700 From: Mark Paulus Subject: FindNextFileA (fhandler_disk_file::readdir) Bizareness under NTFS To: "cygwin AT cygwin DOT com" Message-id: <0I9700AKU030KR@pmismtp02.mcilink.com> MIME-version: 1.0 Content-type: text/plain; charset=iso-8859-1 Content-transfer-encoding: 7bit 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 . 12/23/2004 01:26 PM .. 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/