summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sys/dev/matcd/matcd.c21
-rw-r--r--sys/dev/mcd/mcd.c16
-rw-r--r--sys/dev/scd/scd.c15
3 files changed, 12 insertions, 40 deletions
diff --git a/sys/dev/matcd/matcd.c b/sys/dev/matcd/matcd.c
index 9287dc2..bc57012 100644
--- a/sys/dev/matcd/matcd.c
+++ b/sys/dev/matcd/matcd.c
@@ -1779,8 +1779,8 @@ static void matcdstrategy(struct bio *bp)
cd= &matcd_data[ldrive];
#ifdef DEBUGIO
- printf("matcd%d: Strategy: buf=0x%lx, block#=%lx bcount=%ld\n",
- ldrive,(unsigned long)bp,(unsigned long)bp->bio_blkno,
+ printf("matcd%d: Strategy: buf=0x%lx, offset#=%jx bcount=%ld\n",
+ ldrive,(unsigned long)bp,(intmax_t)bp->bio_offset,
bp->bio_bcount);
@@ -1789,7 +1789,7 @@ static void matcdstrategy(struct bio *bp)
#endif /*DEBUGIO*/
- if (ldrive >= TOTALDRIVES || bp->bio_blkno < 0) {
+ if (ldrive >= TOTALDRIVES || bp->bio_offset < 0) {
printf("matcd%d: Bogus parameters received - kernel may be corrupted\n",ldrive);
bp->bio_error=EINVAL;
goto bad;
@@ -1816,7 +1816,6 @@ static void matcdstrategy(struct bio *bp)
}
}
#endif /*NOTEDIT42*/
- bp->bio_pblkno=bp->bio_blkno;
bp->bio_resid=0;
s=splbio(); /*Make sure we don't get intr'ed*/
@@ -2344,11 +2343,11 @@ loop:
mbx->skip=0;
nextblock:
#ifdef DEBUGIO
- printf("matcd%d: at Nextblock b_blkno %d\n",
- ldrive,(unsigned int)bp->bio_blkno);
+ printf("matcd%d: at Nextblock b_offset %jd\n",
+ ldrive,(intmax_t)bp->bio_offset);
#endif /*DEBUGIO*/
- blknum=(bp->bio_blkno/(mbx->sz/DEV_BSIZE))+
+ blknum=bp->bio_offset/mbx->sz+
mbx->p_offset+mbx->skip/mbx->sz;
blk_to_msf(blknum,rbuf.start_msf);
@@ -2431,8 +2430,8 @@ nextblock:
#endif /*DEBUGIO*/
if (status & MATCD_ST_ERROR) {
i=get_error(port,ldrive,cdrive);
- printf("matcd%d: %s while reading block %d [Soft]\n",
- ldrive,matcderrors[i],(int)bp->bio_blkno);
+ printf("matcd%d: %s while reading offset %jd [Soft]\n",
+ ldrive,matcderrors[i],(intmax_t)bp->bio_offset);
media_chk(cd,i,ldrive,0);/*<14>was wrong place*/
}
@@ -2463,8 +2462,8 @@ nextblock:
*/
errtyp=get_error(port,ldrive,cdrive);
- printf("matcd%d: %s while reading block %d\n",
- ldrive,matcderrors[errtyp],(int)bp->bio_blkno);
+ printf("matcd%d: %s while reading offset %jd\n",
+ ldrive,matcderrors[errtyp],(intmax_t)bp->bio_offset);
if (media_chk(cd,errtyp,ldrive,0)==0) {
errtyp=chk_error(errtyp);
diff --git a/sys/dev/mcd/mcd.c b/sys/dev/mcd/mcd.c
index 0a965de..21c160e 100644
--- a/sys/dev/mcd/mcd.c
+++ b/sys/dev/mcd/mcd.c
@@ -297,18 +297,6 @@ mcdstrategy(struct bio *bp)
sc = (struct mcd_softc *)bp->bio_dev->si_drv1;
- /* test validity */
-/*MCD_TRACE("strategy: buf=0x%lx, unit=%ld, block#=%ld bcount=%ld\n",
- bp,unit,bp->bio_blkno,bp->bio_bcount);*/
-
- if (bp->bio_blkno < 0) {
- device_printf(sc->dev, "strategy failure: blkno = %ld, bcount = %ld\n",
- (long)bp->bio_blkno, bp->bio_bcount);
- bp->bio_error = EINVAL;
- bp->bio_flags |= BIO_ERROR;
- goto bad;
- }
-
/* if device invalidated (e.g. media change, door open), error */
if (!(sc->data.flags & MCDVALID)) {
device_printf(sc->dev, "media changed\n");
@@ -331,7 +319,6 @@ mcdstrategy(struct bio *bp)
goto bad;
}
- bp->bio_pblkno = bp->bio_blkno;
bp->bio_resid = 0;
/* queue it */
@@ -892,8 +879,7 @@ modedone:
mbx->skip = 0;
nextblock:
- blknum = (bp->bio_blkno / (mbx->sz/DEV_BSIZE))
- + mbx->skip/mbx->sz;
+ blknum = bp->bio_offset / mbx->sz + mbx->skip/mbx->sz;
MCD_TRACE("mcd_doread: read blknum=%d for bp=%p\n",
blknum, bp);
diff --git a/sys/dev/scd/scd.c b/sys/dev/scd/scd.c
index 71244f2..89850b3 100644
--- a/sys/dev/scd/scd.c
+++ b/sys/dev/scd/scd.c
@@ -255,17 +255,6 @@ scdstrategy(struct bio *bp)
sc = (struct scd_softc *)bp->bio_dev->si_drv1;
- XDEBUG(sc, 2, "DEBUG: strategy: block=%ld, bcount=%ld\n",
- (long)bp->bio_blkno, bp->bio_bcount);
-
- if (bp->bio_blkno < 0 || (bp->bio_bcount % SCDBLKSIZE)) {
- device_printf(sc->dev, "strategy failure: blkno = %ld, bcount = %ld\n",
- (long)bp->bio_blkno, bp->bio_bcount);
- bp->bio_error = EINVAL;
- bp->bio_flags |= BIO_ERROR;
- goto bad;
- }
-
/* if device invalidated (e.g. media change, door open), error */
if (!(sc->data.flags & SCDVALID)) {
device_printf(sc->dev, "media changed\n");
@@ -288,7 +277,6 @@ scdstrategy(struct bio *bp)
goto bad;
}
- bp->bio_pblkno = bp->bio_blkno;
bp->bio_resid = 0;
/* queue it */
@@ -749,8 +737,7 @@ nextblock:
if (!(sc->data.flags & SCDVALID))
goto changed;
- blknum = (bp->bio_blkno / (mbx->sz/DEV_BSIZE))
- + mbx->skip/mbx->sz;
+ blknum = bp->bio_offset / mbx->sz + mbx->skip/mbx->sz;
XDEBUG(sc, 2, "scd_doread: read blknum=%d\n", blknum);
OpenPOWER on IntegriCloud