changeset 14050:0c8d9998d589

3747 txg commit callbacks don't work Reviewed by: Matthew Ahrens <mahrens@delphix.com> Reviewed by: Eric Schrock <eric.schrock@delphix.com> Approved by: Christopher Siden <christopher.siden@delphix.com>
author Will Andrews <willa@spectralogic.com>
date Tue, 11 Jun 2013 09:13:51 -0800
parents 4a7f6353bcf0
children 849852750426
files usr/src/cmd/ztest/ztest.c usr/src/uts/common/fs/zfs/txg.c
diffstat 2 files changed, 2 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/usr/src/cmd/ztest/ztest.c	Tue Jun 11 09:13:47 2013 -0800
+++ b/usr/src/cmd/ztest/ztest.c	Tue Jun 11 09:13:51 2013 -0800
@@ -4507,7 +4507,7 @@
 	 */
 	tmp_cb = list_head(&zcl.zcl_callbacks);
 	if (tmp_cb != NULL &&
-	    tmp_cb->zcd_txg > txg - ZTEST_COMMIT_CALLBACK_THRESH) {
+	    (txg - ZTEST_COMMIT_CALLBACK_THRESH) > tmp_cb->zcd_txg) {
 		fatal(0, "Commit callback threshold exceeded, oldest txg: %"
 		    PRIu64 ", open txg: %" PRIu64 "\n", tmp_cb->zcd_txg, txg);
 	}
--- a/usr/src/uts/common/fs/zfs/txg.c	Tue Jun 11 09:13:47 2013 -0800
+++ b/usr/src/uts/common/fs/zfs/txg.c	Tue Jun 11 09:13:51 2013 -0800
@@ -435,7 +435,7 @@
 		list_create(cb_list, sizeof (dmu_tx_callback_t),
 		    offsetof(dmu_tx_callback_t, dcb_node));
 
-		list_move_tail(&tc->tc_callbacks[g], cb_list);
+		list_move_tail(cb_list, &tc->tc_callbacks[g]);
 
 		(void) taskq_dispatch(tx->tx_commit_cb_taskq, (task_func_t *)
 		    txg_do_callbacks, cb_list, TQ_SLEEP);