metaslab_t
metaslab_t ms;
if (mdb_vread(&ms, sizeof (metaslab_t), msp) == -1) {
metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
metaslab_t *msp = vd->vdev_ms[msi];
metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift];
metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
metaslab_t *msp = vd->vdev_ms[m];
load_indirect_ms_allocatable_tree(vdev_t *vd, metaslab_t *msp,
metaslab_t *msp = vd->vdev_ms[offset >> vd->vdev_ms_shift];
metaslab_t *msp = vd->vdev_ms[m];
metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift];
metaslab_t *ckpoint_msp = ckpoint_vd->vdev_ms[m];
metaslab_t *current_msp = current_vd->vdev_ms[m];
metaslab_t *ms = vd->vdev_ms[m];
metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
dump_metaslab_stats(metaslab_t *msp)
dump_metaslab(metaslab_t *msp)
metaslab_t *ms;
metaslab_t *msp = vd->vdev_ms[m];
metaslab_group_histogram_add(metaslab_group_t *mg, metaslab_t *msp)
metaslab_group_histogram_remove(metaslab_group_t *mg, metaslab_t *msp)
metaslab_group_add(metaslab_group_t *mg, metaslab_t *msp)
metaslab_group_remove(metaslab_group_t *mg, metaslab_t *msp)
metaslab_group_sort_impl(metaslab_group_t *mg, metaslab_t *msp, uint64_t weight)
metaslab_group_sort(metaslab_group_t *mg, metaslab_t *msp, uint64_t weight)
metaslab_t *msp = vd->vdev_ms[m];
metaslab_largest_allocatable(metaslab_t *msp)
metaslab_largest_unflushed_free(metaslab_t *msp)
metaslab_df_alloc(metaslab_t *msp, uint64_t size)
metaslab_cf_alloc(metaslab_t *msp, uint64_t size)
metaslab_ndf_alloc(metaslab_t *msp, uint64_t size)
metaslab_load_wait(metaslab_t *msp)
metaslab_flush_wait(metaslab_t *msp)
metaslab_t *msp = arg;
metaslab_allocated_space(metaslab_t *msp)
metaslab_verify_space(metaslab_t *msp, uint64_t txg)
metaslab_aux_histograms_clear(metaslab_t *msp)
metaslab_aux_histograms_update(metaslab_t *msp)
metaslab_aux_histograms_update_done(metaslab_t *msp, boolean_t defer_allowed)
metaslab_verify_weight_and_frag(metaslab_t *msp)
metaslab_t *msp = multilist_sublist_head(mls);
metaslab_t *next_msp = multilist_sublist_next(mls, msp);
metaslab_load_impl(metaslab_t *msp)
metaslab_load(metaslab_t *msp)
metaslab_unload(metaslab_t *msp)
metaslab_calculate_range_tree_type(vdev_t *vdev, metaslab_t *msp,
metaslab_set_selected_txg(metaslab_t *msp, uint64_t txg)
uint64_t txg, metaslab_t **msp)
metaslab_t *ms;
ms = kmem_zalloc(sizeof (metaslab_t), KM_SLEEP);
kmem_free(ms, sizeof (metaslab_t));
metaslab_fini_flush_data(metaslab_t *msp)
metaslab_unflushed_changes_memused(metaslab_t *ms)
metaslab_fini(metaslab_t *msp)
kmem_free(msp, sizeof (metaslab_t));
metaslab_set_fragmentation(metaslab_t *msp)
metaslab_space_weight(metaslab_t *msp)
metaslab_weight_from_range_tree(metaslab_t *msp)
metaslab_weight_from_spacemap(metaslab_t *msp)
metaslab_segment_weight(metaslab_t *msp)
static uint64_t metaslab_weight(metaslab_t *);
static void metaslab_set_fragmentation(metaslab_t *);
metaslab_should_allocate(metaslab_t *msp, uint64_t asize, boolean_t try_hard)
static void metaslab_passivate(metaslab_t *msp, uint64_t weight);
static uint64_t metaslab_weight_from_range_tree(metaslab_t *msp);
metaslab_weight(metaslab_t *msp)
static void metaslab_flush_update(metaslab_t *, dmu_tx_t *);
static void metaslab_evict(metaslab_t *, uint64_t);
metaslab_recalculate_weight_and_sort(metaslab_t *msp)
metaslab_activate_allocator(metaslab_group_t *mg, metaslab_t *msp,
metaslab_t **arr = (activation_weight == METASLAB_WEIGHT_PRIMARY ?
metaslab_activate(metaslab_t *msp, int allocator, uint64_t activation_weight)
metaslab_passivate_allocator(metaslab_group_t *mg, metaslab_t *msp,
metaslab_passivate(metaslab_t *msp, uint64_t weight)
metaslab_segment_may_passivate(metaslab_t *msp)
metaslab_t *msp = arg;
metaslab_t *msp;
metaslab_should_condense(metaslab_t *msp)
metaslab_condense(metaslab_t *msp, dmu_tx_t *tx)
metaslab_flush_update(metaslab_t *msp, dmu_tx_t *tx)
metaslab_flush(metaslab_t *msp, dmu_tx_t *tx)
mc->mc_metaslab_txg_list = multilist_create(sizeof (metaslab_t),
metaslab_sync(metaslab_t *msp, uint64_t txg)
offsetof(metaslab_t, ms_class_txg_node), metaslab_idx_func);
metaslab_evict(metaslab_t *msp, uint64_t txg)
metaslab_sync_done(metaslab_t *msp, uint64_t txg)
metaslab_is_unique(metaslab_t *msp, dva_t *dva)
metaslab_t *msp, uint64_t psize, uint32_t dva_id, uint64_t offset,
metaslab_block_alloc(metaslab_t *msp, uint64_t size, uint64_t txg)
static metaslab_t *
boolean_t try_hard, zio_alloc_list_t *zal, metaslab_t *search,
metaslab_t *msp = avl_find(t, search, &idx);
metaslab_active_mask_verify(metaslab_t *msp)
metaslab_t *msp = NULL;
metaslab_t *search = kmem_alloc(sizeof (*search), KM_SLEEP);
metaslab_t *, msp, uint64_t, activation_weight,
DTRACE_PROBE2(ms__alloc__failure, metaslab_t *, msp,
metaslab_t *msp;
metaslab_t *msp;
metaslab_t *msp;
metaslab_t *msp;
metaslab_disable(metaslab_t *msp)
metaslab_enable(metaslab_t *msp, boolean_t sync, boolean_t unload)
metaslab_update_ondisk_flush_data(metaslab_t *ms, dmu_tx_t *tx)
metaslab_set_unflushed_txg(metaslab_t *ms, uint64_t txg, dmu_tx_t *tx)
metaslab_unflushed_txg(metaslab_t *ms)
metaslab_t *msp = multilist_sublist_head(mls);
metaslab_t *next_msp = multilist_sublist_next(mls, msp);
const metaslab_t *m1 = (const metaslab_t *)x1;
const metaslab_t *m2 = (const metaslab_t *)x2;
const metaslab_t *a = va;
const metaslab_t *b = vb;
mg->mg_primaries = kmem_zalloc(allocators * sizeof (metaslab_t *),
mg->mg_secondaries = kmem_zalloc(allocators * sizeof (metaslab_t *),
sizeof (metaslab_t), offsetof(metaslab_t, ms_group_node));
kmem_free(mg->mg_primaries, mg->mg_allocators * sizeof (metaslab_t *));
sizeof (metaslab_t *));
metaslab_t *msp = mg->mg_primaries[i];
metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift];
for (metaslab_t *m = avl_first(&spa->spa_metaslabs_by_flushed);
metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
for (metaslab_t *m = avl_first(&spa->spa_metaslabs_by_flushed);
metaslab_t *ms = vd->vdev_ms[m];
metaslab_t *next = NULL;
for (metaslab_t *curr = avl_first(&spa->spa_metaslabs_by_flushed);
metaslab_t *oldest = avl_first(&spa->spa_metaslabs_by_flushed);
sizeof (metaslab_t), offsetof(metaslab_t, ms_spa_txg_node));
void metaslab_group_histogram_remove(metaslab_group_t *, metaslab_t *);
void metaslab_recalculate_weight_and_sort(metaslab_t *);
void metaslab_disable(metaslab_t *);
void metaslab_enable(metaslab_t *, boolean_t, boolean_t);
void metaslab_set_selected_txg(metaslab_t *, uint64_t);
uint64_t (*msop_alloc)(metaslab_t *, uint64_t);
metaslab_t **);
void metaslab_fini(metaslab_t *);
void metaslab_set_unflushed_txg(metaslab_t *, uint64_t, dmu_tx_t *);
void metaslab_set_estimated_condensed_size(metaslab_t *, uint64_t, dmu_tx_t *);
uint64_t metaslab_unflushed_txg(metaslab_t *);
uint64_t metaslab_estimated_condensed_size(metaslab_t *);
uint64_t metaslab_unflushed_changes_memused(metaslab_t *);
int metaslab_load(metaslab_t *);
void metaslab_unload(metaslab_t *);
boolean_t metaslab_flush(metaslab_t *, dmu_tx_t *);
uint64_t metaslab_allocated_space(metaslab_t *);
void metaslab_sync(metaslab_t *, uint64_t);
void metaslab_sync_done(metaslab_t *, uint64_t);
uint64_t metaslab_largest_allocatable(metaslab_t *);
metaslab_t **mg_primaries;
metaslab_t **mg_secondaries;
metaslab_t *mat_msp;
metaslab_t **vdev_ms; /* metaslab array */
metaslab_t **mspp;
metaslab_t *msp = vd->vdev_ms[m];
kmem_free(vd->vdev_ms, count * sizeof (metaslab_t *));
metaslab_t *msp;
metaslab_t *msp;
metaslab_t *msp;
metaslab_t *msp = vd->vdev_top->vdev_ms[i];
metaslab_t *msp = vd->vdev_top->vdev_ms[i];
metaslab_t *msp = vd->vdev_ms[msi];
metaslab_t *msp = vd->vdev_ms[msi];
metaslab_t *ms = vd->vdev_ms[i];
metaslab_t *vca_msp;
metaslab_t *msp = ta->trim_msp;
metaslab_t *msp = vd->vdev_ms[i];
metaslab_t *msp = vd->vdev_ms[i];
metaslab_t *trim_msp; /* Disabled metaslab */
metaslab_t *msp = vd->vdev_top->vdev_ms[i];
metaslab_t *msp = ta->trim_msp;
metaslab_t *msp = vd->vdev_top->vdev_ms[i];