diff options
author | mckusick <mckusick@FreeBSD.org> | 1999-06-16 23:27:55 +0000 |
---|---|---|
committer | mckusick <mckusick@FreeBSD.org> | 1999-06-16 23:27:55 +0000 |
commit | 88e39a63db386a8e7939538fd1b350cbe663486b (patch) | |
tree | 002e7a32883a2178dd2164b02c296d429dee5cfd /sys/miscfs/union | |
parent | 97a0215ac1c4c057e39723365f18d612e9304581 (diff) | |
download | FreeBSD-src-88e39a63db386a8e7939538fd1b350cbe663486b.zip FreeBSD-src-88e39a63db386a8e7939538fd1b350cbe663486b.tar.gz |
Add a vnode argument to VOP_BWRITE to get rid of the last vnode
operator special case. Delete special case code from vnode_if.sh,
vnode_if.src, umap_vnops.c, and null_vnops.c.
Diffstat (limited to 'sys/miscfs/union')
-rw-r--r-- | sys/miscfs/union/union_vnops.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c index ba9b2a3..6b9681c 100644 --- a/sys/miscfs/union/union_vnops.c +++ b/sys/miscfs/union/union_vnops.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_vnops.c 8.32 (Berkeley) 6/23/95 - * $Id: union_vnops.c,v 1.59 1998/12/14 05:00:59 dillon Exp $ + * $Id: union_vnops.c,v 1.60 1999/01/27 22:42:08 dillon Exp $ */ #include <sys/param.h> @@ -1734,24 +1734,17 @@ union_strategy(ap) } */ *ap; { struct buf *bp = ap->a_bp; - int error; - struct vnode *savedvp; - - savedvp = bp->b_vp; - bp->b_vp = OTHERVP(bp->b_vp); + struct vnode *othervp = OTHERVP(bp->b_vp); #ifdef DIAGNOSTIC - if (bp->b_vp == NULLVP) + if (othervp == NULLVP) panic("union_strategy: nil vp"); if (((bp->b_flags & B_READ) == 0) && - (bp->b_vp == LOWERVP(savedvp))) + (othervp == LOWERVP(bp->b_vp))) panic("union_strategy: writing to lowervp"); #endif - error = VOP_STRATEGY(bp->b_vp, bp); - bp->b_vp = savedvp; - - return (error); + return (VOP_STRATEGY(othervp, bp)); } /* |