diff options
author | Rick Macklem <rmacklem@FreeBSD.org> | 2013-04-16 14:22:16 +0000 |
---|---|---|
committer | Rick Macklem <rmacklem@FreeBSD.org> | 2013-04-16 14:22:16 +0000 |
commit | 64fa8df6e047006958c09808da6f341fc95e4ea0 (patch) | |
tree | ad72dba4198d7f6b8a52a8a510da04bcec6c7b04 /sys/kern/vfs_subr.c | |
parent | fe3fcf7b3ae8a008570828ae7d660d4118ed828e (diff) | |
download | src-64fa8df6e047006958c09808da6f341fc95e4ea0.tar.gz src-64fa8df6e047006958c09808da6f341fc95e4ea0.zip |
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
Notes
Notes:
svn path=/head/; revision=249548
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index a303fe6c3308..9a27ae7d0a23 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 } |