This is the mail archive of the cygwin-developers 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]

Microsoft NFS client bug


Sorry if nobody's interested in that stuff, but I need to vent.

I just tried to track down a Cygwin problem where an `rm -r' on a NFS
path fails with "Directory not empty".  Actually all started with
running a cpio configure on NFS, and one of the configure tests is the
one Eric send to this list a couple of months ago.  In a nutshell, it
creates subdirs in subdirs in subdirs so that the entire path gets
bigger than PATH_MAX.  My NFS share is exported by a Linux box and the
test basically works with paths getting longer than 16K.

So I debugged this and what happens is that NtQueryInformationFile calls
on long path names works fine, but calls to NtQueryDirectoryFile, which
are required for the readdir() implementation, fail on paths longer than
about 260 chars(*) with a very mysterious status code: 0xc0000023,
STATUS_BUFFER_TOO_SMALL.  The buffer I give to NtQueryDirectoryFile is
60K!  The strange thing here is that the NtOpenFile on the directory
works fine, just the call to NtQueryDirectoryFile on that directory
handle fails.  The STATUS_BUFFER_TOO_SMALL is even more weird,
considering that the buffer only returns basenames of files, so no entry
is longer than NAME_MAX == 256 WCHARs.

I tried various changes like reading only one directory entry at a
time, or using the WIndows default information class
FileDirectoryInformation instead of FileNamesInformation, but to no
avail.

Then I tried the same in SFU on XP and 2K8 and guess what?  It suffers
the same problem.

Here's the point where I'm starting to vent.  Don't read further if your
under the age of 18 or faint of heart.

.

.

.

.

Aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaarrrrrrgh!  $%&#$$&!


Corinna


(*) Just a coincidence, nothing to worry about...

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


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