summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_contig.c
diff options
context:
space:
mode:
authortegge <tegge@FreeBSD.org>2006-03-08 00:51:00 +0000
committertegge <tegge@FreeBSD.org>2006-03-08 00:51:00 +0000
commit7d4fc1e0d475c302273e3401767bdee27f72041b (patch)
tree439dee61572c00c335c8f6916c480dd3d62f2816 /sys/vm/vm_contig.c
parente99490121bd9174c7e0ed2fc6f4932c4ca6b25ad (diff)
downloadFreeBSD-src-7d4fc1e0d475c302273e3401767bdee27f72041b.zip
FreeBSD-src-7d4fc1e0d475c302273e3401767bdee27f72041b.tar.gz
Ignore dirty pages owned by "dead" objects.
Diffstat (limited to 'sys/vm/vm_contig.c')
-rw-r--r--sys/vm/vm_contig.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/vm/vm_contig.c b/sys/vm/vm_contig.c
index c876885..d3dc623 100644
--- a/sys/vm/vm_contig.c
+++ b/sys/vm/vm_contig.c
@@ -105,6 +105,10 @@ vm_contig_launder_page(vm_page_t m)
if (m->dirty == 0 && m->hold_count == 0)
pmap_remove_all(m);
if (m->dirty) {
+ if ((object->flags & OBJ_DEAD) != 0) {
+ VM_OBJECT_UNLOCK(object);
+ return (EAGAIN);
+ }
if (object->type == OBJT_VNODE) {
vm_page_unlock_queues();
vp = object->handle;
OpenPOWER on IntegriCloud