diff options
| author | Alan Cox <alc@FreeBSD.org> | 2002-11-27 19:51:48 +0000 |
|---|---|---|
| committer | Alan Cox <alc@FreeBSD.org> | 2002-11-27 19:51:48 +0000 |
| commit | 85e0124324d1600a693c71f2d049a34bdaeeb0a4 (patch) | |
| tree | 7aa9ee08032581ea9b7080c4779449e2be026c0a /sys/vm | |
| parent | 655f43e75cd2966f30b1500d15db3a5105443e03 (diff) | |
Notes
Diffstat (limited to 'sys/vm')
| -rw-r--r-- | sys/vm/vnode_pager.c | 4 |
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; } |
