summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-05-24 05:21:58 +0000
committerdyson <dyson@FreeBSD.org>1996-05-24 05:21:58 +0000
commitb487d785426d6ce362110cde389db8d37b6504c4 (patch)
tree17d348b6dfd88725524c86caa0b87550a666a034 /sys/kern
parenta7dfed03c3addd66d55325629614e8fb46e53a5e (diff)
downloadFreeBSD-src-b487d785426d6ce362110cde389db8d37b6504c4.zip
FreeBSD-src-b487d785426d6ce362110cde389db8d37b6504c4.tar.gz
Make sure that we don't place a busy or held page onto the PQ_CACHE queue.
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_bio.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index cb76f05..1905cee 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -18,7 +18,7 @@
* 5. Modifications may be freely made to this file if the above conditions
* are met.
*
- * $Id: vfs_bio.c,v 1.89 1996/05/03 21:01:26 phk Exp $
+ * $Id: vfs_bio.c,v 1.90 1996/05/18 03:37:06 dyson Exp $
*/
/*
@@ -618,7 +618,10 @@ vfs_vmio_release(bp)
*/
if ((vm_swap_size == 0) ||
(cnt.v_free_count < cnt.v_free_min)) {
- if (m->dirty == 0)
+ if ((m->dirty == 0) &&
+ (m->hold_count == 0) &&
+ (m->flags & PG_BUSY) == 0 &&
+ (m->busy == 0))
vm_page_cache(m);
else
vm_page_deactivate(m);
OpenPOWER on IntegriCloud