X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Mon, 11 Feb 2008 11:38:49 +0100
From: Corinna Vinschen <corinna-cygwin@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Cygwin OCFS support (or lack of)
Message-ID: <20080211103849.GM5866@calimero.vinschen.de>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <556c62c70802070907l4d0eaea1v6b58910ab0e24fb1@mail.gmail.com> <20080207181405.GF5866@calimero.vinschen.de> <556c62c70802100047l3af78f57i4ac6400182c78f11@mail.gmail.com> <fomfif$kjb$1@ger.gmane.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <fomfif$kjb$1@ger.gmane.org>
User-Agent: Mutt/1.5.16 (2007-06-09)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Feb 10 04:18, Robert Pendell wrote:
> Well I thought to take my hand at it and see what the strace looked
> like.  I followed it against a good strace from one of my own local
> directories.  If you search for fhandler_disk_file::opendir you will
> find that it fails with error 2 which appears to make subsequent
> attempts to access information fail (errno 89).  You will only find one
> reference to that handler.  Afterwards it silently fails.
>
> Please correct me if I am wrong here.

The opendir works fine.  It returns a valid DIR pointer as you can see
in the line before the geterrno_from_win_error.

What happens looks like this:

  opendir succeeds.

  In the first call to readdir, NtQueryDirectoryFile generates a Win32
  error 2, "No such file" so readdir fakes a "." directory entry.

  In the next call NtQueryDirectoryFile generates a Win32 error 18,
  "No more files".  readdir fakes a ".." entry.

  In the next call NtQueryDirectoryFile generates another Win32 error
  18 and readdir finally fails with errno 89, "No more files".

The first error, Win32 error 2 is very strange and I have no explanation
for this.  Maybe it's not enough for OCFS to open the directory handle
with FILE_LIST_DIRECTORY access.  It might help to use GENERIC_READ in
opendir instead.  This should be tested by somebody with OCFS access.


Corinna

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

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

