summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-10-18 19:48:21 +0000
committerphk <phk@FreeBSD.org>2003-10-18 19:48:21 +0000
commit4b7ade98cde1002049c48964c16ea1959e55949b (patch)
tree9a9f081f937fb824771bb63e980417e28e95cd8c
parent2d32752eb93a64a99f543cb647b7401ea18d5e7b (diff)
downloadFreeBSD-src-4b7ade98cde1002049c48964c16ea1959e55949b.zip
FreeBSD-src-4b7ade98cde1002049c48964c16ea1959e55949b.tar.gz
Initialize b_iooffset before calling strategy
-rw-r--r--sys/fs/specfs/spec_vnops.c1
-rw-r--r--sys/kern/kern_physio.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/sys/fs/specfs/spec_vnops.c b/sys/fs/specfs/spec_vnops.c
index bde0786..ea15dff 100644
--- a/sys/fs/specfs/spec_vnops.c
+++ b/sys/fs/specfs/spec_vnops.c
@@ -734,6 +734,7 @@ spec_getpages(ap)
KASSERT(bp->b_wcred == NOCRED, ("leaking write ucred"));
bp->b_rcred = crhold(curthread->td_ucred);
bp->b_wcred = crhold(curthread->td_ucred);
+ bp->b_iooffset = offset;
bp->b_blkno = blkno;
bp->b_lblkno = blkno;
pbgetvp(ap->a_vp, bp);
diff --git a/sys/kern/kern_physio.c b/sys/kern/kern_physio.c
index 20789d57f..6d93816 100644
--- a/sys/kern/kern_physio.c
+++ b/sys/kern/kern_physio.c
@@ -69,6 +69,7 @@ physio(dev_t dev, struct uio *uio, int ioflag)
bp->b_data = uio->uio_iov[i].iov_base;
bp->b_bcount = uio->uio_iov[i].iov_len;
bp->b_offset = uio->uio_offset;
+ bp->b_iooffset = uio->uio_offset;
bp->b_saveaddr = sa;
/* Don't exceed drivers iosize limit */
OpenPOWER on IntegriCloud