summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2002-11-23 03:58:35 +0000
committeralc <alc@FreeBSD.org>2002-11-23 03:58:35 +0000
commit2918fada1083f5c5bd633b163eca1df73c7a97da (patch)
treec12ae2b8fae4014a6ae8b2858c5ed8767422bcca /sys
parentf81917c123a60bfede2425b30bf3b6c9bc72a546 (diff)
downloadFreeBSD-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')
-rw-r--r--sys/vm/vnode_pager.c2
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();
}
}
}
OpenPOWER on IntegriCloud