Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Oct 1996 15:07:13 +0900 (JST)
From:      Michael Hancock <michaelh@cet.co.jp>
To:        Karl Denninger <karl@Mcs.Net>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: NFS node: disappearing directory
Message-ID:  <Pine.SV4.3.93.961018145633.1217B-100000@parkplace.cet.co.jp>
In-Reply-To: <199610180555.AAA11348@Jupiter.Mcs.Net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 18 Oct 1996, Karl Denninger wrote:

> > > 		1) When it fails, the up-movement works but the inode
> > > 		number is NOT seen in the FIRST component when the directory
> > > 		read is performed.  (ie: the directory is
> > > 		"/user/contrib/swilson", the first component is 'swilson'
> > > 		and that is not found at the first "step-up".
> > 
> > Is this remote /user mounted on local /user?  This might not be relevant,
> > but it helps in understanding the execution path.
> 
> Yes.
> 
> > > Current speculation is that this is a vnode cache handling problem of some 
> > > kind, where the vnode for the desired directory is being "flushed" but 
> > > never reloaded into the cache.  We're still investigating and searching for
> > > the root cause.
> > 
> > But 3) says it does get reloaded.
> 
> Sometimes.  But if go to the "up-level" when it happens and do a "ls", you
> get a VERY short list (~10% of what's really there - right about 200
> entries)

Umm.  Is John around?  What kind of memory does the result of readdir go
into?
 
> > > An example:
> > > 
> > > /			- 755
> > > /user			- 755
> > > /user/contrib		- 711
> > > /user/contrib/who-am-i	- 700
> > > 
> > > The user is "who-am-i", and in that directory.
> > > 
> > > getcwd() will return an error in this environment, as when it tries to READ
> > > /user/contrib to find the inode match for the "who-am-i" component it is
> > > unable to open that directory for this purpose.
> > > 
> > > I'm doing a brain-search on ways to make it possible to protect things in
> > > this fashion and still have the getcwd() call succeed, but I don't know if
> > > its even possible.
> > 
> > The above permissions work under SysV.
> 
> Can you be in "who-am-i" and do a "pwd" and have it work?

Yup, just tested it

/home2			root		755
/home2/contrib		root		711
/home2/contrib/joe	joe		700	

As joe,

cd /home2/contrib/joe
pwd 
/home2/contrib/joe





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SV4.3.93.961018145633.1217B-100000>