equal
deleted
inserted
replaced
194 void |
194 void |
195 metaslab_group_destroy(metaslab_group_t *mg) |
195 metaslab_group_destroy(metaslab_group_t *mg) |
196 { |
196 { |
197 ASSERT(mg->mg_prev == NULL); |
197 ASSERT(mg->mg_prev == NULL); |
198 ASSERT(mg->mg_next == NULL); |
198 ASSERT(mg->mg_next == NULL); |
199 ASSERT(mg->mg_activation_count + mg->mg_vd->vdev_removing == 0); |
199 /* |
|
200 * We may have gone below zero with the activation count |
|
201 * either because we never activated in the first place or |
|
202 * because we're done, and possibly removing the vdev. |
|
203 */ |
|
204 ASSERT(mg->mg_activation_count <= 0); |
200 |
205 |
201 avl_destroy(&mg->mg_metaslab_tree); |
206 avl_destroy(&mg->mg_metaslab_tree); |
202 mutex_destroy(&mg->mg_lock); |
207 mutex_destroy(&mg->mg_lock); |
203 kmem_free(mg, sizeof (metaslab_group_t)); |
208 kmem_free(mg, sizeof (metaslab_group_t)); |
204 } |
209 } |