This is the mail archive of the
mailing list for the Cygwin project.
RE: Cygwin NFSD 2.3.3
- From: "Robb, Sam" <sam dot robb at timesys dot com>
- To: <cygwin at cygwin dot com>
- Cc: "Ng, Andrew" <anng at ptc dot com>
- Date: Fri, 11 Nov 2005 11:50:42 -0500
- Subject: RE: Cygwin NFSD 2.3.3
[ 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.
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...
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html