Lock access to the vm_object's flags in vop_stdcreatevobject().

This commit is contained in:
Alan Cox 2003-05-02 19:33:21 +00:00
parent 607f853af2
commit 12352fdcaa
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=114546

View File

@ -610,12 +610,15 @@ vop_stdcreatevobject(ap)
VM_OBJECT_UNLOCK(object);
vrele(vp);
} else {
VM_OBJECT_LOCK(object);
if (object->flags & OBJ_DEAD) {
VOP_UNLOCK(vp, 0, td);
tsleep(object, PVM, "vodead", 0);
msleep(object, VM_OBJECT_MTX(object), PDROP | PVM,
"vodead", 0);
vn_lock(vp, LK_EXCLUSIVE | LK_RETRY, td);
goto retry;
}
VM_OBJECT_UNLOCK(object);
}
KASSERT(vp->v_object != NULL, ("vfs_object_create: NULL object"));