summaryrefslogtreecommitdiffstats
path: root/sys/kern/vfs_subr.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2013-04-16 14:22:16 +0000
committerrmacklem <rmacklem@FreeBSD.org>2013-04-16 14:22:16 +0000
commit90b89365fd2130fd73f9b1e2c3af63c35ce2a3d1 (patch)
treead72dba4198d7f6b8a52a8a510da04bcec6c7b04 /sys/kern/vfs_subr.c
parenta87381e5204c834c80ba1a56f5a6cc1fda18ad95 (diff)
downloadFreeBSD-src-90b89365fd2130fd73f9b1e2c3af63c35ce2a3d1.zip
FreeBSD-src-90b89365fd2130fd73f9b1e2c3af63c35ce2a3d1.tar.gz
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
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r--sys/kern/vfs_subr.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index a303fe6..9a27ae7 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -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
}
OpenPOWER on IntegriCloud