Print this page
4101 metaslab_debug should allow for fine-grained control
4102 space_maps should store more information about themselves
4103 space map object blocksize should be increased
4104 ::spa_space no longer works
4105 removing a mirrored log device results in a leaked object
4106 asynchronously load metaslab
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: Adam Leventhal <ahl@delphix.com>
Reviewed by: Sebastien Roy <seb@delphix.com>
@@ -455,10 +455,18 @@
void
spa_deadman(void *arg)
{
spa_t *spa = arg;
+ /*
+ * Disable the deadman timer if the pool is suspended.
+ */
+ if (spa_suspended(spa)) {
+ VERIFY(cyclic_reprogram(spa->spa_deadman_cycid, CY_INFINITY));
+ return;
+ }
+
zfs_dbgmsg("slow spa_sync: started %llu seconds ago, calls %llu",
(gethrtime() - spa->spa_sync_starttime) / NANOSEC,
++spa->spa_deadman_calls);
if (zfs_deadman_enabled)
vdev_deadman(spa->spa_root_vdev);
@@ -1023,11 +1031,11 @@
*/
if (error == 0)
txg_wait_synced(spa->spa_dsl_pool, txg);
if (vd != NULL) {
- ASSERT(!vd->vdev_detached || vd->vdev_dtl_smo.smo_object == 0);
+ ASSERT(!vd->vdev_detached || vd->vdev_dtl_sm == NULL);
spa_config_enter(spa, SCL_ALL, spa, RW_WRITER);
vdev_free(vd);
spa_config_exit(spa, SCL_ALL, spa);
}
@@ -1700,11 +1708,11 @@
}
#endif
refcount_init();
unique_init();
- space_map_init();
+ range_tree_init();
zio_init();
dmu_init();
zil_init();
vdev_cache_stat_init();
zfs_prop_init();
@@ -1723,11 +1731,11 @@
vdev_cache_stat_fini();
zil_fini();
dmu_fini();
zio_fini();
- space_map_fini();
+ range_tree_fini();
unique_fini();
refcount_fini();
avl_destroy(&spa_namespace_avl);
avl_destroy(&spa_spare_avl);