From 3905ba5d0a37be7e523bd7f167e6338fffe83c6e Mon Sep 17 00:00:00 2001 From: phk Date: Sat, 18 Oct 2003 11:16:33 +0000 Subject: Initialize bp->b_offset before calling VOP_[SPEC]STRATEGY() --- sys/ufs/ffs/ffs_inode.c | 1 + sys/ufs/ufs/ufs_bmap.c | 1 + sys/ufs/ufs/ufs_vnops.c | 1 + 3 files changed, 3 insertions(+) (limited to 'sys') diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index db90e4a..fa172c5 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -565,6 +565,7 @@ ffs_indirtrunc(ip, lbn, dbn, lastbn, level, countp) panic("ffs_indirtrunc: bad buffer size"); bp->b_blkno = dbn; vfs_busy_pages(bp, 0); + bp->b_offset = dbtob(bp->b_blkno); VOP_STRATEGY(bp->b_vp, bp); error = bufwait(bp); } diff --git a/sys/ufs/ufs/ufs_bmap.c b/sys/ufs/ufs/ufs_bmap.c index 960e3f6..f2296ea 100644 --- a/sys/ufs/ufs/ufs_bmap.c +++ b/sys/ufs/ufs/ufs_bmap.c @@ -228,6 +228,7 @@ ufs_bmaparray(vp, bn, bnp, nbp, runp, runb) bp->b_flags &= ~B_INVAL; bp->b_ioflags &= ~BIO_ERROR; vfs_busy_pages(bp, 0); + bp->b_offset = dbtob(bp->b_blkno); VOP_STRATEGY(bp->b_vp, bp); curproc->p_stats->p_ru.ru_inblock++; /* XXX */ error = bufwait(bp); diff --git a/sys/ufs/ufs/ufs_vnops.c b/sys/ufs/ufs/ufs_vnops.c index 0e74031..bf2d378 100644 --- a/sys/ufs/ufs/ufs_vnops.c +++ b/sys/ufs/ufs/ufs_vnops.c @@ -1969,6 +1969,7 @@ ufs_strategy(ap) } vp = ip->i_devvp; bp->b_dev = vp->v_rdev; + bp->b_offset = dbtob(bp->b_blkno); VOP_SPECSTRATEGY(vp, bp); return (0); } -- cgit v1.1