Lines Matching refs:spa

86 fatal(spa_t *spa, void *tag, const char *fmt, ...)  in fatal()  argument
90 if (spa != NULL) { in fatal()
91 spa_close(spa, tag); in fatal()
162 zhack_spa_open(char *target, boolean_t readonly, void *tag, spa_t **spa) in zhack_spa_open() argument
169 err = spa_open(target, spa, tag); in zhack_spa_open()
173 fatal(*spa, FTAG, "cannot open '%s': %s", target, in zhack_spa_open()
175 if (spa_version(*spa) < SPA_VERSION_FEATURES) { in zhack_spa_open()
176 fatal(*spa, FTAG, "'%s' has version %d, features not enabled", in zhack_spa_open()
177 target, (int)spa_version(*spa)); in zhack_spa_open()
208 dump_mos(spa_t *spa) in dump_mos() argument
210 nvlist_t *nv = spa->spa_label_features; in dump_mos()
223 spa_t *spa; in zhack_do_feature_stat() local
236 zhack_spa_open(target, B_TRUE, FTAG, &spa); in zhack_do_feature_stat()
237 os = spa->spa_meta_objset; in zhack_do_feature_stat()
239 dump_obj(os, spa->spa_feat_for_read_obj, "for_read"); in zhack_do_feature_stat()
240 dump_obj(os, spa->spa_feat_for_write_obj, "for_write"); in zhack_do_feature_stat()
241 dump_obj(os, spa->spa_feat_desc_obj, "descriptions"); in zhack_do_feature_stat()
242 if (spa_feature_is_active(spa, SPA_FEATURE_ENABLED_TXG)) { in zhack_do_feature_stat()
243 dump_obj(os, spa->spa_feat_enabled_txg_obj, "enabled_txg"); in zhack_do_feature_stat()
245 dump_mos(spa); in zhack_do_feature_stat()
247 spa_close(spa, FTAG); in zhack_do_feature_stat()
253 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in zhack_feature_enable_sync() local
256 feature_enable_sync(spa, feature, tx); in zhack_feature_enable_sync()
258 spa_history_log_internal(spa, "zhack enable feature", tx, in zhack_feature_enable_sync()
268 spa_t *spa; in zhack_do_feature_enable() local
315 zhack_spa_open(target, B_FALSE, FTAG, &spa); in zhack_do_feature_enable()
316 mos = spa->spa_meta_objset; in zhack_do_feature_enable()
319 fatal(spa, FTAG, "'%s' is a real feature, will not enable"); in zhack_do_feature_enable()
320 if (0 == zap_contains(mos, spa->spa_feat_desc_obj, feature.fi_guid)) in zhack_do_feature_enable()
321 fatal(spa, FTAG, "feature already enabled: %s", in zhack_do_feature_enable()
324 VERIFY0(dsl_sync_task(spa_name(spa), NULL, in zhack_do_feature_enable()
327 spa_close(spa, FTAG); in zhack_do_feature_enable()
335 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in feature_incr_sync() local
339 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_incr_sync()
340 feature_sync(spa, feature, refcount + 1, tx); in feature_incr_sync()
341 spa_history_log_internal(spa, "zhack feature incr", tx, in feature_incr_sync()
348 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in feature_decr_sync() local
352 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_decr_sync()
353 feature_sync(spa, feature, refcount - 1, tx); in feature_decr_sync()
354 spa_history_log_internal(spa, "zhack feature decr", tx, in feature_decr_sync()
364 spa_t *spa; in zhack_do_feature_ref() local
408 zhack_spa_open(target, B_FALSE, FTAG, &spa); in zhack_do_feature_ref()
409 mos = spa->spa_meta_objset; in zhack_do_feature_ref()
412 fatal(spa, FTAG, in zhack_do_feature_ref()
416 if (0 == zap_contains(mos, spa->spa_feat_for_read_obj, in zhack_do_feature_ref()
419 } else if (0 == zap_contains(mos, spa->spa_feat_for_write_obj, in zhack_do_feature_ref()
423 fatal(spa, FTAG, "feature is not enabled: %s", feature.fi_guid); in zhack_do_feature_ref()
428 if (feature_get_refcount_from_disk(spa, &feature, in zhack_do_feature_ref()
430 fatal(spa, FTAG, "feature refcount already 0: %s", in zhack_do_feature_ref()
435 VERIFY0(dsl_sync_task(spa_name(spa), NULL, in zhack_do_feature_ref()
439 spa_close(spa, FTAG); in zhack_do_feature_ref()