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>
This commit is contained in:
parent
52f8e5d672
commit
fd5d1124e2
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=37384
@ -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;
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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.
|
||||
|
@ -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 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp)
|
||||
#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 @@ cluster_read(vp, filesize, lblkno, size, cred, totread, seqcount, bpp)
|
||||
|
||||
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++;
|
||||
}
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
};
|
||||
|
@ -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
|
||||
};
|
||||
|
@ -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 = = =
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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) {
|
||||
|
@ -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) {
|
||||
|
@ -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
|
||||
};
|
||||
|
@ -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) {
|
||||
|
@ -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;
|
||||
{
|
||||
|
@ -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) {
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -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 */
|
||||
|
Loading…
Reference in New Issue
Block a user