Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 14 Jul 2010 06:37:43 +0000 (UTC)
From:      Pawel Jakub Dawidek <pjd@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r210044 - head/cddl/contrib/opensolaris/lib/libzpool/common
Message-ID:  <201007140637.o6E6bht4082430@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007140637.o6E6bht4082430>