Page MenuHomeFreeBSD

D39263.id119427.diff
No OneTemporary

D39263.id119427.diff

diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -640,6 +640,13 @@
return (err);
}
+static void
+vnode_pager_input_bdone(struct buf *bp)
+{
+ runningbufwakeup(bp);
+ bdone(bp);
+}
+
/*
* small block filesystem vnode pager input
*/
@@ -686,7 +693,7 @@
/* build a minimal buffer header */
bp->b_iocmd = BIO_READ;
- bp->b_iodone = bdone;
+ bp->b_iodone = vnode_pager_input_bdone;
KASSERT(bp->b_rcred == NOCRED, ("leaking read ucred"));
KASSERT(bp->b_wcred == NOCRED, ("leaking write ucred"));
bp->b_rcred = crhold(curthread->td_ucred);
@@ -1204,6 +1211,8 @@
error = (bp->b_ioflags & BIO_ERROR) != 0 ? bp->b_error : 0;
object = bp->b_vp->v_object;
+ runningbufwakeup(bp);
+
if (error == 0 && bp->b_bcount != bp->b_npages * PAGE_SIZE) {
if (!buf_mapped(bp)) {
bp->b_data = bp->b_kvabase;

File Metadata

Mime Type
text/plain
Expires
Mon, Jun 22, 12:36 AM (11 m, 3 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
34169566
Default Alt Text
D39263.id119427.diff (900 B)

Event Timeline