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