From 27e9cc38ef1de815cbe55151fa7377ce4daab90d Mon Sep 17 00:00:00 2001 From: Brian Behlendorf Date: Thu, 30 Oct 2014 11:11:00 -0700 Subject: [PATCH] Change VERIFY to ASSERT in mutex_destroy() There have been multiple reports of 'zdb' tripping the VERIFY in mutex_destroy() because pthread_mutex_destroy() returns EBUSY. Exactly how this can happen still needs to be explained, but this doesn't strictly need to be fatal for non-debug builds. Therefore, this patch converts the VERIFY to an ASSERT until the root cause is determined and resolved. Signed-off-by: Brian Behlendorf Issue #2027 --- lib/libzpool/kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index fb1c53cc73f..079f311de78 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -289,7 +289,7 @@ mutex_destroy(kmutex_t *mp) { ASSERT3U(mp->m_magic, ==, MTX_MAGIC); ASSERT3P(mp->m_owner, ==, MTX_INIT); - VERIFY3S(pthread_mutex_destroy(&(mp)->m_lock), ==, 0); + ASSERT0(pthread_mutex_destroy(&(mp)->m_lock)); mp->m_owner = MTX_DEST; mp->m_magic = 0; }