[OpenAFS-devel] Linux 2.6.12 kernel BUG at fs/namei.c:1189

Russ Allbery rra@stanford.edu
Sun, 11 Dec 2005 09:47:55 -0800


"chas williams - CONTRACTOR" <chas@cmf.nrl.navy.mil> writes:

> yeah, this is going to be a problem i think.  you have a single
> volume/mountpoint which can be reach via two different paths:

> 	/afs/cellname/readwrite/a
> 	/afs/cellname/readonly/a

It's actually /afs/ir.stanford.edu/site/leland/tripwire/foo and
              /afs/.ir.stanford.edu/site/leland/tripwire/foo

just for the record, but I assume that doesn't change the analysis?

> so which is a's parent?  readwrite or readonly?  with the current code,
> the path you lookup first determines a's parent (with respect to linux's
> dentry cache).  doing a revalidate before the rename might fix this but
> i dont think so.  more likely, we need something that checks a dentry to
> see if it matches what linux's idea of the parent is.  rename is passed
> a parent that is not derived from the involved dentries.

This sounds fairly credible to me, although I don't really know how to fix
it.  :)  I'm surprised that more people haven't run into this.  I mv mount
points all the time; maybe I'm weird?

-- 
Russ Allbery (rra@stanford.edu)             <http://www.eyrie.org/~eagle/>