aboutsummaryrefslogtreecommitdiff
path: root/sys/vm
diff options
context:
space:
mode:
authorAlan Cox <alc@FreeBSD.org>2002-11-27 19:51:48 +0000
committerAlan Cox <alc@FreeBSD.org>2002-11-27 19:51:48 +0000
commit85e0124324d1600a693c71f2d049a34bdaeeb0a4 (patch)
tree7aa9ee08032581ea9b7080c4779449e2be026c0a /sys/vm
parent655f43e75cd2966f30b1500d15db3a5105443e03 (diff)
Notes
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vnode_pager.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index f5d2f0e75345..3a8d8bdbee25 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -521,8 +521,10 @@ vnode_pager_input_smlfs(object, m)
}
}
vm_pager_unmap_page(kva);
+ vm_page_lock_queues();
pmap_clear_modify(m);
vm_page_flag_clear(m, PG_ZERO);
+ vm_page_unlock_queues();
if (error) {
return VM_PAGER_ERROR;
}
@@ -587,11 +589,13 @@ vnode_pager_input_old(object, m)
}
vm_pager_unmap_page(kva);
}
+ vm_page_lock_queues();
pmap_clear_modify(m);
vm_page_undirty(m);
vm_page_flag_clear(m, PG_ZERO);
if (!error)
m->valid = VM_PAGE_BITS_ALL;
+ vm_page_unlock_queues();
return error ? VM_PAGER_ERROR : VM_PAGER_OK;
}