summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_pager.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1994-12-19 00:02:56 +0000
committerdg <dg@FreeBSD.org>1994-12-19 00:02:56 +0000
commit05d48b0c7e3a1b9e98cc98662ad97b6a01811ebd (patch)
tree84a986aad7ba87a6ac6e6f77021a17a2be545297 /sys/vm/vm_pager.c
parent81a63dc6d52646c455526dfdbb36b02edc05fae1 (diff)
downloadFreeBSD-src-05d48b0c7e3a1b9e98cc98662ad97b6a01811ebd.zip
FreeBSD-src-05d48b0c7e3a1b9e98cc98662ad97b6a01811ebd.tar.gz
Don't ever clear B_BUSY on a pbuf (or any other flag for that matter).
This appears to be the cause of some buffer confusion that leads to a panic during heavy paging. Submitted by: John Dyson
Diffstat (limited to 'sys/vm/vm_pager.c')
-rw-r--r--sys/vm/vm_pager.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/vm/vm_pager.c b/sys/vm/vm_pager.c
index caf1306..1ecb203 100644
--- a/sys/vm/vm_pager.c
+++ b/sys/vm/vm_pager.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_pager.c,v 1.7 1994/08/18 22:36:09 wollman Exp $
+ * $Id: vm_pager.c,v 1.8 1994/10/09 01:52:16 phk Exp $
*/
/*
@@ -412,6 +412,9 @@ relpbuf(bp)
if (bp->b_vp)
brelvp(bp);
+ if (bp->b_flags & B_WANTED)
+ wakeup((caddr_t)bp);
+
TAILQ_INSERT_HEAD(&bswlist, bp, b_freelist);
if (bswneeded) {
@@ -420,5 +423,3 @@ relpbuf(bp)
}
splx(s);
}
-
-
OpenPOWER on IntegriCloud