From e4785f6af46f6a5f0dc78c7eeb246a7d300652bb Mon Sep 17 00:00:00 2001 From: kib Date: Mon, 20 Oct 2008 10:11:33 +0000 Subject: Assert that v_holdcnt is non-zero before entering lockmgr in vn_lock and ffs_lock. This cannot catch situations where holdcnt is incremented not by curthread, but I think it is useful. Reviewed by: tegge, attilio Tested by: pho MFC after: 2 weeks --- sys/ufs/ffs/ffs_vnops.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sys/ufs/ffs') diff --git a/sys/ufs/ffs/ffs_vnops.c b/sys/ufs/ffs/ffs_vnops.c index 7b1af28..38dc2b6 100644 --- a/sys/ufs/ffs/ffs_vnops.c +++ b/sys/ufs/ffs/ffs_vnops.c @@ -361,6 +361,10 @@ ffs_lock(ap) vp = ap->a_vp; flags = ap->a_flags; for (;;) { +#ifdef DEBUG_VFS_LOCKS + KASSERT(vp->v_holdcnt != 0, + ("ffs_lock %p: zero hold count", vp)); +#endif lkp = vp->v_vnlock; result = _lockmgr_args(lkp, flags, VI_MTX(vp), LK_WMESG_DEFAULT, LK_PRIO_DEFAULT, LK_TIMO_DEFAULT, -- cgit v1.1