aboutsummaryrefslogtreecommitdiff
path: root/sys/vm/vnode_pager.c
diff options
context:
space:
mode:
authorJeff Roberson <jeff@FreeBSD.org>2005-05-03 11:11:26 +0000
committerJeff Roberson <jeff@FreeBSD.org>2005-05-03 11:11:26 +0000
commited4fe4f4f5dd2ae7ef62e004a3e1bdd071b8fee6 (patch)
treee7c405360a92533611914356fd2cfc62c504f4e1 /sys/vm/vnode_pager.c
parentd65736a1c018116db293dfb6f5e1a53271f29e9d (diff)
Notes
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r--sys/vm/vnode_pager.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index 2ad9d15cbb4a..733eea45d4f5 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -231,6 +231,8 @@ vnode_pager_alloc(void *handle, vm_ooffset_t size, vm_prot_t prot,
object->un_pager.vnp.vnp_size = size;
object->handle = handle;
+ if (VFS_NEEDSGIANT(vp->v_mount))
+ vm_object_set_flag(object, OBJ_NEEDGIANT);
vp->v_object = object;
} else {
object->ref_count++;
@@ -1188,6 +1190,7 @@ vnode_pager_lock(vm_object_t first_object)
VM_OBJECT_UNLOCK(object);
if (first_object != object)
VM_OBJECT_UNLOCK(first_object);
+ VFS_ASSERT_GIANT(vp->v_mount);
if (vget(vp, LK_CANRECURSE | LK_INTERLOCK |
LK_RETRY | LK_SHARED, curthread)) {
VM_OBJECT_LOCK(first_object);