/titanic_50/usr/src/uts/common/fs/zfs/ |
H A D | spa_misc.c | 354 spa_config_lock_init(spa_t *spa) in spa_config_lock_init() argument 357 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_init() 367 spa_config_lock_destroy(spa_t *spa) in spa_config_lock_destroy() argument 370 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_destroy() 380 spa_config_tryenter(spa_t *spa, int locks, void *tag, krw_t rw) in spa_config_tryenter() argument 383 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_tryenter() 390 spa_config_exit(spa, locks & ((1 << i) - 1), in spa_config_tryenter() 398 spa_config_exit(spa, locks & ((1 << i) - 1), in spa_config_tryenter() 411 spa_config_enter(spa_t *spa, int locks, void *tag, krw_t rw) in spa_config_enter() argument 418 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_enter() [all …]
|
H A D | spa.c | 144 static boolean_t spa_has_active_shared_spare(spa_t *spa); 145 static int spa_load_impl(spa_t *spa, uint64_t, nvlist_t *config, 148 static void spa_vdev_resilver_done(spa_t *spa); 196 spa_prop_get_config(spa_t *spa, nvlist_t **nvp) in spa_prop_get_config() argument 198 vdev_t *rvd = spa->spa_root_vdev; in spa_prop_get_config() 199 dsl_pool_t *pool = spa->spa_dsl_pool; in spa_prop_get_config() 203 metaslab_class_t *mc = spa_normal_class(spa); in spa_prop_get_config() 205 ASSERT(MUTEX_HELD(&spa->spa_props_lock)); in spa_prop_get_config() 208 alloc = metaslab_class_get_alloc(spa_normal_class(spa)); in spa_prop_get_config() 209 size = metaslab_class_get_space(spa_normal_class(spa)); in spa_prop_get_config() [all …]
|
H A D | spa_errlog.c | 93 spa_log_error(spa_t *spa, zio_t *zio) in spa_log_error() argument 105 if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT) in spa_log_error() 108 mutex_enter(&spa->spa_errlist_lock); in spa_log_error() 114 if (spa->spa_scrub_active || spa->spa_scrub_finished) in spa_log_error() 115 tree = &spa->spa_errlist_scrub; in spa_log_error() 117 tree = &spa->spa_errlist_last; in spa_log_error() 121 mutex_exit(&spa->spa_errlist_lock); in spa_log_error() 129 mutex_exit(&spa->spa_errlist_lock); in spa_log_error() 138 spa_get_errlog_size(spa_t *spa) in spa_get_errlog_size() argument 142 mutex_enter(&spa->spa_errlog_lock); in spa_get_errlog_size() [all …]
|
H A D | zfeature.c | 174 spa_features_check(spa_t *spa, boolean_t for_write, in spa_features_check() argument 177 objset_t *os = spa->spa_meta_objset; in spa_features_check() 182 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in spa_features_check() 204 if (zap_lookup(os, spa->spa_feat_desc_obj, in spa_features_check() 226 feature_get_refcount(spa_t *spa, zfeature_info_t *feature, uint64_t *res) in feature_get_refcount() argument 229 if (spa->spa_feat_refcount_cache[feature->fi_feature] == in feature_get_refcount() 233 *res = spa->spa_feat_refcount_cache[feature->fi_feature]; in feature_get_refcount() 243 feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature, in feature_get_refcount_from_disk() argument 249 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in feature_get_refcount_from_disk() 258 err = zap_lookup(spa->spa_meta_objset, zapobj, in feature_get_refcount_from_disk() [all …]
|
H A D | spa_config.c | 229 spa_t *spa = NULL; in spa_config_sync() local 237 while ((spa = spa_next(spa)) != NULL) { in spa_config_sync() 245 if ((spa == target && removing) || in spa_config_sync() 246 !spa_writeable(spa)) in spa_config_sync() 249 mutex_enter(&spa->spa_props_lock); in spa_config_sync() 250 tdp = list_head(&spa->spa_config_list); in spa_config_sync() 251 if (spa->spa_config == NULL || in spa_config_sync() 254 mutex_exit(&spa->spa_props_lock); in spa_config_sync() 262 VERIFY(nvlist_add_nvlist(nvl, spa->spa_name, in spa_config_sync() 263 spa->spa_config) == 0); in spa_config_sync() [all …]
|
H A D | spa_history.c | 86 spa_history_create_obj(spa_t *spa, dmu_tx_t *tx) in spa_history_create_obj() argument 90 objset_t *mos = spa->spa_meta_objset; in spa_history_create_obj() 92 ASSERT(spa->spa_history == 0); in spa_history_create_obj() 93 spa->spa_history = dmu_object_alloc(mos, DMU_OT_SPA_HISTORY, in spa_history_create_obj() 99 &spa->spa_history, tx) == 0); in spa_history_create_obj() 101 VERIFY(0 == dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp)); in spa_history_create_obj() 112 metaslab_class_get_dspace(spa_normal_class(spa)) / 1000; in spa_history_create_obj() 123 spa_history_advance_bof(spa_t *spa, spa_history_phys_t *shpp) in spa_history_advance_bof() argument 125 objset_t *mos = spa->spa_meta_objset; in spa_history_advance_bof() 133 if ((err = dmu_read(mos, spa->spa_history, phys_bof, firstread, in spa_history_advance_bof() [all …]
|
H A D | vdev.c | 152 vdev_lookup_top(spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument 154 vdev_t *rvd = spa->spa_root_vdev; in vdev_lookup_top() 156 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_lookup_top() 197 vdev_count_leaves(spa_t *spa) in vdev_count_leaves() argument 199 return (vdev_count_leaves_impl(spa->spa_root_vdev)); in vdev_count_leaves() 208 spa_t *spa = cvd->vdev_spa; in vdev_add_child() local 210 ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL); in vdev_add_child() 311 vdev_alloc_common(spa_t *spa, uint_t id, uint64_t guid, vdev_ops_t *ops) in vdev_alloc_common() argument 317 if (spa->spa_root_vdev == NULL) { in vdev_alloc_common() 319 spa->spa_root_vdev = vd; in vdev_alloc_common() [all …]
|
H A D | zio_checksum.c | 176 zio_checksum_dedup_select(spa_t *spa, enum zio_checksum child, in zio_checksum_dedup_select() argument 187 return (spa_dedup_checksum(spa)); in zio_checksum_dedup_select() 190 return (spa_dedup_checksum(spa) | ZIO_CHECKSUM_VERIFY); in zio_checksum_dedup_select() 230 zio_checksum_template_init(enum zio_checksum checksum, spa_t *spa) in zio_checksum_template_init() argument 236 if (spa->spa_cksum_tmpls[checksum] != NULL) in zio_checksum_template_init() 240 mutex_enter(&spa->spa_cksum_tmpls_lock); in zio_checksum_template_init() 241 if (spa->spa_cksum_tmpls[checksum] == NULL) { in zio_checksum_template_init() 242 spa->spa_cksum_tmpls[checksum] = in zio_checksum_template_init() 243 ci->ci_tmpl_init(&spa->spa_cksum_salt); in zio_checksum_template_init() 244 VERIFY(spa->spa_cksum_tmpls[checksum] != NULL); in zio_checksum_template_init() [all …]
|
H A D | vdev_queue.c | 276 spa_t *spa = zio->io_spa; in vdev_queue_io_add() local 281 mutex_enter(&spa->spa_iokstat_lock); in vdev_queue_io_add() 282 spa->spa_queue_stats[zio->io_priority].spa_queued++; in vdev_queue_io_add() 283 if (spa->spa_iokstat != NULL) in vdev_queue_io_add() 284 kstat_waitq_enter(spa->spa_iokstat->ks_data); in vdev_queue_io_add() 285 mutex_exit(&spa->spa_iokstat_lock); in vdev_queue_io_add() 291 spa_t *spa = zio->io_spa; in vdev_queue_io_remove() local 296 mutex_enter(&spa->spa_iokstat_lock); in vdev_queue_io_remove() 297 ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_queued, >, 0); in vdev_queue_io_remove() 298 spa->spa_queue_stats[zio->io_priority].spa_queued--; in vdev_queue_io_remove() [all …]
|
H A D | vdev_label.c | 215 vdev_config_generate(spa_t *spa, vdev_t *vd, boolean_t getstats, in vdev_config_generate() argument 250 spa_version(spa) >= SPA_VERSION_RAIDZ2) || in vdev_config_generate() 252 spa_version(spa) >= SPA_VERSION_RAIDZ3)); in vdev_config_generate() 309 if (spa_scan_get_stats(spa, &ps) == 0) { in vdev_config_generate() 337 child[idx++] = vdev_config_generate(spa, cvd, in vdev_config_generate() 399 vdev_top_config_generate(spa_t *spa, nvlist_t *config) in vdev_top_config_generate() argument 401 vdev_t *rvd = spa->spa_root_vdev; in vdev_top_config_generate() 436 spa_t *spa = vd->vdev_spa; in vdev_label_read_config() local 445 ASSERT(spa_config_held(spa, SCL_STATE_ALL, RW_WRITER) == SCL_STATE_ALL); in vdev_label_read_config() 456 zio = zio_root(spa, NULL, NULL, flags); in vdev_label_read_config() [all …]
|
H A D | zfs_fm.c | 107 const char *subclass, spa_t *spa, vdev_t *vd, zio_t *zio, in zfs_ereport_start() argument 119 if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT || in zfs_ereport_start() 120 spa_load_state(spa) == SPA_LOAD_RECOVER) in zfs_ereport_start() 128 if (spa_load_state(spa) != SPA_LOAD_NONE && in zfs_ereport_start() 129 spa->spa_last_open_failed) in zfs_ereport_start() 202 mutex_enter(&spa->spa_errlist_lock); in zfs_ereport_start() 209 if (spa_load_state(spa) != SPA_LOAD_NONE) { in zfs_ereport_start() 210 if (spa->spa_ena == 0) in zfs_ereport_start() 211 spa->spa_ena = fm_ena_generate(0, FM_ENA_FMT1); in zfs_ereport_start() 212 ena = spa->spa_ena; in zfs_ereport_start() [all …]
|
H A D | ddt.c | 59 spa_t *spa = ddt->ddt_spa; in ddt_object_create() local 75 VERIFY(zap_add(os, spa->spa_ddt_stat_object, name, in ddt_object_create() 84 spa_t *spa = ddt->ddt_spa; in ddt_object_destroy() local 95 VERIFY(zap_remove(os, spa->spa_ddt_stat_object, name, tx) == 0); in ddt_object_destroy() 354 spa_t *spa = ddt->ddt_spa; in ddt_stat_generate() local 370 dsize += dva_get_dsize_sync(spa, &ddp->ddp_dva[d]); in ddt_stat_generate() 444 ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total) in ddt_get_dedup_object_stats() argument 448 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_object_stats() 469 ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh) in ddt_get_dedup_histogram() argument 472 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_histogram() [all …]
|
H A D | zio.c | 499 zio_create(zio_t *pio, spa_t *spa, uint64_t txg, const blkptr_t *bp, in zio_create() argument 511 ASSERT(!vd || spa_config_held(spa, SCL_STATE_ALL, RW_READER)); in zio_create() 548 zio->io_spa = spa; in zio_create() 590 zio_null(zio_t *pio, spa_t *spa, vdev_t *vd, zio_done_func_t *done, in zio_null() argument 595 zio = zio_create(pio, spa, 0, NULL, NULL, 0, done, private, in zio_null() 603 zio_root(spa_t *spa, zio_done_func_t *done, void *private, enum zio_flag flags) in zio_root() argument 605 return (zio_null(NULL, spa, NULL, done, private, flags)); in zio_root() 609 zfs_blkptr_verify(spa_t *spa, const blkptr_t *bp) in zfs_blkptr_verify() argument 651 if (vdevid >= spa->spa_root_vdev->vdev_children) { in zfs_blkptr_verify() 657 vdev_t *vd = spa->spa_root_vdev->vdev_child[vdevid]; in zfs_blkptr_verify() [all …]
|
H A D | dsl_scan.c | 99 spa_t *spa = dp->dp_spa; in dsl_scan_init() local 158 spa_scan_stat_init(spa); in dsl_scan_init() 190 spa_t *spa = dp->dp_spa; in dsl_scan_setup_sync() local 202 scn->scn_phys.scn_to_examine = spa->spa_root_vdev->vdev_stat.vs_alloc; in dsl_scan_setup_sync() 205 spa_scan_stat_init(spa); in dsl_scan_setup_sync() 211 vdev_config_dirty(spa->spa_root_vdev); in dsl_scan_setup_sync() 213 if (vdev_resilver_needed(spa->spa_root_vdev, in dsl_scan_setup_sync() 215 spa_event_notify(spa, NULL, ESC_ZFS_RESILVER_START); in dsl_scan_setup_sync() 217 spa_event_notify(spa, NULL, ESC_ZFS_SCRUB_START); in dsl_scan_setup_sync() 220 spa->spa_scrub_started = B_TRUE; in dsl_scan_setup_sync() [all …]
|
H A D | zfs_ioctl.c | 250 static int zfs_prop_activate_feature(spa_t *spa, spa_feature_t feature); 337 spa_t *spa; in zfs_earlier_version() local 339 if (spa_open(name, &spa, FTAG) == 0) { in zfs_earlier_version() 340 if (spa_version(spa) < version) { in zfs_earlier_version() 341 spa_close(spa, FTAG); in zfs_earlier_version() 344 spa_close(spa, FTAG); in zfs_earlier_version() 376 spa_t *spa; in zfs_log_history() local 382 if (spa_open(zc->zc_name, &spa, FTAG) == 0) { in zfs_log_history() 383 if (spa_version(spa) >= SPA_VERSION_ZPOOL_HISTORY) in zfs_log_history() 384 (void) spa_history_log(spa, buf); in zfs_log_history() [all …]
|
H A D | metaslab.c | 190 metaslab_class_create(spa_t *spa, metaslab_ops_t *ops) in metaslab_class_create() argument 196 mc->mc_spa = spa; in metaslab_class_create() 753 spa_t *spa = vd->vdev_spa; in metaslab_group_allocatable() local 770 mc != spa_normal_class(spa) || mc->mc_alloc_groups == 0); in metaslab_group_allocatable() 1371 spa_t *spa = msp->ms_group->mg_vd->vdev_spa; in metaslab_fragmentation() local 1374 boolean_t feature_enabled = spa_feature_is_enabled(spa, in metaslab_fragmentation() 1392 uint64_t txg = spa_syncing_txg(spa); in metaslab_fragmentation() 1395 if (spa_writeable(spa)) { in metaslab_fragmentation() 1398 spa_dbgmsg(spa, "txg %llu, requesting force condense: " in metaslab_fragmentation() 1548 spa_t *spa = msp->ms_group->mg_vd->vdev_spa; in metaslab_preload() local [all …]
|
/titanic_50/usr/src/uts/common/fs/zfs/sys/ |
H A D | spa.h | 48 typedef struct spa spa_t; 624 extern void spa_async_request(spa_t *spa, int flag); 625 extern void spa_async_unrequest(spa_t *spa, int flag); 626 extern void spa_async_suspend(spa_t *spa); 627 extern void spa_async_resume(spa_t *spa); 629 extern void spa_inject_delref(spa_t *spa); 630 extern void spa_scan_stat_init(spa_t *spa); 631 extern int spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps); 650 extern int spa_vdev_add(spa_t *spa, nvlist_t *nvroot); 651 extern int spa_vdev_attach(spa_t *spa, uint64_t guid, nvlist_t *nvroot, [all …]
|
H A D | zfeature.h | 41 struct spa; 45 extern void spa_feature_create_zap_objects(struct spa *, struct dmu_tx *); 46 extern void spa_feature_enable(struct spa *, spa_feature_t, 48 extern void spa_feature_incr(struct spa *, spa_feature_t, struct dmu_tx *); 49 extern void spa_feature_decr(struct spa *, spa_feature_t, struct dmu_tx *); 50 extern boolean_t spa_feature_is_enabled(struct spa *, spa_feature_t); 51 extern boolean_t spa_feature_is_active(struct spa *, spa_feature_t); 52 extern boolean_t spa_feature_enabled_txg(spa_t *spa, spa_feature_t fid, 61 extern int feature_get_refcount(struct spa *, zfeature_info_t *, uint64_t *); 62 extern int feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature, [all …]
|
H A D | ddt.h | 202 extern void ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo); 203 extern void ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh); 204 extern void ddt_get_dedup_stats(spa_t *spa, ddt_stat_t *dds_total); 206 extern uint64_t ddt_get_dedup_dspace(spa_t *spa); 207 extern uint64_t ddt_get_pool_dedup_ratio(spa_t *spa); 216 extern ddt_t *ddt_select(spa_t *spa, const blkptr_t *bp); 220 extern void ddt_prefetch(spa_t *spa, const blkptr_t *bp); 223 extern boolean_t ddt_class_contains(spa_t *spa, enum ddt_class max_class, 231 extern void ddt_create(spa_t *spa); 232 extern int ddt_load(spa_t *spa); [all …]
|
H A D | arc.h | 122 arc_buf_t *arc_buf_alloc(spa_t *spa, int size, void *tag, 124 arc_buf_t *arc_loan_buf(spa_t *spa, int size); 139 int arc_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, 142 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg, 147 void arc_freed(spa_t *spa, const blkptr_t *bp); 152 void arc_flush(spa_t *spa, boolean_t retry); 163 void l2arc_add_vdev(spa_t *spa, vdev_t *vd, boolean_t rebuild); 170 void l2arc_spa_rebuild_start(spa_t *spa);
|
H A D | zio.h | 466 extern zio_t *zio_null(zio_t *pio, spa_t *spa, vdev_t *vd, 469 extern zio_t *zio_root(spa_t *spa, 472 extern zio_t *zio_read(zio_t *pio, spa_t *spa, const blkptr_t *bp, void *data, 476 extern zio_t *zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 482 extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 489 extern void zio_free(spa_t *spa, uint64_t txg, const blkptr_t *bp); 491 extern zio_t *zio_claim(zio_t *pio, spa_t *spa, uint64_t txg, 495 extern zio_t *zio_ioctl(zio_t *pio, spa_t *spa, vdev_t *vd, int cmd, 508 extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg, 511 extern int zio_alloc_zil(spa_t *spa, uint64_t txg, blkptr_t *new_bp, [all …]
|
H A D | vdev.h | 61 extern vdev_t *vdev_lookup_top(spa_t *spa, uint64_t vdev); 63 extern int vdev_count_leaves(spa_t *spa); 99 extern int vdev_fault(spa_t *spa, uint64_t guid, vdev_aux_t aux); 100 extern int vdev_degrade(spa_t *spa, uint64_t guid, vdev_aux_t aux); 101 extern int vdev_online(spa_t *spa, uint64_t guid, uint64_t flags, 103 extern int vdev_offline(spa_t *spa, uint64_t guid, uint64_t flags); 104 extern void vdev_clear(spa_t *spa, vdev_t *vd); 136 extern void vdev_top_config_generate(spa_t *spa, nvlist_t *config); 137 extern nvlist_t *vdev_config_generate(spa_t *spa, vdev_t *vd,
|
/titanic_50/usr/src/cmd/zhack/ |
H A D | zhack.c | 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() [all …]
|
/titanic_50/usr/src/cmd/ztest/ |
H A D | ztest.c | 997 ztest_random_vdev_top(spa_t *spa, boolean_t log_ok) in ztest_random_vdev_top() argument 1000 vdev_t *rvd = spa->spa_root_vdev; in ztest_random_vdev_top() 1003 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in ztest_random_vdev_top() 1059 spa_t *spa = ztest_spa; in ztest_spa_prop_set_uint64() local 1066 error = spa_prop_set(spa, props); in ztest_spa_prop_set_uint64() 2350 spa_t *spa; in ztest_spa_create_destroy() local 2377 VERIFY3U(0, ==, spa_open(zo->zo_pool, &spa, FTAG)); in ztest_spa_create_destroy() 2379 spa_close(spa, FTAG); in ztest_spa_create_destroy() 2388 spa_t *spa; in ztest_spa_upgrade() local 2437 VERIFY0(spa_open(name, &spa, FTAG)); in ztest_spa_upgrade() [all …]
|
/titanic_50/usr/src/cmd/zdb/ |
H A D | zdb.c | 653 verify_spacemap_refcounts(spa_t *spa) in verify_spacemap_refcounts() argument 658 (void) feature_get_refcount(spa, in verify_spacemap_refcounts() 661 actual_refcount = get_dtl_refcount(spa->spa_root_vdev); in verify_spacemap_refcounts() 662 actual_refcount += get_metaslab_refcount(spa->spa_root_vdev); in verify_spacemap_refcounts() 749 spa_t *spa = vd->vdev_spa; in dump_metaslab() local 774 spa_feature_is_active(spa, SPA_FEATURE_SPACEMAP_HISTOGRAM)) { in dump_metaslab() 789 dump_spacemap(spa->spa_meta_objset, msp->ms_sm); in dump_metaslab() 807 dump_metaslab_groups(spa_t *spa) in dump_metaslab_groups() argument 809 vdev_t *rvd = spa->spa_root_vdev; in dump_metaslab_groups() 810 metaslab_class_t *mc = spa_normal_class(spa); in dump_metaslab_groups() [all …]
|