diff options
author | julian <julian@FreeBSD.org> | 1998-07-04 20:45:42 +0000 |
---|---|---|
committer | julian <julian@FreeBSD.org> | 1998-07-04 20:45:42 +0000 |
commit | 4363221ba26e1c75ed511a0f0865f846907e9872 (patch) | |
tree | ccd3e1b781efc6b15bb2a815e23ac9efbb3eea8b | |
parent | 1502eaffb37d04a2a82d6efdb9ddedbfdeb64f8d (diff) | |
download | FreeBSD-src-4363221ba26e1c75ed511a0f0865f846907e9872.zip FreeBSD-src-4363221ba26e1c75ed511a0f0865f846907e9872.tar.gz |
VOP_STRATEGY grows an (struct vnode *) argument
as the value in b_vp is often not really what you want.
(and needs to be frobbed). more cleanups will follow this.
Reviewed by: Bruce Evans <bde@freebsd.org>
35 files changed, 88 insertions, 166 deletions
diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c index 00791e8..29db7a3 100644 --- a/sys/dev/ccd/ccd.c +++ b/sys/dev/ccd/ccd.c @@ -1,4 +1,4 @@ -/* $Id: ccd.c,v 1.32 1998/03/09 20:39:26 julian Exp $ */ +/* $Id: ccd.c,v 1.33 1998/06/07 17:09:41 dfr Exp $ */ /* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */ @@ -792,12 +792,12 @@ ccdstart(cs, bp) rcount = cbp[0]->cb_buf.b_bcount; if ((cbp[0]->cb_buf.b_flags & B_READ) == 0) cbp[0]->cb_buf.b_vp->v_numoutput++; - VOP_STRATEGY(&cbp[0]->cb_buf); + VOP_STRATEGY(cbp[0]->cb_buf.b_vp, &cbp[0]->cb_buf); if (cs->sc_cflags & CCDF_MIRROR && (cbp[0]->cb_buf.b_flags & B_READ) == 0) { /* mirror, start another write */ cbp[1]->cb_buf.b_vp->v_numoutput++; - VOP_STRATEGY(&cbp[1]->cb_buf); + VOP_STRATEGY(cbp[1]->cb_buf.b_vp, &cbp[1]->cb_buf); } bn += btodb(rcount); addr += rcount; diff --git a/sys/dev/vn/vn.c b/sys/dev/vn/vn.c index 4370689..b94fa90 100644 --- a/sys/dev/vn/vn.c +++ b/sys/dev/vn/vn.c @@ -38,7 +38,7 @@ * from: Utah Hdr: vn.c 1.13 94/04/02 * * from: @(#)vn.c 8.6 (Berkeley) 4/1/94 - * $Id: vn.c,v 1.61 1998/06/07 20:10:53 dfr Exp $ + * $Id: vn.c,v 1.62 1998/07/04 00:27:48 julian Exp $ */ /* @@ -401,7 +401,7 @@ vnstrategy(struct buf *bp) if ((nbp->b_flags & B_READ) == 0) nbp->b_vp->v_numoutput++; - VOP_STRATEGY(nbp); + VOP_STRATEGY(vp, nbp); s = splbio(); while ((nbp->b_flags & B_DONE) == 0) { @@ -574,7 +574,7 @@ nvsIOreq(void *private ,struct buf *bp) if ((nbp->b_flags & B_READ) == 0) nbp->b_vp->v_numoutput++; - VOP_STRATEGY(nbp); + VOP_STRATEGY(vp, nbp); s = splbio(); while ((nbp->b_flags & B_DONE) == 0) { diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index 8bdcaea..c016056 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 - * $Id: cd9660_vnops.c,v 1.51 1997/12/27 02:56:20 bde Exp $ + * $Id: cd9660_vnops.c,v 1.52 1998/03/06 09:46:14 msmith Exp $ */ #include <sys/param.h> @@ -727,6 +727,7 @@ cd9660_abortop(ap) static int cd9660_strategy(ap) struct vop_strategy_args /* { + struct buf *a_vp; struct buf *a_bp; } */ *ap; { @@ -755,7 +756,7 @@ cd9660_strategy(ap) } vp = ip->i_devvp; bp->b_dev = vp->v_rdev; - VOCALL (vp->v_op, VOFFSET(vop_strategy), ap); + VOP_STRATEGY(vp, bp); return (0); } diff --git a/sys/fs/msdosfs/msdosfs_vnops.c b/sys/fs/msdosfs/msdosfs_vnops.c index 59dda79..722938b 100644 --- a/sys/fs/msdosfs/msdosfs_vnops.c +++ b/sys/fs/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vnops.c,v 1.71 1998/06/10 06:30:31 peter Exp $ */ +/* $Id: msdosfs_vnops.c,v 1.73 1998/06/10 13:46:46 dt Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */ /*- @@ -1813,6 +1813,7 @@ msdosfs_bmap(ap) static int msdosfs_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -1850,7 +1851,7 @@ msdosfs_strategy(ap) */ vp = dep->de_devvp; bp->b_dev = vp->v_rdev; - VOCALL(vp->v_op, VOFFSET(vop_strategy), ap); + VOP_STRATEGY(vp, bp); return (0); } diff --git a/sys/fs/nullfs/null_vnops.c b/sys/fs/nullfs/null_vnops.c index a299e27..1398e34 100644 --- a/sys/fs/nullfs/null_vnops.c +++ b/sys/fs/nullfs/null_vnops.c @@ -37,11 +37,11 @@ * * Ancestors: * @(#)lofs_vnops.c 1.2 (Berkeley) 6/18/92 - * $Id: null_vnops.c,v 1.27 1998/04/17 22:36:54 des Exp $ + * $Id: null_vnops.c,v 1.28 1998/06/10 06:34:56 peter Exp $ * ...and... * @(#)null_vnodeops.c 1.20 92/07/07 UCLA Ficus project * - * $Id: null_vnops.c,v 1.27 1998/04/17 22:36:54 des Exp $ + * $Id: null_vnops.c,v 1.28 1998/06/10 06:34:56 peter Exp $ */ /* @@ -612,7 +612,7 @@ null_strategy(ap) savedvp = bp->b_vp; bp->b_vp = NULLVPTOLOWERVP(bp->b_vp); - error = VOP_STRATEGY(bp); + error = VOP_STRATEGY(bp->b_vp, bp); bp->b_vp = savedvp; diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c index ef39ab5..a49a106 100644 --- a/sys/fs/specfs/spec_vnops.c +++ b/sys/fs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95 - * $Id: spec_vnops.c,v 1.62 1998/05/21 07:47:49 dyson Exp $ + * $Id: spec_vnops.c,v 1.63 1998/06/07 17:11:59 dfr Exp $ */ #include <sys/param.h> @@ -805,7 +805,7 @@ spec_getpages(ap) cnt.v_vnodepgsin += pcount; /* Do the input. */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); s = splbio(); diff --git a/sys/fs/umapfs/umap_vnops.c b/sys/fs/umapfs/umap_vnops.c index f37e4c7..b90b351 100644 --- a/sys/fs/umapfs/umap_vnops.c +++ b/sys/fs/umapfs/umap_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.6 (Berkeley) 5/22/95 - * $Id: umap_vnops.c,v 1.22 1997/10/21 21:08:17 roberto Exp $ + * $Id: umap_vnops.c,v 1.23 1998/02/07 01:36:24 kato Exp $ */ /* @@ -430,6 +430,7 @@ umap_reclaim(ap) static int umap_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -440,7 +441,7 @@ umap_strategy(ap) savedvp = bp->b_vp; bp->b_vp = UMAPVPTOLOWERVP(bp->b_vp); - error = VOP_STRATEGY(ap->a_bp); + error = VOP_STRATEGY(bp->b_vp, ap->a_bp); bp->b_vp = savedvp; diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c index f1c6d78..2bcd1ee 100644 --- a/sys/fs/unionfs/union_vnops.c +++ b/sys/fs/unionfs/union_vnops.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * @(#)union_vnops.c 8.32 (Berkeley) 6/23/95 - * $Id: union_vnops.c,v 1.56 1998/03/17 08:47:50 kato Exp $ + * $Id: union_vnops.c,v 1.57 1998/05/07 04:58:38 msmith Exp $ */ #include <sys/param.h> @@ -1725,6 +1725,7 @@ union_advlock(ap) static int union_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -1743,7 +1744,7 @@ union_strategy(ap) panic("union_strategy: writing to lowervp"); #endif - error = VOP_STRATEGY(bp); + error = VOP_STRATEGY(bp->b_vp, bp); bp->b_vp = savedvp; return (error); diff --git a/sys/geom/geom_ccd.c b/sys/geom/geom_ccd.c index 00791e8..29db7a3 100644 --- a/sys/geom/geom_ccd.c +++ b/sys/geom/geom_ccd.c @@ -1,4 +1,4 @@ -/* $Id: ccd.c,v 1.32 1998/03/09 20:39:26 julian Exp $ */ +/* $Id: ccd.c,v 1.33 1998/06/07 17:09:41 dfr Exp $ */ /* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */ @@ -792,12 +792,12 @@ ccdstart(cs, bp) rcount = cbp[0]->cb_buf.b_bcount; if ((cbp[0]->cb_buf.b_flags & B_READ) == 0) cbp[0]->cb_buf.b_vp->v_numoutput++; - VOP_STRATEGY(&cbp[0]->cb_buf); + VOP_STRATEGY(cbp[0]->cb_buf.b_vp, &cbp[0]->cb_buf); if (cs->sc_cflags & CCDF_MIRROR && (cbp[0]->cb_buf.b_flags & B_READ) == 0) { /* mirror, start another write */ cbp[1]->cb_buf.b_vp->v_numoutput++; - VOP_STRATEGY(&cbp[1]->cb_buf); + VOP_STRATEGY(cbp[1]->cb_buf.b_vp, &cbp[1]->cb_buf); } bn += btodb(rcount); addr += rcount; diff --git a/sys/gnu/ext2fs/ext2_bmap.c b/sys/gnu/ext2fs/ext2_bmap.c index 6b7d289..176b7dc 100644 --- a/sys/gnu/ext2fs/ext2_bmap.c +++ b/sys/gnu/ext2fs/ext2_bmap.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_bmap.c 8.7 (Berkeley) 3/21/95 - * $Id: ufs_bmap.c,v 1.19 1998/02/04 22:33:35 eivind Exp $ + * $Id: ufs_bmap.c,v 1.20 1998/02/06 12:14:17 eivind Exp $ */ #include <sys/param.h> @@ -230,7 +230,7 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) bp->b_blkno = blkptrtodb(ump, daddr); bp->b_flags |= B_READ; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); curproc->p_stats->p_ru.ru_inblock++; /* XXX */ error = biowait(bp); if (error) { diff --git a/sys/gnu/ext2fs/ext2_inode.c b/sys/gnu/ext2fs/ext2_inode.c index ae37b2c8..4699d4d 100644 --- a/sys/gnu/ext2fs/ext2_inode.c +++ b/sys/gnu/ext2fs/ext2_inode.c @@ -424,7 +424,7 @@ ext2_indirtrunc(ip, lbn, dbn, lastbn, level, countp) panic("ext2_indirtrunc: bad buffer size"); bp->b_blkno = dbn; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(vp, bp); error = biowait(bp); } if (error) { diff --git a/sys/gnu/fs/ext2fs/ext2_bmap.c b/sys/gnu/fs/ext2fs/ext2_bmap.c index 6b7d289..176b7dc 100644 --- a/sys/gnu/fs/ext2fs/ext2_bmap.c +++ b/sys/gnu/fs/ext2fs/ext2_bmap.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_bmap.c 8.7 (Berkeley) 3/21/95 - * $Id: ufs_bmap.c,v 1.19 1998/02/04 22:33:35 eivind Exp $ + * $Id: ufs_bmap.c,v 1.20 1998/02/06 12:14:17 eivind Exp $ */ #include <sys/param.h> @@ -230,7 +230,7 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) bp->b_blkno = blkptrtodb(ump, daddr); bp->b_flags |= B_READ; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); curproc->p_stats->p_ru.ru_inblock++; /* XXX */ error = biowait(bp); if (error) { diff --git a/sys/gnu/fs/ext2fs/ext2_inode.c b/sys/gnu/fs/ext2fs/ext2_inode.c index ae37b2c8..4699d4d 100644 --- a/sys/gnu/fs/ext2fs/ext2_inode.c +++ b/sys/gnu/fs/ext2fs/ext2_inode.c @@ -424,7 +424,7 @@ ext2_indirtrunc(ip, lbn, dbn, lastbn, level, countp) panic("ext2_indirtrunc: bad buffer size"); bp->b_blkno = dbn; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(vp, bp); error = biowait(bp); } if (error) { diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c index 8bdcaea..c016056 100644 --- a/sys/isofs/cd9660/cd9660_vnops.c +++ b/sys/isofs/cd9660/cd9660_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)cd9660_vnops.c 8.19 (Berkeley) 5/27/95 - * $Id: cd9660_vnops.c,v 1.51 1997/12/27 02:56:20 bde Exp $ + * $Id: cd9660_vnops.c,v 1.52 1998/03/06 09:46:14 msmith Exp $ */ #include <sys/param.h> @@ -727,6 +727,7 @@ cd9660_abortop(ap) static int cd9660_strategy(ap) struct vop_strategy_args /* { + struct buf *a_vp; struct buf *a_bp; } */ *ap; { @@ -755,7 +756,7 @@ cd9660_strategy(ap) } vp = ip->i_devvp; bp->b_dev = vp->v_rdev; - VOCALL (vp->v_op, VOFFSET(vop_strategy), ap); + VOP_STRATEGY(vp, bp); return (0); } diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index 686158b..f494f73 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -11,7 +11,7 @@ * 2. Absolutely no warranty of function or purpose is made by the author * John S. Dyson. * - * $Id: vfs_bio.c,v 1.163 1998/05/01 15:04:35 peter Exp $ + * $Id: vfs_bio.c,v 1.164 1998/05/01 15:10:59 peter Exp $ */ /* @@ -295,7 +295,7 @@ bread(struct vnode * vp, daddr_t blkno, int size, struct ucred * cred, bp->b_rcred = cred; } vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(vp, bp); return (biowait(bp)); } return (0); @@ -328,7 +328,7 @@ breadn(struct vnode * vp, daddr_t blkno, int size, bp->b_rcred = cred; } vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(vp, bp); ++readwait; } for (i = 0; i < cnt; i++, rablkno++, rabsize++) { @@ -347,7 +347,7 @@ breadn(struct vnode * vp, daddr_t blkno, int size, rabp->b_rcred = cred; } vfs_busy_pages(rabp, 0); - VOP_STRATEGY(rabp); + VOP_STRATEGY(vp, rabp); } else { brelse(rabp); } @@ -395,7 +395,7 @@ bwrite(struct buf * bp) vfs_busy_pages(bp, 1); if (curproc != NULL) curproc->p_stats->p_ru.ru_oublock++; - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); /* * Collect statistics on synchronous and asynchronous writes. diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 079c4da..b490ad5 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -33,7 +33,7 @@ * SUCH DAMAGE. * * @(#)vfs_cluster.c 8.7 (Berkeley) 2/13/94 - * $Id: vfs_cluster.c,v 1.61 1998/05/01 16:29:27 bde Exp $ + * $Id: vfs_cluster.c,v 1.62 1998/05/21 07:47:42 dyson Exp $ */ #include "opt_debug_cluster.h" @@ -250,7 +250,7 @@ single_block_read: #endif if ((bp->b_flags & B_CLUSTER) == 0) vfs_busy_pages(bp, 0); - error = VOP_STRATEGY(bp); + error = VOP_STRATEGY(vp, bp); curproc->p_stats->p_ru.ru_inblock++; } @@ -282,7 +282,7 @@ single_block_read: if ((rbp->b_flags & B_CLUSTER) == 0) vfs_busy_pages(rbp, 0); - (void) VOP_STRATEGY(rbp); + (void) VOP_STRATEGY(vp, rbp); curproc->p_stats->p_ru.ru_inblock++; } } diff --git a/sys/kern/vfs_default.c b/sys/kern/vfs_default.c index 9db3037..538cbc0 100644 --- a/sys/kern/vfs_default.c +++ b/sys/kern/vfs_default.c @@ -134,6 +134,7 @@ static int vop_nostrategy (struct vop_strategy_args *ap) { printf("No strategy for buffer at %p\n", ap->a_bp); + vprint("", ap->a_vp); vprint("", ap->a_bp->b_vp); ap->a_bp->b_flags |= B_ERROR; ap->a_bp->b_error = EOPNOTSUPP; diff --git a/sys/kern/vnode_if.pl b/sys/kern/vnode_if.pl index 78778d5..d289c35 100644 --- a/sys/kern/vnode_if.pl +++ b/sys/kern/vnode_if.pl @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93 -# $Id: vnode_if.sh,v 1.13 1997/10/28 15:58:26 bde Exp $ +# $Id: vnode_if.sh,v 1.14 1997/12/19 23:25:16 bde Exp $ # # Script to produce VFS front-end sugar. @@ -363,22 +363,6 @@ $AWK 'function kill_surrounding_ws (s) { cat << END_OF_SPECIAL_CASES >> $HEADER #include <sys/buf.h> -struct vop_strategy_args { - struct vnodeop_desc *a_desc; - struct buf *a_bp; -}; -extern struct vnodeop_desc vop_strategy_desc; -static int VOP_STRATEGY __P(( - struct buf *bp)); -static __inline int VOP_STRATEGY(bp) - struct buf *bp; -{ - struct vop_strategy_args a; - - a.a_desc = VDESC(vop_strategy); - a.a_bp = bp; - return (VCALL((bp)->b_vp, VOFFSET(vop_strategy), &a)); -} struct vop_bwrite_args { struct vnodeop_desc *a_desc; @@ -401,20 +385,6 @@ extern int vfs_opv_numops; END_OF_SPECIAL_CASES cat << END_OF_SPECIAL_CASES >> $CFILE -static int vop_strategy_vp_offsets[] = { - VDESC_NO_OFFSET -}; -struct vnodeop_desc vop_strategy_desc = { - 0, - "vop_strategy", - 0, - vop_strategy_vp_offsets, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - NULL, -}; static int vop_bwrite_vp_offsets[] = { VDESC_NO_OFFSET }; diff --git a/sys/kern/vnode_if.sh b/sys/kern/vnode_if.sh index 78778d5..d289c35 100644 --- a/sys/kern/vnode_if.sh +++ b/sys/kern/vnode_if.sh @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93 -# $Id: vnode_if.sh,v 1.13 1997/10/28 15:58:26 bde Exp $ +# $Id: vnode_if.sh,v 1.14 1997/12/19 23:25:16 bde Exp $ # # Script to produce VFS front-end sugar. @@ -363,22 +363,6 @@ $AWK 'function kill_surrounding_ws (s) { cat << END_OF_SPECIAL_CASES >> $HEADER #include <sys/buf.h> -struct vop_strategy_args { - struct vnodeop_desc *a_desc; - struct buf *a_bp; -}; -extern struct vnodeop_desc vop_strategy_desc; -static int VOP_STRATEGY __P(( - struct buf *bp)); -static __inline int VOP_STRATEGY(bp) - struct buf *bp; -{ - struct vop_strategy_args a; - - a.a_desc = VDESC(vop_strategy); - a.a_bp = bp; - return (VCALL((bp)->b_vp, VOFFSET(vop_strategy), &a)); -} struct vop_bwrite_args { struct vnodeop_desc *a_desc; @@ -401,20 +385,6 @@ extern int vfs_opv_numops; END_OF_SPECIAL_CASES cat << END_OF_SPECIAL_CASES >> $CFILE -static int vop_strategy_vp_offsets[] = { - VDESC_NO_OFFSET -}; -struct vnodeop_desc vop_strategy_desc = { - 0, - "vop_strategy", - 0, - vop_strategy_vp_offsets, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - NULL, -}; static int vop_bwrite_vp_offsets[] = { VDESC_NO_OFFSET }; diff --git a/sys/kern/vnode_if.src b/sys/kern/vnode_if.src index c97d2ad..4dd64cd 100644 --- a/sys/kern/vnode_if.src +++ b/sys/kern/vnode_if.src @@ -31,7 +31,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.src 8.12 (Berkeley) 5/14/95 -# $Id: vnode_if.src,v 1.16 1998/03/08 09:57:26 julian Exp $ +# $Id: vnode_if.src,v 1.17 1998/05/07 04:58:26 msmith Exp $ # # @@ -390,9 +390,10 @@ vop_bmap { # # Needs work: no vp? # -#vop_strategy { -# IN struct buf *bp; -#}; +vop_strategy { + IN struct vnode *vp; + IN struct buf *bp; +}; # #% print vp = = = diff --git a/sys/miscfs/nullfs/null_vnops.c b/sys/miscfs/nullfs/null_vnops.c index a299e27..1398e34 100644 --- a/sys/miscfs/nullfs/null_vnops.c +++ b/sys/miscfs/nullfs/null_vnops.c @@ -37,11 +37,11 @@ * * Ancestors: * @(#)lofs_vnops.c 1.2 (Berkeley) 6/18/92 - * $Id: null_vnops.c,v 1.27 1998/04/17 22:36:54 des Exp $ + * $Id: null_vnops.c,v 1.28 1998/06/10 06:34:56 peter Exp $ * ...and... * @(#)null_vnodeops.c 1.20 92/07/07 UCLA Ficus project * - * $Id: null_vnops.c,v 1.27 1998/04/17 22:36:54 des Exp $ + * $Id: null_vnops.c,v 1.28 1998/06/10 06:34:56 peter Exp $ */ /* @@ -612,7 +612,7 @@ null_strategy(ap) savedvp = bp->b_vp; bp->b_vp = NULLVPTOLOWERVP(bp->b_vp); - error = VOP_STRATEGY(bp); + error = VOP_STRATEGY(bp->b_vp, bp); bp->b_vp = savedvp; diff --git a/sys/miscfs/specfs/spec_vnops.c b/sys/miscfs/specfs/spec_vnops.c index ef39ab5..a49a106 100644 --- a/sys/miscfs/specfs/spec_vnops.c +++ b/sys/miscfs/specfs/spec_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)spec_vnops.c 8.14 (Berkeley) 5/21/95 - * $Id: spec_vnops.c,v 1.62 1998/05/21 07:47:49 dyson Exp $ + * $Id: spec_vnops.c,v 1.63 1998/06/07 17:11:59 dfr Exp $ */ #include <sys/param.h> @@ -805,7 +805,7 @@ spec_getpages(ap) cnt.v_vnodepgsin += pcount; /* Do the input. */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); s = splbio(); diff --git a/sys/miscfs/umapfs/umap_vnops.c b/sys/miscfs/umapfs/umap_vnops.c index f37e4c7..b90b351 100644 --- a/sys/miscfs/umapfs/umap_vnops.c +++ b/sys/miscfs/umapfs/umap_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)umap_vnops.c 8.6 (Berkeley) 5/22/95 - * $Id: umap_vnops.c,v 1.22 1997/10/21 21:08:17 roberto Exp $ + * $Id: umap_vnops.c,v 1.23 1998/02/07 01:36:24 kato Exp $ */ /* @@ -430,6 +430,7 @@ umap_reclaim(ap) static int umap_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -440,7 +441,7 @@ umap_strategy(ap) savedvp = bp->b_vp; bp->b_vp = UMAPVPTOLOWERVP(bp->b_vp); - error = VOP_STRATEGY(ap->a_bp); + error = VOP_STRATEGY(bp->b_vp, ap->a_bp); bp->b_vp = savedvp; diff --git a/sys/miscfs/union/union_vnops.c b/sys/miscfs/union/union_vnops.c index f1c6d78..2bcd1ee 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.56 1998/03/17 08:47:50 kato Exp $ + * $Id: union_vnops.c,v 1.57 1998/05/07 04:58:38 msmith Exp $ */ #include <sys/param.h> @@ -1725,6 +1725,7 @@ union_advlock(ap) static int union_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -1743,7 +1744,7 @@ union_strategy(ap) panic("union_strategy: writing to lowervp"); #endif - error = VOP_STRATEGY(bp); + error = VOP_STRATEGY(bp->b_vp, bp); bp->b_vp = savedvp; return (error); diff --git a/sys/msdosfs/msdosfs_vnops.c b/sys/msdosfs/msdosfs_vnops.c index 59dda79..722938b 100644 --- a/sys/msdosfs/msdosfs_vnops.c +++ b/sys/msdosfs/msdosfs_vnops.c @@ -1,4 +1,4 @@ -/* $Id: msdosfs_vnops.c,v 1.71 1998/06/10 06:30:31 peter Exp $ */ +/* $Id: msdosfs_vnops.c,v 1.73 1998/06/10 13:46:46 dt Exp $ */ /* $NetBSD: msdosfs_vnops.c,v 1.68 1998/02/10 14:10:04 mrg Exp $ */ /*- @@ -1813,6 +1813,7 @@ msdosfs_bmap(ap) static int msdosfs_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { @@ -1850,7 +1851,7 @@ msdosfs_strategy(ap) */ vp = dep->de_devvp; bp->b_dev = vp->v_rdev; - VOCALL(vp->v_op, VOFFSET(vop_strategy), ap); + VOP_STRATEGY(vp, bp); return (0); } diff --git a/sys/nfs/nfs_vnops.c b/sys/nfs/nfs_vnops.c index 1549c9c..965d85e 100644 --- a/sys/nfs/nfs_vnops.c +++ b/sys/nfs/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 - * $Id: nfs_vnops.c,v 1.103 1998/05/31 20:08:56 peter Exp $ + * $Id: nfs_vnops.c,v 1.104 1998/06/01 10:59:23 peter Exp $ */ @@ -3059,7 +3059,7 @@ nfs_writebp(bp, force) if (retv) { if (force) bp->b_flags |= B_WRITEINPROG; - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); } if( (oldflags & B_ASYNC) == 0) { diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index 1549c9c..965d85e 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -34,7 +34,7 @@ * SUCH DAMAGE. * * @(#)nfs_vnops.c 8.16 (Berkeley) 5/27/95 - * $Id: nfs_vnops.c,v 1.103 1998/05/31 20:08:56 peter Exp $ + * $Id: nfs_vnops.c,v 1.104 1998/06/01 10:59:23 peter Exp $ */ @@ -3059,7 +3059,7 @@ nfs_writebp(bp, force) if (retv) { if (force) bp->b_flags |= B_WRITEINPROG; - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); } if( (oldflags & B_ASYNC) == 0) { diff --git a/sys/tools/vnode_if.awk b/sys/tools/vnode_if.awk index 78778d5..d289c35 100644 --- a/sys/tools/vnode_if.awk +++ b/sys/tools/vnode_if.awk @@ -32,7 +32,7 @@ # SUCH DAMAGE. # # @(#)vnode_if.sh 8.1 (Berkeley) 6/10/93 -# $Id: vnode_if.sh,v 1.13 1997/10/28 15:58:26 bde Exp $ +# $Id: vnode_if.sh,v 1.14 1997/12/19 23:25:16 bde Exp $ # # Script to produce VFS front-end sugar. @@ -363,22 +363,6 @@ $AWK 'function kill_surrounding_ws (s) { cat << END_OF_SPECIAL_CASES >> $HEADER #include <sys/buf.h> -struct vop_strategy_args { - struct vnodeop_desc *a_desc; - struct buf *a_bp; -}; -extern struct vnodeop_desc vop_strategy_desc; -static int VOP_STRATEGY __P(( - struct buf *bp)); -static __inline int VOP_STRATEGY(bp) - struct buf *bp; -{ - struct vop_strategy_args a; - - a.a_desc = VDESC(vop_strategy); - a.a_bp = bp; - return (VCALL((bp)->b_vp, VOFFSET(vop_strategy), &a)); -} struct vop_bwrite_args { struct vnodeop_desc *a_desc; @@ -401,20 +385,6 @@ extern int vfs_opv_numops; END_OF_SPECIAL_CASES cat << END_OF_SPECIAL_CASES >> $CFILE -static int vop_strategy_vp_offsets[] = { - VDESC_NO_OFFSET -}; -struct vnodeop_desc vop_strategy_desc = { - 0, - "vop_strategy", - 0, - vop_strategy_vp_offsets, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - VDESC_NO_OFFSET, - NULL, -}; static int vop_bwrite_vp_offsets[] = { VDESC_NO_OFFSET }; diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index df06020..c15c440 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)ffs_inode.c 8.13 (Berkeley) 4/21/95 - * $Id: ffs_inode.c,v 1.44 1998/07/03 18:46:47 bde Exp $ + * $Id: ffs_inode.c,v 1.45 1998/07/03 22:16:57 bde Exp $ */ #include "opt_quota.h" @@ -459,7 +459,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, level, countp) panic("ffs_indirtrunc: bad buffer size"); bp->b_blkno = dbn; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); error = biowait(bp); } if (error) { diff --git a/sys/ufs/mfs/mfs_vnops.c b/sys/ufs/mfs/mfs_vnops.c index 467f2a1..3d64dc2 100644 --- a/sys/ufs/mfs/mfs_vnops.c +++ b/sys/ufs/mfs/mfs_vnops.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)mfs_vnops.c 8.11 (Berkeley) 5/22/95 - * $Id: mfs_vnops.c,v 1.34 1998/01/01 12:40:25 bde Exp $ + * $Id: mfs_vnops.c,v 1.35 1998/02/16 23:55:53 msmith Exp $ */ #include <sys/param.h> @@ -123,6 +123,7 @@ mfs_fsync(ap) static int mfs_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c index 6b7d289..176b7dc 100644 --- a/sys/ufs/ufs/ufs_bmap.c +++ b/sys/ufs/ufs/ufs_bmap.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_bmap.c 8.7 (Berkeley) 3/21/95 - * $Id: ufs_bmap.c,v 1.19 1998/02/04 22:33:35 eivind Exp $ + * $Id: ufs_bmap.c,v 1.20 1998/02/06 12:14:17 eivind Exp $ */ #include <sys/param.h> @@ -230,7 +230,7 @@ ufs_bmaparray(vp, bn, bnp, ap, nump, runp, runb) bp->b_blkno = blkptrtodb(ump, daddr); bp->b_flags |= B_READ; vfs_busy_pages(bp, 0); - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); curproc->p_stats->p_ru.ru_inblock++; /* XXX */ error = biowait(bp); if (error) { diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index a061c21..eb6d6b0 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)ufs_vnops.c 8.27 (Berkeley) 5/27/95 - * $Id: ufs_vnops.c,v 1.92 1998/07/03 22:17:03 bde Exp $ + * $Id: ufs_vnops.c,v 1.93 1998/07/03 22:37:43 bde Exp $ */ #include "opt_quota.h" @@ -1723,11 +1723,12 @@ ufs_abortop(ap) int ufs_strategy(ap) struct vop_strategy_args /* { + struct vnode *a_vp; struct buf *a_bp; } */ *ap; { register struct buf *bp = ap->a_bp; - register struct vnode *vp = bp->b_vp; + register struct vnode *vp = ap->a_vp; register struct inode *ip; int error; @@ -1751,7 +1752,7 @@ ufs_strategy(ap) } vp = ip->i_devvp; bp->b_dev = vp->v_rdev; - VOCALL (vp->v_op, VOFFSET(vop_strategy), ap); + VOP_STRATEGY(vp, bp); return (0); } diff --git a/sys/vm/swap_pager.c b/sys/vm/swap_pager.c index 2f0305a..41a133e 100644 --- a/sys/vm/swap_pager.c +++ b/sys/vm/swap_pager.c @@ -39,7 +39,7 @@ * from: Utah $Hdr: swap_pager.c 1.4 91/04/30$ * * @(#)swap_pager.c 8.9 (Berkeley) 3/21/94 - * $Id: swap_pager.c,v 1.94 1998/04/29 04:27:59 dyson Exp $ + * $Id: swap_pager.c,v 1.95 1998/05/04 03:01:42 dyson Exp $ */ /* @@ -1062,7 +1062,7 @@ swap_pager_getpages(object, m, count, reqpage) /* * perform the I/O */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); /* * wait for the sync I/O to complete @@ -1466,7 +1466,7 @@ swap_pager_putpages(object, m, count, sync, rtvals) /* * perform the I/O */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); if (sync == FALSE) { if (swap_pager_free_pending) { swap_pager_sync(); diff --git a/sys/vm/vm_swap.c b/sys/vm/vm_swap.c index 7189797..7e9c6e2 100644 --- a/sys/vm/vm_swap.c +++ b/sys/vm/vm_swap.c @@ -31,7 +31,7 @@ * SUCH DAMAGE. * * @(#)vm_swap.c 8.5 (Berkeley) 2/17/94 - * $Id: vm_swap.c,v 1.53 1998/02/23 08:22:44 dyson Exp $ + * $Id: vm_swap.c,v 1.54 1998/06/25 11:28:07 phk Exp $ */ #include "opt_devfs.h" @@ -149,7 +149,7 @@ swstrategy(bp) pbrelvp(bp); splx(s); bp->b_vp = sp->sw_vp; - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); } /* diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index 7ea6c86..527e825 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 - * $Id: vnode_pager.c,v 1.90 1998/03/09 08:58:53 msmith Exp $ + * $Id: vnode_pager.c,v 1.91 1998/03/16 01:56:03 dyson Exp $ */ /* @@ -415,7 +415,7 @@ vnode_pager_input_smlfs(object, m) bp->b_bufsize = bsize; /* do the input */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); /* we definitely need to be at splvm here */ @@ -729,7 +729,7 @@ vnode_pager_generic_getpages(vp, m, bytecount, reqpage) cnt.v_vnodepgsin += count; /* do the input */ - VOP_STRATEGY(bp); + VOP_STRATEGY(bp->b_vp, bp); s = splvm(); /* we definitely need to be at splvm here */ |