summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>1998-08-19 10:50:32 +0000
committersos <sos@FreeBSD.org>1998-08-19 10:50:32 +0000
commit6cdbc9992f156cba3b8211ff528835c3f7fab64b (patch)
treeec2fac9dfc4dcfffa22ea5a12b312d27e4f179ed /sys/dev
parent606742b0b5fbc540ce1e7a03aa4ac9150d31dcf5 (diff)
downloadFreeBSD-src-6cdbc9992f156cba3b8211ff528835c3f7fab64b.zip
FreeBSD-src-6cdbc9992f156cba3b8211ff528835c3f7fab64b.tar.gz
Make struct buf->b_offset reflect the real byte offset which got
in via the uio struct. This enables device drivers to use != DEV_BSIZE blocking on devices with wierd sector/block sizes (ie CDROM's).
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ccd/ccd.c3
-rw-r--r--sys/dev/vn/vn.c4
2 files changed, 5 insertions, 2 deletions
diff --git a/sys/dev/ccd/ccd.c b/sys/dev/ccd/ccd.c
index 28f9127..9e9e399 100644
--- a/sys/dev/ccd/ccd.c
+++ b/sys/dev/ccd/ccd.c
@@ -1,4 +1,4 @@
-/* $Id: ccd.c,v 1.34 1998/07/04 20:45:29 julian Exp $ */
+/* $Id: ccd.c,v 1.35 1998/07/04 22:30:13 julian Exp $ */
/* $NetBSD: ccd.c,v 1.22 1995/12/08 19:13:26 thorpej Exp $ */
@@ -905,6 +905,7 @@ ccdbuffer(cb, cs, bp, bn, addr, bcount)
cbp->cb_buf.b_proc = bp->b_proc;
cbp->cb_buf.b_dev = ci->ci_dev; /* XXX */
cbp->cb_buf.b_blkno = cbn + cboff + CCD_OFFSET;
+ cbp->cb_buf.b_offset = dbtob(cbn + cboff + CCD_OFFSET);
cbp->cb_buf.b_data = addr;
cbp->cb_buf.b_vp = ci->ci_vp;
LIST_INIT(&cbp->cb_buf.b_dep);
diff --git a/sys/dev/vn/vn.c b/sys/dev/vn/vn.c
index b4b278a..dcb493a 100644
--- a/sys/dev/vn/vn.c
+++ b/sys/dev/vn/vn.c
@@ -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.66 1998/07/13 08:22:58 julian Exp $
+ * $Id: vn.c,v 1.67 1998/07/30 15:16:04 bde Exp $
*/
/*
@@ -408,6 +408,7 @@ vnstrategy(struct buf *bp)
nbp->b_dev = NODEV;
nbp->b_data = addr;
nbp->b_blkno = nbn + btodb(off);
+ nbp->b_offset = dbtob(nbn) + off;
nbp->b_proc = bp->b_proc;
nbp->b_iodone = vniodone;
nbp->b_vp = vp;
@@ -582,6 +583,7 @@ nvsIOreq(void *private ,struct buf *bp)
nbp->b_dev = NODEV;
nbp->b_data = addr;
nbp->b_blkno = nbn + btodb(off);
+ nbp->b_offset = dbtob(nbn) + off;
nbp->b_proc = bp->b_proc;
nbp->b_iodone = vniodone;
nbp->b_vp = vp;
OpenPOWER on IntegriCloud