diff options
| author | Poul-Henning Kamp <phk@FreeBSD.org> | 2001-04-30 21:23:05 +0000 |
|---|---|---|
| committer | Poul-Henning Kamp <phk@FreeBSD.org> | 2001-04-30 21:23:05 +0000 |
| commit | e9d19a117e8692d508946c2978aa9b7102f52132 (patch) | |
| tree | 1611401d6eede61125fa912d7e64b2c486c2e0ed /sys | |
| parent | c1acc019961d49917503887ec918de62c00053b7 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/fs/cd9660/cd9660_vnops.c | 14 | ||||
| -rw-r--r-- | sys/isofs/cd9660/cd9660_vnops.c | 14 |
2 files changed, 8 insertions, 20 deletions
diff --git a/sys/fs/cd9660/cd9660_vnops.c b/sys/fs/cd9660/cd9660_vnops.c index f34ebd44634e..66db4a0d77f6 100644 --- a/sys/fs/cd9660/cd9660_vnops.c +++ b/sys/fs/cd9660/cd9660_vnops.c @@ -711,23 +711,17 @@ cd9660_strategy(ap) register struct buf *bp = ap->a_bp; register struct vnode *vp = bp->b_vp; register struct iso_node *ip; - int error; ip = VTOI(vp); if (vp->v_type == VBLK || vp->v_type == VCHR) panic("cd9660_strategy: spec"); if (bp->b_blkno == bp->b_lblkno) { - if ((error = - VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL, NULL))) { - bp->b_error = error; - bp->b_ioflags |= BIO_ERROR; - bufdone(bp); - return (error); - } - if ((long)bp->b_blkno == -1) + bp->b_blkno = (ip->iso_start + bp->b_lblkno) << + (ip->i_mnt->im_bshift - DEV_BSHIFT); + if ((long)bp->b_blkno == -1) /* XXX: cut&paste junk ? */ clrbuf(bp); } - if ((long)bp->b_blkno == -1) { + if ((long)bp->b_blkno == -1) { /* XXX: cut&paste junk ? */ bufdone(bp); return (0); } diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c index f34ebd44634e..66db4a0d77f6 100644 --- a/sys/isofs/cd9660/cd9660_vnops.c +++ b/sys/isofs/cd9660/cd9660_vnops.c @@ -711,23 +711,17 @@ cd9660_strategy(ap) register struct buf *bp = ap->a_bp; register struct vnode *vp = bp->b_vp; register struct iso_node *ip; - int error; ip = VTOI(vp); if (vp->v_type == VBLK || vp->v_type == VCHR) panic("cd9660_strategy: spec"); if (bp->b_blkno == bp->b_lblkno) { - if ((error = - VOP_BMAP(vp, bp->b_lblkno, NULL, &bp->b_blkno, NULL, NULL))) { - bp->b_error = error; - bp->b_ioflags |= BIO_ERROR; - bufdone(bp); - return (error); - } - if ((long)bp->b_blkno == -1) + bp->b_blkno = (ip->iso_start + bp->b_lblkno) << + (ip->i_mnt->im_bshift - DEV_BSHIFT); + if ((long)bp->b_blkno == -1) /* XXX: cut&paste junk ? */ clrbuf(bp); } - if ((long)bp->b_blkno == -1) { + if ((long)bp->b_blkno == -1) { /* XXX: cut&paste junk ? */ bufdone(bp); return (0); } |
