I had the same problem on -current. Try attached patch. It may not
apply cleanly on -stable, but should be easy enough to make equivalent
changes on -stable.

--Artem



On Wed, May 27, 2009 at 3:00 AM, Henri Hennebert <h...@restart.be> wrote:
> Kip Macy wrote:
>>
>> On Wed, May 20, 2009 at 2:59 PM, Kip Macy <km...@freebsd.org> wrote:
>>>
>>> I will be MFC'ing the newer ZFS support some time this afternoon. Both
>>> world and kernel will need to be re-built. Existing pools will
>>> continue to work without upgrade.
>>>
>>>
>>> If you choose to upgrade a pool to take advantage of new features you
>>> will no longer be able to use it with sources prior to today. 'zfs
>>> send/recv' is not expected to inter-operate between different pool
>>> versions.
>>
>>
>> The MFC went in r192498. Please let me know if you have any problems.
>
> No a real problem but maybe worth mentioning:
>
> on FreeBSD morzine.restart.bel 7.2-STABLE FreeBSD 7.2-STABLE #0: Tue May 26
> 15:37:48 CEST 2009 r...@morzine.restart.bel:/usr/obj/usr/src/sys/MORZINE
>  i386
>
> [r...@morzine ~]# zdb rpool
>    version=13
>    name='rpool'
>    state=0
>    txg=959
>    pool_guid=17669857244588609348
>    hostid=2315842372
>    hostname='unset'
>    vdev_tree
>        type='root'
>        id=0
>        guid=17669857244588609348
>        children[0]
>                type='mirror'
>                id=0
>                guid=3225603179255348056
>                metaslab_array=23
>                metaslab_shift=28
>                ashift=9
>                asize=51534888960
>                is_log=0
>                children[0]
>                        type='disk'
>                        id=0
>                        guid=17573085726489368265
>                        path='/dev/da0p2'
>                        whole_disk=0
>                children[1]
>                        type='disk'
>                        id=1
>                        guid=2736169600077218893
>                        path='/dev/da1p2'
>                        whole_disk=0
> Assertion failed: (?Ąuč? ėŪ¨´&), function mp->m_owner == NULL, file
> /usr/src/cddl/lib/libzpool/../../../cddl/contrib/opensolaris/lib/libzpool/common/kernel.c,
> line 112.
> Abort trap: 6
>
>
> and on FreeBSD avoriaz.restart.bel 7.2-STABLE FreeBSD 7.2-STABLE #0: Mon May
> 25 12:06:07 CEST 2009 r...@avoriaz.restart.bel:/usr/obj/usr/src/sys/AVORIAZ
>  amd64
>
> [r...@avoriaz ~]# zdb rpool
>    version=13
>    name='rpool'
>    state=0
>    txg=3467
>    pool_guid=536117255064806899
>    hostid=1133576597
>    hostname='unset'
>    vdev_tree
>        type='root'
>        id=0
>        guid=536117255064806899
>        children[0]
>                type='mirror'
>                id=0
>                guid=3124217685892976292
>                metaslab_array=23
>                metaslab_shift=30
>                ashift=9
>                asize=155741847552
>                is_log=0
>                children[0]
>                        type='disk'
>                        id=0
>                        guid=11099413743436480159
>                        path='/dev/ad4p2'
>                        whole_disk=0
>                children[1]
>                        type='disk'
>                        id=1
>                        guid=12724983687805955432
>                        path='/dev/ad6p2'
>                        whole_disk=0
> Segmentation fault: 11
>
> By the way, to help prepare a boot/root pool does a utility to display the
> content of zpool.cache exist ?
>
>
> Henri
>>
>> Thanks,
>> Kip
>> _______________________________________________
>> freebsd-stable@freebsd.org mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
>> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
>
> _______________________________________________
> freebsd-stable@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-stable
> To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"
>
diff -r 99a13064f0d8 cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
--- a/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c	Tue May 26 13:17:51 2009 -0700
+++ b/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c	Tue May 26 13:19:10 2009 -0700
@@ -104,17 +104,17 @@ zmutex_init(kmutex_t *mp)
 	mp->initialized = B_TRUE;
 	(void) _mutex_init(&mp->m_lock, USYNC_THREAD, NULL);
 }
 
 void
 zmutex_destroy(kmutex_t *mp)
 {
 	ASSERT(mp->initialized == B_TRUE);
-	ASSERT(mp->m_owner == NULL);
+//	ASSERT(mp->m_owner == NULL);
 	(void) _mutex_destroy(&(mp)->m_lock);
 	mp->m_owner = (void *)-1UL;
 	mp->initialized = B_FALSE;
 }
 
 void
 mutex_enter(kmutex_t *mp)
 {
@@ -163,16 +163,17 @@ mutex_owner(kmutex_t *mp)
  */
 /*ARGSUSED*/
 void
 rw_init(krwlock_t *rwlp, char *name, int type, void *arg)
 {
 	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)
 {
 	rwlock_destroy(&rwlp->rw_lock);
 	rwlp->rw_owner = (void *)-1UL;
 	rwlp->initialized = B_FALSE;
_______________________________________________
freebsd-stable@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to