diff options
Diffstat (limited to 'sys/kern/vfs_cluster.c')
-rw-r--r-- | sys/kern/vfs_cluster.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/kern/vfs_cluster.c b/sys/kern/vfs_cluster.c index 663b66f..0f22be9 100644 --- a/sys/kern/vfs_cluster.c +++ b/sys/kern/vfs_cluster.c @@ -46,6 +46,7 @@ __FBSDID("$FreeBSD$"); #include <sys/malloc.h> #include <sys/mount.h> #include <sys/resourcevar.h> +#include <sys/rwlock.h> #include <sys/vmmeter.h> #include <vm/vm.h> #include <vm/vm_object.h> @@ -413,7 +414,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) if (toff + tinc > PAGE_SIZE) tinc = PAGE_SIZE - toff; VM_OBJECT_LOCK_ASSERT(tbp->b_pages[j]->object, - MA_OWNED); + RA_WLOCKED); if ((tbp->b_pages[j]->valid & vm_page_bits(toff, tinc)) != 0) break; @@ -489,7 +490,7 @@ cluster_rbuild(vp, filesize, lbn, blkno, size, run, fbp) */ VM_OBJECT_LOCK(bp->b_bufobj->bo_object); for (j = 0; j < bp->b_npages; j++) { - VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, MA_OWNED); + VM_OBJECT_LOCK_ASSERT(bp->b_pages[j]->object, RA_WLOCKED); if (bp->b_pages[j]->valid == VM_PAGE_BITS_ALL) bp->b_pages[j] = bogus_page; } |