svn commit: r210044 -
head/cddl/contrib/opensolaris/lib/libzpool/common
Pawel Jakub Dawidek
pjd at FreeBSD.org
Wed Jul 14 06:37:43 UTC 2010
Author: pjd
Date: Wed Jul 14 06:37:43 2010
New Revision: 210044
URL: http://svn.freebsd.org/changeset/base/210044
Log:
MFp4 180933:
Initialize rw_count properly so that zdb(8) doesn't trigger assertion in
rw_enter():
ASSERT(rwlp->rw_count == 0);
While here, assert that rw_count is 0 when destroying the lock.
MFC after: 1 week
Modified:
head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
Modified: head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
==============================================================================
--- head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Wed Jul 14 01:55:24 2010 (r210043)
+++ head/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c Wed Jul 14 06:37:43 2010 (r210044)
@@ -174,11 +174,13 @@ rw_init(krwlock_t *rwlp, char *name, int
rwlock_init(&rwlp->rw_lock, USYNC_THREAD, NULL);
rwlp->rw_owner = NULL;
rwlp->initialized = B_TRUE;
+ rwlp->rw_count = 0;
}
void
rw_destroy(krwlock_t *rwlp)
{
+ ASSERT(rwlp->rw_count == 0);
rwlock_destroy(&rwlp->rw_lock);
rwlp->rw_owner = (void *)-1UL;
rwlp->initialized = B_FALSE;
More information about the svn-src-head
mailing list