diff options
author | dyson <dyson@FreeBSD.org> | 1996-05-24 05:21:58 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-05-24 05:21:58 +0000 |
commit | b487d785426d6ce362110cde389db8d37b6504c4 (patch) | |
tree | 17d348b6dfd88725524c86caa0b87550a666a034 /sys/kern | |
parent | a7dfed03c3addd66d55325629614e8fb46e53a5e (diff) | |
download | FreeBSD-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.c | 7 |
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); |