spa_impl.h (332525) | spa_impl.h (332536) |
---|---|
1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 168 unchanged lines hidden (view full) --- 177 178typedef enum spa_all_vdev_zap_action { 179 AVZ_ACTION_NONE = 0, 180 AVZ_ACTION_DESTROY, /* Destroy all per-vdev ZAPs and the AVZ. */ 181 AVZ_ACTION_REBUILD, /* Populate the new AVZ, see spa_avz_rebuild */ 182 AVZ_ACTION_INITIALIZE 183} spa_avz_action_t; 184 | 1/* 2 * CDDL HEADER START 3 * 4 * The contents of this file are subject to the terms of the 5 * Common Development and Distribution License (the "License"). 6 * You may not use this file except in compliance with the License. 7 * 8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE --- 168 unchanged lines hidden (view full) --- 177 178typedef enum spa_all_vdev_zap_action { 179 AVZ_ACTION_NONE = 0, 180 AVZ_ACTION_DESTROY, /* Destroy all per-vdev ZAPs and the AVZ. */ 181 AVZ_ACTION_REBUILD, /* Populate the new AVZ, see spa_avz_rebuild */ 182 AVZ_ACTION_INITIALIZE 183} spa_avz_action_t; 184 |
185typedef enum spa_config_source { 186 SPA_CONFIG_SRC_NONE = 0, 187 SPA_CONFIG_SRC_SCAN, /* scan of path (default: /dev/dsk) */ 188 SPA_CONFIG_SRC_CACHEFILE, /* any cachefile */ 189 SPA_CONFIG_SRC_TRYIMPORT, /* returned from call to tryimport */ 190 SPA_CONFIG_SRC_SPLIT, /* new pool in a pool split */ 191 SPA_CONFIG_SRC_MOS /* MOS, but not always from right txg */ 192} spa_config_source_t; 193 |
|
185struct spa { 186 /* 187 * Fields protected by spa_namespace_lock. 188 */ 189 char spa_name[ZFS_MAX_DATASET_NAME_LEN]; /* pool name */ 190 char *spa_comment; /* comment */ 191 avl_node_t spa_avl; /* node in spa_namespace_avl */ 192 nvlist_t *spa_config; /* last synced config */ 193 nvlist_t *spa_config_syncing; /* currently syncing config */ 194 nvlist_t *spa_config_splitting; /* config for splitting */ 195 nvlist_t *spa_load_info; /* info and errors from load */ 196 uint64_t spa_config_txg; /* txg of last config change */ 197 int spa_sync_pass; /* iterate-to-convergence */ 198 pool_state_t spa_state; /* pool state */ 199 int spa_inject_ref; /* injection references */ 200 uint8_t spa_sync_on; /* sync threads are running */ 201 spa_load_state_t spa_load_state; /* current load operation */ 202 boolean_t spa_indirect_vdevs_loaded; /* mappings loaded? */ | 194struct spa { 195 /* 196 * Fields protected by spa_namespace_lock. 197 */ 198 char spa_name[ZFS_MAX_DATASET_NAME_LEN]; /* pool name */ 199 char *spa_comment; /* comment */ 200 avl_node_t spa_avl; /* node in spa_namespace_avl */ 201 nvlist_t *spa_config; /* last synced config */ 202 nvlist_t *spa_config_syncing; /* currently syncing config */ 203 nvlist_t *spa_config_splitting; /* config for splitting */ 204 nvlist_t *spa_load_info; /* info and errors from load */ 205 uint64_t spa_config_txg; /* txg of last config change */ 206 int spa_sync_pass; /* iterate-to-convergence */ 207 pool_state_t spa_state; /* pool state */ 208 int spa_inject_ref; /* injection references */ 209 uint8_t spa_sync_on; /* sync threads are running */ 210 spa_load_state_t spa_load_state; /* current load operation */ 211 boolean_t spa_indirect_vdevs_loaded; /* mappings loaded? */ |
212 boolean_t spa_trust_config; /* do we trust vdev tree? */ 213 spa_config_source_t spa_config_source; /* where config comes from? */ |
|
203 uint64_t spa_import_flags; /* import specific flags */ 204 spa_taskqs_t spa_zio_taskq[ZIO_TYPES][ZIO_TASKQ_TYPES]; 205 dsl_pool_t *spa_dsl_pool; 206 boolean_t spa_is_initializing; /* true while opening pool */ 207 metaslab_class_t *spa_normal_class; /* normal data class */ 208 metaslab_class_t *spa_log_class; /* intent log data class */ 209 uint64_t spa_first_txg; /* first txg after spa_open() */ 210 uint64_t spa_final_txg; /* txg of export/destroy */ --- 45 unchanged lines hidden (view full) --- 256 uint64_t spa_scan_pass_scrub_spent_paused; /* total paused */ 257 uint64_t spa_scan_pass_exam; /* examined bytes per pass */ 258 kmutex_t spa_async_lock; /* protect async state */ 259 kthread_t *spa_async_thread; /* thread doing async task */ 260 kthread_t *spa_async_thread_vd; /* thread doing vd async task */ 261 int spa_async_suspended; /* async tasks suspended */ 262 kcondvar_t spa_async_cv; /* wait for thread_exit() */ 263 uint16_t spa_async_tasks; /* async task mask */ | 214 uint64_t spa_import_flags; /* import specific flags */ 215 spa_taskqs_t spa_zio_taskq[ZIO_TYPES][ZIO_TASKQ_TYPES]; 216 dsl_pool_t *spa_dsl_pool; 217 boolean_t spa_is_initializing; /* true while opening pool */ 218 metaslab_class_t *spa_normal_class; /* normal data class */ 219 metaslab_class_t *spa_log_class; /* intent log data class */ 220 uint64_t spa_first_txg; /* first txg after spa_open() */ 221 uint64_t spa_final_txg; /* txg of export/destroy */ --- 45 unchanged lines hidden (view full) --- 267 uint64_t spa_scan_pass_scrub_spent_paused; /* total paused */ 268 uint64_t spa_scan_pass_exam; /* examined bytes per pass */ 269 kmutex_t spa_async_lock; /* protect async state */ 270 kthread_t *spa_async_thread; /* thread doing async task */ 271 kthread_t *spa_async_thread_vd; /* thread doing vd async task */ 272 int spa_async_suspended; /* async tasks suspended */ 273 kcondvar_t spa_async_cv; /* wait for thread_exit() */ 274 uint16_t spa_async_tasks; /* async task mask */ |
275 uint64_t spa_missing_tvds; /* unopenable tvds on load */ 276 uint64_t spa_missing_tvds_allowed; /* allow loading spa? */ |
|
264 265 spa_removing_phys_t spa_removing_phys; 266 spa_vdev_removal_t *spa_vdev_removal; 267 268 spa_condensing_indirect_phys_t spa_condensing_indirect_phys; 269 spa_condensing_indirect_t *spa_condensing_indirect; 270 kthread_t *spa_condense_thread; /* thread doing condense. */ 271 --- 118 unchanged lines hidden --- | 277 278 spa_removing_phys_t spa_removing_phys; 279 spa_vdev_removal_t *spa_vdev_removal; 280 281 spa_condensing_indirect_phys_t spa_condensing_indirect_phys; 282 spa_condensing_indirect_t *spa_condensing_indirect; 283 kthread_t *spa_condense_thread; /* thread doing condense. */ 284 --- 118 unchanged lines hidden --- |