| /freebsd/sys/contrib/openzfs/module/zfs/ |
| H A D | spa.c | 197 static boolean_t spa_has_active_shared_spare(spa_t *spa); 198 static int spa_load_impl(spa_t *spa, spa_import_type_t type, 200 static void spa_vdev_resilver_done(spa_t *spa); 378 spa_prop_add(spa_t *spa, const char *propname, nvlist_t *outnvl) in spa_prop_add() argument 391 err = ddt_get_pool_dedup_cached(spa, &intval); in spa_prop_add() 405 spa_prop_get_nvlist(spa_t *spa, char **props, unsigned int n_props, in spa_prop_get_nvlist() argument 414 err = spa_prop_add(spa, props[i], outnvl); in spa_prop_get_nvlist() 478 spa_prop_get_config(spa_t *spa, nvlist_t *nv) in spa_prop_get_config() argument 480 vdev_t *rvd = spa->spa_root_vdev; in spa_prop_get_config() 481 dsl_pool_t *pool = spa->spa_dsl_pool; in spa_prop_get_config() [all …]
|
| H A D | spa_misc.c | 408 spa_load_failed(spa_t *spa, const char *fmt, ...) in spa_load_failed() argument 417 zfs_dbgmsg("spa_load(%s, config %s): FAILED: %s", spa_load_name(spa), in spa_load_failed() 418 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_failed() 422 spa_load_note(spa_t *spa, const char *fmt, ...) in spa_load_note() argument 431 zfs_dbgmsg("spa_load(%s, config %s): %s", spa_load_name(spa), in spa_load_note() 432 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_note() 434 spa_import_progress_set_notes_nolog(spa, "%s", buf); in spa_load_note() 456 spa_config_lock_init(spa_t *spa) in spa_config_lock_init() argument 459 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_init() 469 spa_config_lock_destroy(spa_t *spa) in spa_config_lock_destroy() argument [all …]
|
| H A D | spa_log_spacemap.c | 308 spa_estimate_incoming_log_blocks(spa_t *spa) in spa_estimate_incoming_log_blocks() argument 310 ASSERT3U(spa_sync_pass(spa), ==, 1); in spa_estimate_incoming_log_blocks() 312 for (spa_log_sm_t *sls = avl_last(&spa->spa_sm_logs_by_txg); in spa_estimate_incoming_log_blocks() 314 sls = AVL_PREV(&spa->spa_sm_logs_by_txg, sls)) { in spa_estimate_incoming_log_blocks() 315 if (sls->sls_txg == spa_syncing_txg(spa)) { in spa_estimate_incoming_log_blocks() 329 spa_log_sm_blocklimit(spa_t *spa) in spa_log_sm_blocklimit() argument 331 return (spa->spa_unflushed_stats.sus_blocklimit); in spa_log_sm_blocklimit() 335 spa_log_sm_set_blocklimit(spa_t *spa) in spa_log_sm_set_blocklimit() argument 337 if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) { in spa_log_sm_set_blocklimit() 338 ASSERT0(spa_log_sm_blocklimit(spa)); in spa_log_sm_set_blocklimit() [all …]
|
| H A D | zfeature.c | 175 spa_features_check(spa_t *spa, boolean_t for_write, in spa_features_check() argument 178 objset_t *os = spa->spa_meta_objset; in spa_features_check() 183 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in spa_features_check() 209 if (zap_lookup(os, spa->spa_feat_desc_obj, in spa_features_check() 235 feature_get_refcount(spa_t *spa, zfeature_info_t *feature, uint64_t *res) in feature_get_refcount() argument 238 if (spa->spa_feat_refcount_cache[feature->fi_feature] == in feature_get_refcount() 242 *res = spa->spa_feat_refcount_cache[feature->fi_feature]; in feature_get_refcount() 252 feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature, in feature_get_refcount_from_disk() argument 258 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in feature_get_refcount_from_disk() 267 err = zap_lookup(spa->spa_meta_objset, zapobj, in feature_get_refcount_from_disk() [all …]
|
| H A D | spa_errlog.c | 162 static int get_head_ds(spa_t *spa, uint64_t dsobj, uint64_t *head_ds) in get_head_ds() argument 165 int error = dsl_dataset_hold_obj_flags(spa->spa_dsl_pool, in get_head_ds() 184 spa_log_error(spa_t *spa, const zbookmark_phys_t *zb, const uint64_t birth) in spa_log_error() argument 195 if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT) in spa_log_error() 198 mutex_enter(&spa->spa_errlist_lock); in spa_log_error() 204 if (spa->spa_scrub_active || spa->spa_scrub_finished) in spa_log_error() 205 tree = &spa->spa_errlist_scrub; in spa_log_error() 207 tree = &spa->spa_errlist_last; in spa_log_error() 211 mutex_exit(&spa->spa_errlist_lock); in spa_log_error() 223 if (spa_feature_is_enabled(spa, SPA_FEATURE_HEAD_ERRLOG)) { in spa_log_error() [all …]
|
| H A D | brt.c | 310 static void brt_vdevs_expand(spa_t *spa, uint64_t nvdevs); 313 brt_rlock(spa_t *spa) in brt_rlock() argument 315 rw_enter(&spa->spa_brt_lock, RW_READER); in brt_rlock() 319 brt_wlock(spa_t *spa) in brt_wlock() argument 321 rw_enter(&spa->spa_brt_lock, RW_WRITER); in brt_wlock() 325 brt_unlock(spa_t *spa) in brt_unlock() argument 327 rw_exit(&spa->spa_brt_lock); in brt_unlock() 423 brt_vdev(spa_t *spa, uint64_t vdevid, boolean_t alloc) in brt_vdev() argument 427 brt_rlock(spa); in brt_vdev() 428 if (vdevid < spa->spa_brt_nvdevs) { in brt_vdev() [all …]
|
| H A D | spa_config.c | 177 spa_t *spa = NULL; in spa_write_cachefile() local 185 while ((spa = spa_next(spa)) != NULL) { in spa_write_cachefile() 193 if ((spa == target && removing) || in spa_write_cachefile() 194 !spa_writeable(spa)) in spa_write_cachefile() 197 mutex_enter(&spa->spa_props_lock); in spa_write_cachefile() 198 tdp = list_head(&spa->spa_config_list); in spa_write_cachefile() 199 if (spa->spa_config == NULL || in spa_write_cachefile() 203 mutex_exit(&spa->spa_props_lock); in spa_write_cachefile() 210 if (spa->spa_import_flags & ZFS_IMPORT_TEMP_NAME) in spa_write_cachefile() 212 spa->spa_config, ZPOOL_CONFIG_POOL_NAME); in spa_write_cachefile() [all …]
|
| H A D | spa_checkpoint.c | 165 spa_checkpoint_get_stats(spa_t *spa, pool_checkpoint_stat_t *pcs) in spa_checkpoint_get_stats() argument 167 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_get_stats() 172 int error = zap_contains(spa_meta_objset(spa), in spa_checkpoint_get_stats() 181 pcs->pcs_space = spa->spa_checkpoint_info.sci_dspace; in spa_checkpoint_get_stats() 182 pcs->pcs_start_time = spa->spa_checkpoint_info.sci_timestamp; in spa_checkpoint_get_stats() 190 spa_t *spa = arg; in spa_checkpoint_discard_complete_sync() local 192 spa->spa_checkpoint_info.sci_timestamp = 0; in spa_checkpoint_discard_complete_sync() 194 spa_feature_decr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx); in spa_checkpoint_discard_complete_sync() 195 spa_notify_waiters(spa); in spa_checkpoint_discard_complete_sync() 197 spa_history_log_internal(spa, "spa discard checkpoint", tx, in spa_checkpoint_discard_complete_sync() [all …]
|
| H A D | vdev_removal.c | 181 static int spa_vdev_remove_cancel_impl(spa_t *spa); 184 spa_sync_removing_state(spa_t *spa, dmu_tx_t *tx) in spa_sync_removing_state() argument 186 VERIFY0(zap_update(spa->spa_dsl_pool->dp_meta_objset, in spa_sync_removing_state() 189 sizeof (spa->spa_removing_phys) / sizeof (uint64_t), in spa_sync_removing_state() 190 &spa->spa_removing_phys, tx)); in spa_sync_removing_state() 226 spa_t *spa = vd->vdev_spa; in vdev_passivate() local 231 vdev_t *rvd = spa->spa_root_vdev; in vdev_passivate() 233 metaslab_class_t *normal = spa_normal_class(spa); in vdev_passivate() 269 spa_vdev_config_exit(spa, NULL, in vdev_passivate() 278 error = spa_reset_logs(spa); in vdev_passivate() [all …]
|
| H A D | mmp.c | 203 mmp_init(spa_t *spa) in mmp_init() argument 205 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_init() 214 mmp_fini(spa_t *spa) in mmp_fini() argument 216 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_fini() 240 mmp_thread_start(spa_t *spa) in mmp_thread_start() argument 242 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_thread_start() 244 if (spa_writeable(spa)) { in mmp_thread_start() 248 spa, 0, &p0, TS_RUN, defclsyspri); in mmp_thread_start() 250 "gethrtime=%llu", spa_name(spa), gethrtime()); in mmp_thread_start() 257 mmp_thread_stop(spa_t *spa) in mmp_thread_stop() argument [all …]
|
| H A D | spa_history.c | 88 spa_history_create_obj(spa_t *spa, dmu_tx_t *tx) in spa_history_create_obj() argument 92 objset_t *mos = spa->spa_meta_objset; in spa_history_create_obj() 94 ASSERT0(spa->spa_history); in spa_history_create_obj() 95 spa->spa_history = dmu_object_alloc(mos, DMU_OT_SPA_HISTORY, in spa_history_create_obj() 101 &spa->spa_history, tx)); in spa_history_create_obj() 103 VERIFY0(dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp)); in spa_history_create_obj() 114 metaslab_class_get_dspace(spa_normal_class(spa)) / 1000; in spa_history_create_obj() 125 spa_history_advance_bof(spa_t *spa, spa_history_phys_t *shpp) in spa_history_advance_bof() argument 127 objset_t *mos = spa->spa_meta_objset; in spa_history_advance_bof() 135 if ((err = dmu_read(mos, spa->spa_history, phys_bof, firstread, in spa_history_advance_bof() [all …]
|
| H A D | spa_stats.c | 123 spa_read_history_init(spa_t *spa) in spa_read_history_init() argument 125 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_init() 130 spa_name(spa), in spa_read_history_init() 141 spa_read_history_destroy(spa_t *spa) in spa_read_history_destroy() argument 143 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_destroy() 150 spa_read_history_add(spa_t *spa, const zbookmark_phys_t *zb, uint32_t aflags) in spa_read_history_add() argument 152 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_add() 155 ASSERT3P(spa, !=, NULL); in spa_read_history_add() 289 spa_txg_history_init(spa_t *spa) in spa_txg_history_init() argument 291 spa_history_list_t *shl = &spa->spa_stats.txg_history; in spa_txg_history_init() [all …]
|
| H A D | ddt_stats.c | 40 spa_t *spa = ddt->ddt_spa; in ddt_stat_generate() local 60 dsize += dva_get_dsize_sync(spa, &dvas[d]); in ddt_stat_generate() 183 ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total) in ddt_get_dedup_object_stats() argument 188 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_object_stats() 238 spa->spa_dedup_dsize = ddo_total->ddo_dspace; in ddt_get_dedup_object_stats() 242 ddt_get_ddt_dsize(spa_t *spa) in ddt_get_ddt_dsize() argument 247 if (spa->spa_dedup_dsize == ~0ULL) in ddt_get_ddt_dsize() 248 ddt_get_dedup_object_stats(spa, &ddo_total); in ddt_get_ddt_dsize() 250 return (spa->spa_dedup_dsize); in ddt_get_ddt_dsize() 254 ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh) in ddt_get_dedup_histogram() argument [all …]
|
| H A D | vdev_rebuild.c | 194 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in vdev_rebuild_update_sync() local 195 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_rebuild_update_sync() 224 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in vdev_rebuild_initiate_sync() local 225 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_rebuild_initiate_sync() 255 spa_history_log_internal(spa, "rebuild", tx, in vdev_rebuild_initiate_sync() 267 vdev_rebuild_log_notify(spa_t *spa, vdev_t *vd, const char *name) in vdev_rebuild_log_notify() argument 272 spa_event_notify(spa, vd, aux, name); in vdev_rebuild_log_notify() 283 spa_t *spa = vd->vdev_spa; in vdev_rebuild_initiate() local 289 dmu_tx_t *tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg); in vdev_rebuild_initiate() 293 dsl_sync_task_nowait(spa_get_dsl(spa), vdev_rebuild_initiate_sync, in vdev_rebuild_initiate() [all …]
|
| H A D | vdev.c | 472 spa_t *spa = vd->vdev_spa; in vdev_prop_get_int() local 473 objset_t *mos = spa->spa_meta_objset; in vdev_prop_get_int() 515 vdev_lookup_top(spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument 517 vdev_t *rvd = spa->spa_root_vdev; in vdev_lookup_top() 519 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_lookup_top() 560 vdev_count_leaves(spa_t *spa) in vdev_count_leaves() argument 564 spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER); in vdev_count_leaves() 565 rc = vdev_count_leaves_impl(spa->spa_root_vdev); in vdev_count_leaves() 566 spa_config_exit(spa, SCL_VDEV, FTAG); in vdev_count_leaves() 645 spa_t *spa = cvd->vdev_spa; in vdev_remove_child() local [all …]
|
| /freebsd/sys/contrib/openzfs/include/sys/ |
| H A D | spa.h | 58 typedef struct spa spa_t; 790 extern void spa_async_request(spa_t *spa, int flag); 791 extern void spa_async_unrequest(spa_t *spa, int flag); 792 extern void spa_async_suspend(spa_t *spa); 793 extern void spa_async_resume(spa_t *spa); 794 extern int spa_async_tasks(spa_t *spa); 796 extern void spa_inject_delref(spa_t *spa); 797 extern void spa_scan_stat_init(spa_t *spa); 798 extern int spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps); 820 extern int spa_vdev_add(spa_t *spa, nvlist_t *nvroot, boolean_t ashift_check); [all …]
|
| H A D | brt.h | 39 extern boolean_t brt_entry_decref(spa_t *spa, const blkptr_t *bp); 40 extern uint64_t brt_entry_get_refcount(spa_t *spa, const blkptr_t *bp); 42 extern uint64_t brt_get_dspace(spa_t *spa); 43 extern uint64_t brt_get_used(spa_t *spa); 44 extern uint64_t brt_get_saved(spa_t *spa); 45 extern uint64_t brt_get_ratio(spa_t *spa); 47 extern boolean_t brt_maybe_exists(spa_t *spa, const blkptr_t *bp); 51 extern void brt_pending_add(spa_t *spa, const blkptr_t *bp, dmu_tx_t *tx); 52 extern void brt_pending_remove(spa_t *spa, const blkptr_t *bp, dmu_tx_t *tx); 53 extern void brt_pending_apply(spa_t *spa, uint64_t txg); [all …]
|
| H A D | zfeature.h | 42 struct spa; 46 extern void spa_feature_create_zap_objects(struct spa *, struct dmu_tx *); 47 extern void spa_feature_enable(struct spa *, spa_feature_t, 49 extern void spa_feature_incr(struct spa *, spa_feature_t, struct dmu_tx *); 50 extern void spa_feature_decr(struct spa *, spa_feature_t, struct dmu_tx *); 51 extern boolean_t spa_feature_is_enabled(struct spa *, spa_feature_t); 52 extern boolean_t spa_feature_is_active(struct spa *, spa_feature_t); 53 extern boolean_t spa_feature_enabled_txg(spa_t *spa, spa_feature_t fid, 62 extern int feature_get_refcount(struct spa *, zfeature_info_t *, uint64_t *); 63 extern int feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature, [all …]
|
| H A D | mmp.h | 63 extern void mmp_init(struct spa *spa); 64 extern void mmp_fini(struct spa *spa); 65 extern void mmp_thread_start(struct spa *spa); 66 extern void mmp_thread_stop(struct spa *spa); 67 extern void mmp_update_uberblock(struct spa *spa, struct uberblock *ub); 69 extern int mmp_claim_uberblock(spa_t *spa, vdev_t *vd, uberblock_t *ub);
|
| /freebsd/sys/contrib/openzfs/module/os/freebsd/zfs/ |
| H A D | spa_os.c | 185 spa_t *spa; in spa_import_rootpool() local 201 if ((spa = spa_lookup(pname)) != NULL) { in spa_import_rootpool() 206 if (spa->spa_state == POOL_STATE_ACTIVE) { in spa_import_rootpool() 217 spa_remove(spa); in spa_import_rootpool() 219 spa = spa_add(pname, config, NULL); in spa_import_rootpool() 226 &spa->spa_ubsync.ub_version) != 0) in spa_import_rootpool() 227 spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL; in spa_import_rootpool() 228 } else if ((spa = spa_lookup(name)) == NULL) { in spa_import_rootpool() 235 config = fnvlist_dup(spa->spa_config); in spa_import_rootpool() 237 spa->spa_is_root = B_TRUE; in spa_import_rootpool() [all …]
|
| H A D | zfs_ioctl_os.c | 94 spa_t *spa; in zfs_ioc_nextboot() local 112 spa = spa_by_guid(pool_guid, vdev_guid); in zfs_ioc_nextboot() 113 if (spa != NULL) in zfs_ioc_nextboot() 114 strcpy(name, spa_name(spa)); in zfs_ioc_nextboot() 116 if (spa == NULL) in zfs_ioc_nextboot() 119 if ((error = spa_open(name, &spa, FTAG)) != 0) in zfs_ioc_nextboot() 121 spa_vdev_state_enter(spa, SCL_ALL); in zfs_ioc_nextboot() 122 vd = spa_lookup_by_guid(spa, vdev_guid, B_TRUE); in zfs_ioc_nextboot() 124 (void) spa_vdev_state_exit(spa, NULL, ENXIO); in zfs_ioc_nextboot() 125 spa_close(spa, FTAG); in zfs_ioc_nextboot() [all …]
|
| /freebsd/stand/libsa/zfs/ |
| H A D | zfs.c | 59 static void zfs_bootenv_initial(const char *envname, spa_t *spa, 61 static void zfs_checkpoints_initial(spa_t *spa, const char *name, 152 const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; in zfs_read() local 165 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, start, n); in zfs_read() 217 const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; in zfs_stat() local 220 return (zfs_dnode_stat(spa, &fp->f_dnode, sb)); in zfs_stat() 227 const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; in zfs_readdir() local 244 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir() 252 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir() 263 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir() [all …]
|
| H A D | zfsimpl.c | 48 const spa_t *spa; member 144 static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf); 145 static int zio_read_impl(const spa_t *spa, const blkptr_t *bp, void *buf, 147 static int zfs_get_root(const spa_t *spa, uint64_t *objid); 148 static int zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result); 149 static int zap_lookup(const spa_t *spa, const dnode_phys_t *dnode, 287 vdev_indirect_mapping_open(spa_t *spa, objset_phys_t *os, in vdev_indirect_mapping_open() argument 304 rc = objset_get_dnode(spa, os, mapping_object, vim->vim_dn); in vdev_indirect_mapping_open() 311 vim->vim_spa = spa; in vdev_indirect_mapping_open() 536 vdev_lookup_top(const spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument [all …]
|
| /freebsd/stand/efi/boot1/ |
| H A D | zfs_module.c | 116 spa_t *spa; in probe() local 127 if (vdev_probe(vdev_read, NULL, tdev, &spa) != 0) { in probe() 132 dev->devdata = spa; in probe() 141 spa_t *spa; in load() local 149 spa = devinfo->devdata; in load() 155 spa->spa_name, text); in load() 159 if ((err = zfs_spa_init(spa)) != 0) { in load() 160 DPRINTF("Failed to load pool '%s' (%d)\n", spa->spa_name, err); in load() 164 if (zfs_get_bootonce_spa(spa, OS_BOOTONCE, zfs_bootonce, in load() 189 if (zfs_lookup_dataset(spa, dname, &rootobj) != 0) { in load() [all …]
|
| /freebsd/sys/contrib/openzfs/cmd/ |
| H A D | zhack.c | 154 fatal(spa_t *spa, const void *tag, const char *fmt, ...) in fatal() argument 158 if (spa != NULL) { in fatal() 159 spa_close(spa, tag); in fatal() 238 zhack_spa_open(char *target, boolean_t readonly, const void *tag, spa_t **spa) in zhack_spa_open() argument 245 err = spa_open(target, spa, tag); in zhack_spa_open() 249 fatal(*spa, FTAG, "cannot open '%s': %s", target, in zhack_spa_open() 251 if (spa_version(*spa) < SPA_VERSION_FEATURES) { in zhack_spa_open() 252 fatal(*spa, FTAG, "'%s' has version %d, features not enabled", in zhack_spa_open() 253 target, (int)spa_version(*spa)); in zhack_spa_open() 285 dump_mos(spa_t *spa) in dump_mos() argument [all …]
|