Allow the vnode to be unlocked for the weird case of

LK_EXCLOTHER. LK_EXCLOTHER is only used to acquire a
usecount on a vnode during NFSv4 recovery from an
expired lease.

Reported and tested by:	pho
MFC after:	2 weeks
This commit is contained in:
Rick Macklem 2013-04-16 14:22:16 +00:00
parent fe3fcf7b3a
commit 64fa8df6e0

View File

@ -4123,7 +4123,7 @@ vop_lock_post(void *ap, int rc)
struct vop_lock1_args *a = ap;
ASSERT_VI_UNLOCKED(a->a_vp, "VOP_LOCK");
if (rc == 0)
if (rc == 0 && (a->a_flags & LK_EXCLOTHER) == 0)
ASSERT_VOP_LOCKED(a->a_vp, "VOP_LOCK");
#endif
}