summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjhb <jhb@FreeBSD.org>2009-01-21 14:43:35 +0000
committerjhb <jhb@FreeBSD.org>2009-01-21 14:43:35 +0000
commitdc43531891e4226acd560977e364ab94ea62c9e9 (patch)
tree3818311958ed0a9433e52edd6cf1480b9b3bd497
parent47455a7b41fddec8ed401d12470434bd77477189 (diff)
downloadFreeBSD-src-dc43531891e4226acd560977e364ab94ea62c9e9.zip
FreeBSD-src-dc43531891e4226acd560977e364ab94ea62c9e9.tar.gz
Now that vfs_markatime() no longer requires an exclusive lock due to
the VOP_MARKATIME() changes, use a shared vnode lock for mmap(). Submitted by: ups
-rw-r--r--sys/vm/vm_mmap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/vm/vm_mmap.c b/sys/vm/vm_mmap.c
index 3f1d43d..2d668c4 100644
--- a/sys/vm/vm_mmap.c
+++ b/sys/vm/vm_mmap.c
@@ -1160,7 +1160,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize,
mp = vp->v_mount;
cred = td->td_ucred;
vfslocked = VFS_LOCK_GIANT(mp);
- if ((error = vget(vp, LK_EXCLUSIVE, td)) != 0) {
+ if ((error = vget(vp, LK_SHARED, td)) != 0) {
VFS_UNLOCK_GIANT(vfslocked);
return (error);
}
@@ -1177,7 +1177,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize,
if (obj->handle != vp) {
vput(vp);
vp = (struct vnode*)obj->handle;
- vget(vp, LK_EXCLUSIVE, td);
+ vget(vp, LK_SHARED, td);
}
type = OBJT_VNODE;
handle = vp;
OpenPOWER on IntegriCloud