svn commit: r243499 - head/sys/kern
Andriy Gapon
avg at FreeBSD.org
Sat Nov 24 13:11:48 UTC 2012
Author: avg
Date: Sat Nov 24 13:11:47 2012
New Revision: 243499
URL: http://svnweb.freebsd.org/changeset/base/243499
Log:
assert_vop_locked: make the assertion race-free and more efficient
this is really a minor improvement for the sake of correctness
MFC after: 6 days
Modified:
head/sys/kern/vfs_subr.c
Modified: head/sys/kern/vfs_subr.c
==============================================================================
--- head/sys/kern/vfs_subr.c Sat Nov 24 13:10:36 2012 (r243498)
+++ head/sys/kern/vfs_subr.c Sat Nov 24 13:11:47 2012 (r243499)
@@ -3979,10 +3979,13 @@ assert_vi_unlocked(struct vnode *vp, con
void
assert_vop_locked(struct vnode *vp, const char *str)
{
+ int locked;
- if (!IGNORE_LOCK(vp) &&
- (VOP_ISLOCKED(vp) == 0 || VOP_ISLOCKED(vp) == LK_EXCLOTHER))
- vfs_badlock("is not locked but should be", str, vp);
+ if (!IGNORE_LOCK(vp)) {
+ locked = VOP_ISLOCKED(vp);
+ if (locked == 0 || locked == LK_EXCLOTHER)
+ vfs_badlock("is not locked but should be", str, vp);
+ }
}
void
More information about the svn-src-head
mailing list