Lines Matching full:vp1
1354 * Assume that the thread A reads from the vnode vp1 into userspace
1357 * vn_read() -> VOP_READ(vp1) -> uiomove() -> [Page Fault] ->
1359 * which establishes lock order vp1->vn_lock, then vp2->vn_lock.
1361 * backed by the pages of vnode vp1, and some page in buf2 is not
1362 * resident, we get a reversed order vp2->vn_lock, then vp1->vn_lock.
4274 * Lock pair of (possibly same) vnodes vp1, vp2, avoiding lock order
4275 * reversal. vp1_locked indicates whether vp1 is locked; if not, vp1
4289 * If vp1 == vp2, only one, most exclusive, lock is obtained on it.
4292 vn_lock_pair(struct vnode *vp1, bool vp1_locked, int lkflags1, in vn_lock_pair() argument
4298 (vp1 == NULL && lkflags1 == 0)); in vn_lock_pair()
4304 if (vp1 == NULL && vp2 == NULL) in vn_lock_pair()
4307 if (vp1 == vp2) { in vn_lock_pair()
4315 ASSERT_VOP_LOCKED(vp1, "vp1"); in vn_lock_pair()
4318 if ((vp1->v_vnlock->lock_object.lo_flags & in vn_lock_pair()
4322 locked1 = VOP_ISLOCKED(vp1); in vn_lock_pair()
4328 VOP_UNLOCK(vp1); in vn_lock_pair()
4331 ASSERT_VOP_UNLOCKED(vp1, "vp1"); in vn_lock_pair()
4332 vn_lock(vp1, lkflags1 | LK_RETRY); in vn_lock_pair()
4336 if (vp1 != NULL) { in vn_lock_pair()
4338 (vp1->v_vnlock->lock_object.lo_flags & LK_NOSHARE) != 0) in vn_lock_pair()
4340 if (vp1_locked && VOP_ISLOCKED(vp1) != LK_EXCLUSIVE) { in vn_lock_pair()
4341 ASSERT_VOP_LOCKED(vp1, "vp1"); in vn_lock_pair()
4343 VOP_UNLOCK(vp1); in vn_lock_pair()
4344 ASSERT_VOP_UNLOCKED(vp1, in vn_lock_pair()
4345 "vp1 shared recursed"); in vn_lock_pair()
4349 ASSERT_VOP_UNLOCKED(vp1, "vp1"); in vn_lock_pair()
4373 vn_lock(vp1, lkflags1 | LK_RETRY); in vn_lock_pair()
4379 if (vp1 != NULL) { in vn_lock_pair()
4384 VOP_UNLOCK(vp1); in vn_lock_pair()
4391 if (vp2_locked && vp1 != NULL) { in vn_lock_pair()
4393 error = VOP_LOCK1(vp1, lkflags1 | LK_NOWAIT, in vn_lock_pair()
4401 vn_lock(vp1, lkflags1 | LK_RETRY); in vn_lock_pair()
4405 if (vp1 != NULL) { in vn_lock_pair()
4407 ASSERT_VOP_ELOCKED(vp1, "vp1 ret"); in vn_lock_pair()
4409 ASSERT_VOP_LOCKED(vp1, "vp1 ret"); in vn_lock_pair()