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"