diff options
author | alc <alc@FreeBSD.org> | 2003-08-23 18:11:53 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2003-08-23 18:11:53 +0000 |
commit | 5d6f66de90c5944b3c704c22790b24284fadb727 (patch) | |
tree | 084c9fdff8585e9dbaa7e37ded52003077afe6b7 /sys/kern/vfs_bio.c | |
parent | cea9a5fcc59afc95f24c82f7c01f28cec4662a70 (diff) | |
download | FreeBSD-src-5d6f66de90c5944b3c704c22790b24284fadb727.zip FreeBSD-src-5d6f66de90c5944b3c704c22790b24284fadb727.tar.gz |
Hold the page queues lock when performing vm_page_clear_dirty() and
vm_page_set_invalid().
Diffstat (limited to 'sys/kern/vfs_bio.c')
-rw-r--r-- | sys/kern/vfs_bio.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c index e85a2d3..663a504 100644 --- a/sys/kern/vfs_bio.c +++ b/sys/kern/vfs_bio.c @@ -1351,7 +1351,9 @@ brelse(struct buf * bp) (PAGE_SIZE - poffset) : resid; KASSERT(presid >= 0, ("brelse: extra page")); + vm_page_lock_queues(); vm_page_set_invalid(m, poffset, presid); + vm_page_unlock_queues(); if (had_bogus) printf("avoided corruption bug in bogus_page/brelse code\n"); } |