Subject: RE: Cygwin NFSD 2.3.3
From: "Robb, Sam" <[email-masked]>
To: <[email-masked]>
Cc: "Ng, Andrew" <[email-masked]>
Date: Fri, 11 Nov 2005 11:50:42 -0500

[ redirecting to the cygwin mailing list... ]

> I've just been trying to get Cygwin NFSD working on a WinXP x64
> workstation using Cygwin version 1.5.18(0.132/4/2).
> 
> I have nearly got a working setup, but I have run into a particular
> problem. The problem involves running "/bin/pwd" on the UNIX client
> system. The problem exists on both a HPUX 11.11 and Solaris 
> 2.8 clients.
> Trying to run "/bin/pwd" within the Cygwin NFS mounted file 
> system fails
> with a "pwd: No such file or directory" error.
> 
> I have traced the "/bin/pwd" command and I suspect the 
> problem involves
> the inode numbers coming from Cygwin NFSD. "/bin/pwd" first does an
> "lstat" on "." which returns an inode for the current 
> directory. It then
> opens "../" and calls "getdents" to get the directory 
> entries. However,
> the inode value for the directory returned by "getdents" does 
> not match
> the value return by the "lstat" of ".". I believe that this is what
> causes the failure.
> 
> Does this make any sense? Is this an issue with NFSD or Cygwin itself?

This is a cygwin issue - essentially, cygwin generates it's own values
for file/directory inodes, and the stat() and readdir() use different
methods for figuring out what they want to claim the inode is.

See http://www.cygwin.com/ml/cygwin-apps/2003-01/msg00158.html

I really didn't have the time to spend on trying to come up with a
patch to fix this behavior, so I worked around it in the nfs-server.

Given your problem (and a couple of others I've seen), I'm starting
to think that I might need to make time to work on it now...

-Samrobb

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