summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_bio.c
diff options
context:
space:
mode:
authorattilio <attilio@FreeBSD.org>2013-05-17 20:03:55 +0000
committerattilio <attilio@FreeBSD.org>2013-05-17 20:03:55 +0000
commitbd997a13e8ccfe0b095528614ce2ca0271efbc9f (patch)
treef0f57c300352fea843c68c5ccd53a8fd0751d144 /sys/kern/vfs_bio.c
parent155b65a40f1f92ffbc2385313f8d4abd1f8d57d3 (diff)
downloadFreeBSD-src-bd997a13e8ccfe0b095528614ce2ca0271efbc9f.zip
FreeBSD-src-bd997a13e8ccfe0b095528614ce2ca0271efbc9f.tar.gz
Use readlocking now that assertions on vm_page_lookup() are relaxed.
Sponsored by: EMC / Isilon storage division Reviewed by: alc Tested by: flo, pho
Diffstat (limited to 'sys/kern/vfs_bio.c')
-rw-r--r--sys/kern/vfs_bio.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index db7d681..5c5bde4 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -2772,7 +2772,7 @@ inmem(struct vnode * vp, daddr_t blkno)
size = vp->v_mount->mnt_stat.f_iosize;
off = (vm_ooffset_t)blkno * (vm_ooffset_t)vp->v_mount->mnt_stat.f_iosize;
- VM_OBJECT_WLOCK(obj);
+ VM_OBJECT_RLOCK(obj);
for (toff = 0; toff < vp->v_mount->mnt_stat.f_iosize; toff += tinc) {
m = vm_page_lookup(obj, OFF_TO_IDX(off + toff));
if (!m)
@@ -2784,11 +2784,11 @@ inmem(struct vnode * vp, daddr_t blkno)
(vm_offset_t) ((toff + off) & PAGE_MASK), tinc) == 0)
goto notinmem;
}
- VM_OBJECT_WUNLOCK(obj);
+ VM_OBJECT_RUNLOCK(obj);
return 1;
notinmem:
- VM_OBJECT_WUNLOCK(obj);
+ VM_OBJECT_RUNLOCK(obj);
return (0);
}
OpenPOWER on IntegriCloud