aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vnode_pager.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r--sys/vm/vnode_pager.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 16602d7b502e..08daacad821c 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -953,6 +953,7 @@ vnode_pager_putpages(object, m, count, sync, rtvals)
* Call device-specific putpages function
*/
vp = object->handle;
+ VM_OBJECT_UNLOCK(object);
if (vp->v_type != VREG)
mp = NULL;
(void)vn_start_write(vp, &mp, V_WAIT);
@@ -960,6 +961,7 @@ vnode_pager_putpages(object, m, count, sync, rtvals)
KASSERT(rtval != EOPNOTSUPP,
("vnode_pager: stale FS putpages\n"));
vn_finished_write(mp);
+ VM_OBJECT_LOCK(object);
}