This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: opendir/readdir failure on non-Samba Unix-hosted remote volumess


On Mon, July 28, 2008 13:31, Corinna Vinschen wrote:
> Two possible reasons come to mind:
>
>  - The status code returned by TAS is not one of those three
>  - The status code returned by TAS is one of those three, but the
>    first call with FileIdBothDirectoryInformation has screwed up
>    TAS for some reason.
>
> You need to debug this further for a solution.  What you should
> do:
>
> - [snip GetVolInfo URL]
>
> - Build the latest Cygwin 1.5.25 from source
>
>   http://cygwin.com/faq/faq-nochunks.html#faq.programming.building-cygwin
>
>   and right in front of the comment starting in line 1713 in
>   fhandler_disk_file.cc add
>
>     if (!NT_SUCCESS (status))
>       debug_printf ("NtQueryDirectoryFile failed, status %p, win32 error
> %lu",
> 		    status, RtlNtStatusToDosError (status));
>
>   Add the same lines preceeding the closing brace in line 1728.
>
>   Then replace the cygwin1.dll with your own built cygwin1.dll and
>   rerun strace like in your mail.
>
>   The idea is to get the exact status codes.

OK, did that.  With the `augmented' cygwin1.dll in place, my `strace ls'
now says (excerpted):

--------------------------------------------------------------------
 1481  230803 [main] ls 5132 path_conv::check: this->path(h:\), has_acls(0)
  562  231365 [main] ls 5132 build_fh_pc: fh 0x61168D40
 7242  238607 [main] ls 5132 fhandler_disk_file::opendir: 0x6857F0 =
opendir (/cygdrive/h)
  934  239541 [main] ls 5132 fhandler_disk_file::readdir:
NtQueryDirectoryFile failed, status 0xC00000BB, win32 error 50
  526  240067 [main] ls 5132 fhandler_disk_file::readdir:
NtQueryDirectoryFile failed, status 0xC00000BB, win32 error 50
  489  240556 [main] ls 5132 geterrno_from_win_error: windows error 50 ==
errno 88
  608  241164 [main] ls 5132 fhandler_disk_file::readdir: 0 = readdir
(0x6857F0, 0x22C6D4) (.)
 1026  242190 [main] ls 5132 fhandler_disk_file::readdir:
NtQueryDirectoryFile failed, status 0xC00000BB, win32 error 50
  515  242705 [main] ls 5132 fhandler_disk_file::readdir:
NtQueryDirectoryFile failed, status 0xC00000BB, win32 error 50
 593  243298 [main] ls 5132 geterrno_from_win_error: windows error 50 ==
errno 88
--------------------------------------------------------------------

and is otherwise as before, as far as I can tell.  I trust that was
required?  I haven't tried running against a snapshot build yet, as
suggested in your later response.
-- 
SAm.


-- 
Academic Excellence at the Heart of Scotland.
The University of Stirling is a charity registered in Scotland, 
 number SC 011159.


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]