diff options
author | bp <bp@FreeBSD.org> | 2000-09-10 03:46:12 +0000 |
---|---|---|
committer | bp <bp@FreeBSD.org> | 2000-09-10 03:46:12 +0000 |
commit | 3ef04de723924de04d008b945f49a1f424db9147 (patch) | |
tree | 260788b68c1061308424aff5ae14a13251383b0f /sys/kern | |
parent | 4aa7af1bcfb85eca00db5dc97a4a10e32f26f704 (diff) | |
download | FreeBSD-src-3ef04de723924de04d008b945f49a1f424db9147.zip FreeBSD-src-3ef04de723924de04d008b945f49a1f424db9147.tar.gz |
Change variable naming to be consistent with the rest of VFS code.
Reduce number of indirections by using already fetched values.
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/vfs_cache.c | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 81940d6..5cc4f1c 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -422,9 +422,8 @@ vfs_cache_lookup(ap) struct componentname *a_cnp; } */ *ap; { - struct vnode *vdp; - struct vnode *pdp; - int lockparent; + struct vnode *dvp, *vp; + int lockparent; int error; struct vnode **vpp = ap->a_vpp; struct componentname *cnp = ap->a_cnp; @@ -434,60 +433,59 @@ vfs_cache_lookup(ap) u_long vpid; /* capability number of vnode */ *vpp = NULL; - vdp = ap->a_dvp; + dvp = ap->a_dvp; lockparent = flags & LOCKPARENT; - if (vdp->v_type != VDIR) + if (dvp->v_type != VDIR) return (ENOTDIR); - if ((flags & ISLASTCN) && (vdp->v_mount->mnt_flag & MNT_RDONLY) && + if ((flags & ISLASTCN) && (dvp->v_mount->mnt_flag & MNT_RDONLY) && (cnp->cn_nameiop == DELETE || cnp->cn_nameiop == RENAME)) return (EROFS); - error = VOP_ACCESS(vdp, VEXEC, cred, cnp->cn_proc); + error = VOP_ACCESS(dvp, VEXEC, cred, p); if (error) return (error); - error = cache_lookup(vdp, vpp, cnp); + error = cache_lookup(dvp, vpp, cnp); if (!error) - return (VOP_CACHEDLOOKUP(ap->a_dvp, ap->a_vpp, ap->a_cnp)); + return (VOP_CACHEDLOOKUP(dvp, vpp, cnp)); if (error == ENOENT) return (error); - pdp = vdp; - vdp = *vpp; - vpid = vdp->v_id; - if (pdp == vdp) { /* lookup on "." */ - VREF(vdp); + vp = *vpp; + vpid = vp->v_id; + if (dvp == vp) { /* lookup on "." */ + VREF(vp); error = 0; } else if (flags & ISDOTDOT) { - VOP_UNLOCK(pdp, 0, p); - error = vget(vdp, LK_EXCLUSIVE, p); + VOP_UNLOCK(dvp, 0, p); + error = vget(vp, LK_EXCLUSIVE, p); if (!error && lockparent && (flags & ISLASTCN)) - error = vn_lock(pdp, LK_EXCLUSIVE, p); + error = vn_lock(dvp, LK_EXCLUSIVE, p); } else { - error = vget(vdp, LK_EXCLUSIVE, p); + error = vget(vp, LK_EXCLUSIVE, p); if (!lockparent || error || !(flags & ISLASTCN)) - VOP_UNLOCK(pdp, 0, p); + VOP_UNLOCK(dvp, 0, p); } /* * Check that the capability number did not change * while we were waiting for the lock. */ if (!error) { - if (vpid == vdp->v_id) + if (vpid == vp->v_id) return (0); - vput(vdp); - if (lockparent && pdp != vdp && (flags & ISLASTCN)) - VOP_UNLOCK(pdp, 0, p); + vput(vp); + if (lockparent && dvp != vp && (flags & ISLASTCN)) + VOP_UNLOCK(dvp, 0, p); } - error = vn_lock(pdp, LK_EXCLUSIVE, p); + error = vn_lock(dvp, LK_EXCLUSIVE, p); if (error) return (error); - return (VOP_CACHEDLOOKUP(ap->a_dvp, ap->a_vpp, ap->a_cnp)); + return (VOP_CACHEDLOOKUP(dvp, vpp, cnp)); } |