136 uint64_t vdev_guid_sum; /* self guid + all child guids */
137 uint64_t vdev_orig_guid; /* orig. guid prior to remove */
138 uint64_t vdev_asize; /* allocatable device capacity */
139 uint64_t vdev_min_asize; /* min acceptable asize */
140 uint64_t vdev_max_asize; /* max acceptable asize */
141 uint64_t vdev_ashift; /* block alignment shift */
142 uint64_t vdev_state; /* see VDEV_STATE_* #defines */
143 uint64_t vdev_prevstate; /* used when reopening a vdev */
144 vdev_ops_t *vdev_ops; /* vdev operations */
145 spa_t *vdev_spa; /* spa for this vdev */
146 void *vdev_tsd; /* type-specific data */
147 vnode_t *vdev_name_vp; /* vnode for pathname */
148 vnode_t *vdev_devid_vp; /* vnode for devid */
149 vdev_t *vdev_top; /* top-level vdev */
150 vdev_t *vdev_parent; /* parent vdev */
151 vdev_t **vdev_child; /* array of children */
152 uint64_t vdev_children; /* number of children */
153 vdev_stat_t vdev_stat; /* virtual device statistics */
154 boolean_t vdev_expanding; /* expand the vdev? */
155 boolean_t vdev_reopening; /* reopen in progress? */
156 int vdev_open_error; /* error on last open */
157 kthread_t *vdev_open_thread; /* thread opening children */
158 uint64_t vdev_crtxg; /* txg when top-level was added */
159
160 /*
161 * Top-level vdev state.
162 */
163 uint64_t vdev_ms_array; /* metaslab array object */
164 uint64_t vdev_ms_shift; /* metaslab size shift */
165 uint64_t vdev_ms_count; /* number of metaslabs */
166 metaslab_group_t *vdev_mg; /* metaslab group */
167 metaslab_t **vdev_ms; /* metaslab array */
168 txg_list_t vdev_ms_list; /* per-txg dirty metaslab lists */
169 txg_list_t vdev_dtl_list; /* per-txg dirty DTL lists */
170 txg_node_t vdev_txg_node; /* per-txg dirty vdev linkage */
171 boolean_t vdev_remove_wanted; /* async remove wanted? */
172 boolean_t vdev_probe_wanted; /* async probe wanted? */
173 list_node_t vdev_config_dirty_node; /* config dirty list */
174 list_node_t vdev_state_dirty_node; /* state dirty list */
175 uint64_t vdev_deflate_ratio; /* deflation ratio (x512) */
|
136 uint64_t vdev_guid_sum; /* self guid + all child guids */
137 uint64_t vdev_orig_guid; /* orig. guid prior to remove */
138 uint64_t vdev_asize; /* allocatable device capacity */
139 uint64_t vdev_min_asize; /* min acceptable asize */
140 uint64_t vdev_max_asize; /* max acceptable asize */
141 uint64_t vdev_ashift; /* block alignment shift */
142 uint64_t vdev_state; /* see VDEV_STATE_* #defines */
143 uint64_t vdev_prevstate; /* used when reopening a vdev */
144 vdev_ops_t *vdev_ops; /* vdev operations */
145 spa_t *vdev_spa; /* spa for this vdev */
146 void *vdev_tsd; /* type-specific data */
147 vnode_t *vdev_name_vp; /* vnode for pathname */
148 vnode_t *vdev_devid_vp; /* vnode for devid */
149 vdev_t *vdev_top; /* top-level vdev */
150 vdev_t *vdev_parent; /* parent vdev */
151 vdev_t **vdev_child; /* array of children */
152 uint64_t vdev_children; /* number of children */
153 vdev_stat_t vdev_stat; /* virtual device statistics */
154 boolean_t vdev_expanding; /* expand the vdev? */
155 boolean_t vdev_reopening; /* reopen in progress? */
156 boolean_t vdev_nonrot; /* true if SSD, file, or Virtio */
157 int vdev_open_error; /* error on last open */
158 kthread_t *vdev_open_thread; /* thread opening children */
159 uint64_t vdev_crtxg; /* txg when top-level was added */
160
161 /*
162 * Top-level vdev state.
163 */
164 uint64_t vdev_ms_array; /* metaslab array object */
165 uint64_t vdev_ms_shift; /* metaslab size shift */
166 uint64_t vdev_ms_count; /* number of metaslabs */
167 metaslab_group_t *vdev_mg; /* metaslab group */
168 metaslab_t **vdev_ms; /* metaslab array */
169 txg_list_t vdev_ms_list; /* per-txg dirty metaslab lists */
170 txg_list_t vdev_dtl_list; /* per-txg dirty DTL lists */
171 txg_node_t vdev_txg_node; /* per-txg dirty vdev linkage */
172 boolean_t vdev_remove_wanted; /* async remove wanted? */
173 boolean_t vdev_probe_wanted; /* async probe wanted? */
174 list_node_t vdev_config_dirty_node; /* config dirty list */
175 list_node_t vdev_state_dirty_node; /* state dirty list */
176 uint64_t vdev_deflate_ratio; /* deflation ratio (x512) */
|