Deleted Added
full compact
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 ---