diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-08-17 19:26:03 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2003-08-17 19:26:03 +0000 |
| commit | b10385484776e95e0169dd84dbf7b2b45b2cac45 (patch) | |
| tree | ae85b56b9acd0ae04ec0806c494140d01093580d | |
| parent | f53579cfaaac7e73f781d8a69ca2ebd47942082c (diff) | |
Notes
| -rw-r--r-- | sys/ufs/ffs/ffs_rawread.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c index 7f667c144502..21858323a0b0 100644 --- a/sys/ufs/ffs/ffs_rawread.c +++ b/sys/ufs/ffs/ffs_rawread.c @@ -192,10 +192,15 @@ ffs_rawread_readahead(struct vnode *vp, int bsize; struct vnode *dp; int bforwards; + struct inode *ip; + ufs2_daddr_t blkno; GIANT_REQUIRED; bsize = vp->v_mount->mnt_stat.f_iosize; + ip = VTOI(vp); + dp = ip->i_devvp; + iolen = ((vm_offset_t) udata) & PAGE_MASK; bp->b_bcount = len; if (bp->b_bcount + iolen > bp->b_kvasize) { @@ -217,11 +222,10 @@ ffs_rawread_readahead(struct vnode *vp, bp->b_lblkno = bp->b_blkno = blockno; - error = VOP_BMAP(vp, bp->b_lblkno, &dp, &bp->b_blkno, &bforwards, - NULL); - if (error != 0) { + error = ufs_bmaparray(vp, bp->b_lblkno, &blkno, NULL, &bforwards, NULL); + if (error != 0) return error; - } + bp->b_blkno = blkno; if (bp->b_blkno == -1) { /* Fill holes with NULs to preserve semantics */ |
