From 4618020dbc2e67f8dbbd645f1fa1b551043e252b Mon Sep 17 00:00:00 2001 From: Chaskiel M Grundman Date: Fri, 20 Jan 2006 05:21:02 +0000 Subject: [PATCH] STABLE14-cached-lookup-mtpt-20060120 FIXES 25647 don't do lookups on the wrong vnode, if it's a mvstat=1 vnode, it's not useful (cherry picked from commit a784c131709a8252fa1e8cb4ce49cb0c655dd7aa) --- src/afs/DARWIN/osi_vnodeops.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/afs/DARWIN/osi_vnodeops.c b/src/afs/DARWIN/osi_vnodeops.c index 258fbdad8..db02aa528 100644 --- a/src/afs/DARWIN/osi_vnodeops.c +++ b/src/afs/DARWIN/osi_vnodeops.c @@ -299,11 +299,14 @@ afs_vop_lookup(ap) int wantparent; /* 1 => wantparent or lockparent flag */ struct proc *p; #ifdef AFS_DARWIN80_ENV - error = cache_lookup(ap->a_dvp, ap->a_vpp, ap->a_cnp); - if (error == -1) - return 0; - if (error == ENOENT) - return error; + vcp = VTOAFS(ap->a_dvp); + if (vcp->mvstat != 1) { + error = cache_lookup(ap->a_dvp, ap->a_vpp, ap->a_cnp); + if (error == -1) + return 0; + if (error == ENOENT) + return error; + } #endif GETNAME(); -- 2.39.5