kern/170763: [zfs] 3085 zfs diff panics, then panics in a loop on booting

Marcelo Araujo araujo at FreeBSD.org
Sun Aug 19 07:30:09 UTC 2012


>Number:         170763
>Category:       kern
>Synopsis:       [zfs] 3085 zfs diff panics, then panics in a loop on booting
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Aug 19 07:30:08 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Marcelo Araujo
>Release:        10.0-CURRENT
>Organization:
FreeBSD
>Environment:
FreeBSD hostb 10.0-CURRENT FreeBSD 10.0-CURRENT #0 r233530: Tue Apr  3 02:11:40 UTC 2012     araujo at hostb:/usr/obj/usr/src/sys/HOSTB  i386

>Description:
- Just import a small change from Illumos vendor.
Illumos-gate changeset: 2579580ac955

>How-To-Repeat:

>Fix:


Patch attached with submission follows:

Index: dsl_dataset.c
===================================================================
--- dsl_dataset.c	(revision 233530)
+++ dsl_dataset.c	(working copy)
@@ -3896,6 +3896,10 @@
 	VERIFY(error == 0 || error == ENOENT);
 	zapobj = ds->ds_phys->ds_userrefs_obj;
 	VERIFY(0 == zap_remove(mos, zapobj, ra->htag, tx));
+
+	spa_history_log_internal_ds(ds, "release", tx,
+	    "tag = %s refs now = %lld", ra->htag, (longlong_t)refs);
+
 	if (ds->ds_userrefs == 0 && ds->ds_phys->ds_num_children == 1 &&
 	    DS_IS_DEFER_DESTROY(ds)) {
 		struct dsl_ds_destroyarg dsda = {0};
Index: spa_history.c
===================================================================
--- spa_history.c	(revision 233530)
+++ spa_history.c	(working copy)
@@ -436,8 +436,10 @@
 	 * If this is part of creating a pool, not everything is
 	 * initialized yet, so don't bother logging the internal events.
 	 */
-	if (tx->tx_txg == TXG_INITIAL)
+	if (tx->tx_txg == TXG_INITIAL) {
+		fnvlist_free(nvl);
 		return;
+	}
 
 	va_copy(adx2, adx);
 


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-bugs mailing list