diff options
author | attilio <attilio@FreeBSD.org> | 2013-05-17 20:03:55 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2013-05-17 20:03:55 +0000 |
commit | bd997a13e8ccfe0b095528614ce2ca0271efbc9f (patch) | |
tree | f0f57c300352fea843c68c5ccd53a8fd0751d144 /sys/kern | |
parent | 155b65a40f1f92ffbc2385313f8d4abd1f8d57d3 (diff) | |
download | FreeBSD-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')
-rw-r--r-- | sys/kern/vfs_bio.c | 6 |
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); } |