Lines Matching refs:spa
87 fatal(spa_t *spa, void *tag, const char *fmt, ...) in fatal() argument
91 if (spa != NULL) { in fatal()
92 spa_close(spa, tag); in fatal()
130 spa_t *spa; in import_pool() local
148 if (readonly && spa_open(target, &spa, FTAG) == 0) { in import_pool()
149 spa_close(spa, FTAG); in import_pool()
165 spa_open(target, &spa, FTAG) == 0) { in import_pool()
166 fatal(spa, FTAG, "cannot import '%s': pool is " in import_pool()
199 zhack_spa_open(const char *target, boolean_t readonly, void *tag, spa_t **spa) in zhack_spa_open() argument
206 err = spa_open(target, spa, tag); in zhack_spa_open()
210 fatal(*spa, FTAG, "cannot open '%s': %s", target, in zhack_spa_open()
212 if (spa_version(*spa) < SPA_VERSION_FEATURES) { in zhack_spa_open()
213 fatal(*spa, FTAG, "'%s' has version %d, features not enabled", in zhack_spa_open()
214 target, (int)spa_version(*spa)); in zhack_spa_open()
245 dump_mos(spa_t *spa) in dump_mos() argument
247 nvlist_t *nv = spa->spa_label_features; in dump_mos()
260 spa_t *spa; in zhack_do_feature_stat() local
273 zhack_spa_open(target, B_TRUE, FTAG, &spa); in zhack_do_feature_stat()
274 os = spa->spa_meta_objset; in zhack_do_feature_stat()
276 dump_obj(os, spa->spa_feat_for_read_obj, "for_read"); in zhack_do_feature_stat()
277 dump_obj(os, spa->spa_feat_for_write_obj, "for_write"); in zhack_do_feature_stat()
278 dump_obj(os, spa->spa_feat_desc_obj, "descriptions"); in zhack_do_feature_stat()
279 if (spa_feature_is_active(spa, SPA_FEATURE_ENABLED_TXG)) { in zhack_do_feature_stat()
280 dump_obj(os, spa->spa_feat_enabled_txg_obj, "enabled_txg"); in zhack_do_feature_stat()
282 dump_mos(spa); in zhack_do_feature_stat()
284 spa_close(spa, FTAG); in zhack_do_feature_stat()
290 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in zhack_feature_enable_sync() local
293 feature_enable_sync(spa, feature, tx); in zhack_feature_enable_sync()
295 spa_history_log_internal(spa, "zhack enable feature", tx, in zhack_feature_enable_sync()
305 spa_t *spa; in zhack_do_feature_enable() local
352 zhack_spa_open(target, B_FALSE, FTAG, &spa); in zhack_do_feature_enable()
353 mos = spa->spa_meta_objset; in zhack_do_feature_enable()
356 fatal(spa, FTAG, "'%s' is a real feature, will not enable"); in zhack_do_feature_enable()
357 if (0 == zap_contains(mos, spa->spa_feat_desc_obj, feature.fi_guid)) in zhack_do_feature_enable()
358 fatal(spa, FTAG, "feature already enabled: %s", in zhack_do_feature_enable()
361 VERIFY0(dsl_sync_task(spa_name(spa), NULL, in zhack_do_feature_enable()
364 spa_close(spa, FTAG); in zhack_do_feature_enable()
372 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in feature_incr_sync() local
376 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_incr_sync()
377 feature_sync(spa, feature, refcount + 1, tx); in feature_incr_sync()
378 spa_history_log_internal(spa, "zhack feature incr", tx, in feature_incr_sync()
385 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in feature_decr_sync() local
389 VERIFY0(feature_get_refcount_from_disk(spa, feature, &refcount)); in feature_decr_sync()
390 feature_sync(spa, feature, refcount - 1, tx); in feature_decr_sync()
391 spa_history_log_internal(spa, "zhack feature decr", tx, in feature_decr_sync()
401 spa_t *spa; in zhack_do_feature_ref() local
445 zhack_spa_open(target, B_FALSE, FTAG, &spa); in zhack_do_feature_ref()
446 mos = spa->spa_meta_objset; in zhack_do_feature_ref()
449 fatal(spa, FTAG, in zhack_do_feature_ref()
453 if (0 == zap_contains(mos, spa->spa_feat_for_read_obj, in zhack_do_feature_ref()
456 } else if (0 == zap_contains(mos, spa->spa_feat_for_write_obj, in zhack_do_feature_ref()
460 fatal(spa, FTAG, "feature is not enabled: %s", feature.fi_guid); in zhack_do_feature_ref()
465 if (feature_get_refcount_from_disk(spa, &feature, in zhack_do_feature_ref()
467 fatal(spa, FTAG, "feature refcount already 0: %s", in zhack_do_feature_ref()
472 VERIFY0(dsl_sync_task(spa_name(spa), NULL, in zhack_do_feature_ref()
476 spa_close(spa, FTAG); in zhack_do_feature_ref()