I now understand why name caching was redone for 4.4BSD; Net/2's
method of caching names has a totally bogus interface. kill *ALL* caching of names when going through a lofs, because that's the only way to make sure things always work right. Also, XXX the possibly-bogus check i keep whining about. it's almost certainly wrong, but it's too weird to modify significantly; even jsp didn't want to touch it...
This commit is contained in:
parent
e56750e9d0
commit
45afe06953
@ -37,7 +37,7 @@
|
||||
* From:
|
||||
* Id: lofs_vnops.c,v 4.1 1993/12/17 10:47:45 jsp Rel
|
||||
*
|
||||
* $Id: lofs_vnops.c,v 1.3 1994/02/25 01:05:32 cgd Exp $
|
||||
* $Id: lofs_vnops.c,v 1.4 1994/02/25 23:41:56 cgd Exp $
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -113,9 +113,11 @@ lofs_lookup(dvp, ndp, p)
|
||||
/*
|
||||
* Call lookup on the looped vnode
|
||||
*/
|
||||
ndp->ni_makeentry = 0; /* XXX OUCH! */
|
||||
error = VOP_LOOKUP(targetdvp, ndp, p);
|
||||
if (error) {
|
||||
if (flag == CREATE || flag == RENAME || error != ENOENT) {
|
||||
/* XXX -- the following chunk is most likely VERY wrong */
|
||||
if (flag == CREATE || flag == RENAME) {
|
||||
vrele(targetdvp);
|
||||
} else {
|
||||
vrele(ndp->ni_dvp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user