--- sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c +++ sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c @@ -903,6 +903,11 @@ ASSERT(spa->spa_async_zio_root == NULL); ASSERT(spa->spa_state != POOL_STATE_UNINITIALIZED); + /* + * Stop TRIM thread. + */ + trim_thread_destroy(spa); + txg_list_destroy(&spa->spa_vdev_txg_list); list_destroy(&spa->spa_config_dirty_list); @@ -948,11 +953,6 @@ ASSERT(spa->spa_proc == &p0); mutex_exit(&spa->spa_proc_lock); - /* - * Stop TRIM thread. - */ - trim_thread_destroy(spa); - #ifdef SPA_PROCESS /* * We want to make sure spa_thread() has actually exited the ZFS