summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjulian <julian@FreeBSD.org>1998-07-04 20:45:42 +0000
committerjulian <julian@FreeBSD.org>1998-07-04 20:45:42 +0000
commit4363221ba26e1c75ed511a0f0865f846907e9872 (patch)
treeccd3e1b781efc6b15bb2a815e23ac9efbb3eea8b
parent1502eaffb37d04a2a82d6efdb9ddedbfdeb64f8d (diff)
downloadFreeBSD-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>
-rw-r--r--sys/dev/ccd/ccd.c6
-rw-r--r--sys/dev/vn/vn.c6
-rw-r--r--sys/fs/cd9660/cd9660_vnops.c5
-rw-r--r--sys/fs/msdosfs/msdosfs_vnops.c5
-rw-r--r--sys/fs/nullfs/null_vnops.c6
-rw-r--r--sys/fs/specfs/spec_vnops.c4
-rw-r--r--sys/fs/umapfs/umap_vnops.c5
-rw-r--r--sys/fs/unionfs/union_vnops.c5
-rw-r--r--sys/geom/geom_ccd.c6
-rw-r--r--sys/gnu/ext2fs/ext2_bmap.c4
-rw-r--r--sys/gnu/ext2fs/ext2_inode.c2
-rw-r--r--sys/gnu/fs/ext2fs/ext2_bmap.c4
-rw-r--r--sys/gnu/fs/ext2fs/ext2_inode.c2
-rw-r--r--sys/isofs/cd9660/cd9660_vnops.c5
-rw-r--r--sys/kern/vfs_bio.c10
-rw-r--r--sys/kern/vfs_cluster.c6
-rw-r--r--sys/kern/vfs_default.c1
-rw-r--r--sys/kern/vnode_if.pl32
-rw-r--r--sys/kern/vnode_if.sh32
-rw-r--r--sys/kern/vnode_if.src9
-rw-r--r--sys/miscfs/nullfs/null_vnops.c6
-rw-r--r--sys/miscfs/specfs/spec_vnops.c4
-rw-r--r--sys/miscfs/umapfs/umap_vnops.c5
-rw-r--r--sys/miscfs/union/union_vnops.c5
-rw-r--r--sys/msdosfs/msdosfs_vnops.c5
-rw-r--r--sys/nfs/nfs_vnops.c4
-rw-r--r--sys/nfsclient/nfs_vnops.c4
-rw-r--r--sys/tools/vnode_if.awk32
-rw-r--r--sys/ufs/ffs/ffs_inode.c4
-rw-r--r--sys/ufs/mfs/mfs_vnops.c3
-rw-r--r--sys/ufs/ufs/ufs_bmap.c4
-rw-r--r--sys/ufs/ufs/ufs_vnops.c7
-rw-r--r--sys/vm/swap_pager.c6
-rw-r--r--sys/vm/vm_swap.c4
-rw-r--r--sys/vm/vnode_pager.c6
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 */
OpenPOWER on IntegriCloud