diff options
author | alc <alc@FreeBSD.org> | 2002-11-23 03:58:35 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2002-11-23 03:58:35 +0000 |
commit | 2918fada1083f5c5bd633b163eca1df73c7a97da (patch) | |
tree | c12ae2b8fae4014a6ae8b2858c5ed8767422bcca /sys/vm | |
parent | f81917c123a60bfede2425b30bf3b6c9bc72a546 (diff) | |
download | FreeBSD-src-2918fada1083f5c5bd633b163eca1df73c7a97da.zip FreeBSD-src-2918fada1083f5c5bd633b163eca1df73c7a97da.tar.gz |
Add page queue and flag locking in vnode_pager_setsize().
Approved by: re
Diffstat (limited to 'sys/vm')
-rw-r--r-- | sys/vm/vnode_pager.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index b2afc37..af74d28 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -336,6 +336,7 @@ vnode_pager_setsize(vp, nsize) */ pmap_zero_page_area(m, base, size); + vm_page_lock_queues(); /* * XXX work around SMP data integrity race * by unmapping the page from user processes. @@ -366,6 +367,7 @@ vnode_pager_setsize(vp, nsize) vm_page_set_validclean(m, base, size); if (m->dirty != 0) m->dirty = VM_PAGE_BITS_ALL; + vm_page_unlock_queues(); } } } |