Home
last modified time | relevance | path

Searched refs:spa (Results 1 – 25 of 164) sorted by relevance

1234567

/freebsd/sys/contrib/openzfs/module/zfs/
H A Dspa.c189 static boolean_t spa_has_active_shared_spare(spa_t *spa);
190 static int spa_load_impl(spa_t *spa, spa_import_type_t type,
192 static void spa_vdev_resilver_done(spa_t *spa);
370 spa_prop_add(spa_t *spa, const char *propname, nvlist_t *outnvl) in spa_prop_add() argument
383 err = ddt_get_pool_dedup_cached(spa, &intval); in spa_prop_add()
397 spa_prop_get_nvlist(spa_t *spa, char **props, unsigned int n_props, in spa_prop_get_nvlist() argument
406 err = spa_prop_add(spa, props[i], outnvl); in spa_prop_get_nvlist()
470 spa_prop_get_config(spa_t *spa, nvlist_t *nv) in spa_prop_get_config() argument
472 vdev_t *rvd = spa->spa_root_vdev; in spa_prop_get_config()
473 dsl_pool_t *pool = spa->spa_dsl_pool; in spa_prop_get_config()
[all …]
H A Dspa_misc.c398 spa_load_failed(spa_t *spa, const char *fmt, ...) in spa_load_failed() argument
407 zfs_dbgmsg("spa_load(%s, config %s): FAILED: %s", spa_load_name(spa), in spa_load_failed()
408 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_failed()
412 spa_load_note(spa_t *spa, const char *fmt, ...) in spa_load_note() argument
421 zfs_dbgmsg("spa_load(%s, config %s): %s", spa_load_name(spa), in spa_load_note()
422 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_note()
424 spa_import_progress_set_notes_nolog(spa, "%s", buf); in spa_load_note()
446 spa_config_lock_init(spa_t *spa) in spa_config_lock_init() argument
449 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_init()
459 spa_config_lock_destroy(spa_t *spa) in spa_config_lock_destroy() argument
[all …]
H A Dspa_log_spacemap.c307 spa_estimate_incoming_log_blocks(spa_t *spa) in spa_estimate_incoming_log_blocks() argument
309 ASSERT3U(spa_sync_pass(spa), ==, 1); in spa_estimate_incoming_log_blocks()
311 for (spa_log_sm_t *sls = avl_last(&spa->spa_sm_logs_by_txg); in spa_estimate_incoming_log_blocks()
313 sls = AVL_PREV(&spa->spa_sm_logs_by_txg, sls)) { in spa_estimate_incoming_log_blocks()
314 if (sls->sls_txg == spa_syncing_txg(spa)) { in spa_estimate_incoming_log_blocks()
328 spa_log_sm_blocklimit(spa_t *spa) in spa_log_sm_blocklimit() argument
330 return (spa->spa_unflushed_stats.sus_blocklimit); in spa_log_sm_blocklimit()
334 spa_log_sm_set_blocklimit(spa_t *spa) in spa_log_sm_set_blocklimit() argument
336 if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) { in spa_log_sm_set_blocklimit()
337 ASSERT0(spa_log_sm_blocklimit(spa)); in spa_log_sm_set_blocklimit()
[all …]
H A Dzfeature.c165 spa_features_check(spa_t *spa, boolean_t for_write, in spa_features_check() argument
168 objset_t *os = spa->spa_meta_objset; in spa_features_check()
173 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in spa_features_check()
199 if (zap_lookup(os, spa->spa_feat_desc_obj, in spa_features_check()
225 feature_get_refcount(spa_t *spa, zfeature_info_t *feature, uint64_t *res) in feature_get_refcount() argument
228 if (spa->spa_feat_refcount_cache[feature->fi_feature] == in feature_get_refcount()
232 *res = spa->spa_feat_refcount_cache[feature->fi_feature]; in feature_get_refcount()
242 feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature, in feature_get_refcount_from_disk() argument
248 spa->spa_feat_for_write_obj : spa->spa_feat_for_read_obj; in feature_get_refcount_from_disk()
257 err = zap_lookup(spa->spa_meta_objset, zapobj, in feature_get_refcount_from_disk()
[all …]
H A Dspa_errlog.c152 static int get_head_ds(spa_t *spa, uint64_t dsobj, uint64_t *head_ds) in get_head_ds() argument
155 int error = dsl_dataset_hold_obj_flags(spa->spa_dsl_pool, in get_head_ds()
174 spa_log_error(spa_t *spa, const zbookmark_phys_t *zb, const uint64_t birth) in spa_log_error() argument
185 if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT) in spa_log_error()
188 mutex_enter(&spa->spa_errlist_lock); in spa_log_error()
194 if (spa->spa_scrub_active || spa->spa_scrub_finished) in spa_log_error()
195 tree = &spa->spa_errlist_scrub; in spa_log_error()
197 tree = &spa->spa_errlist_last; in spa_log_error()
201 mutex_exit(&spa->spa_errlist_lock); in spa_log_error()
213 if (spa_feature_is_enabled(spa, SPA_FEATURE_HEAD_ERRLOG)) { in spa_log_error()
[all …]
H A Dspa_config.c167 spa_t *spa = NULL; in spa_write_cachefile() local
175 while ((spa = spa_next(spa)) != NULL) { in spa_write_cachefile()
183 if ((spa == target && removing) || in spa_write_cachefile()
184 !spa_writeable(spa)) in spa_write_cachefile()
187 mutex_enter(&spa->spa_props_lock); in spa_write_cachefile()
188 tdp = list_head(&spa->spa_config_list); in spa_write_cachefile()
189 if (spa->spa_config == NULL || in spa_write_cachefile()
193 mutex_exit(&spa->spa_props_lock); in spa_write_cachefile()
200 if (spa->spa_import_flags & ZFS_IMPORT_TEMP_NAME) in spa_write_cachefile()
202 spa->spa_config, ZPOOL_CONFIG_POOL_NAME); in spa_write_cachefile()
[all …]
H A Dspa_checkpoint.c155 spa_checkpoint_get_stats(spa_t *spa, pool_checkpoint_stat_t *pcs) in spa_checkpoint_get_stats() argument
157 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_get_stats()
162 int error = zap_contains(spa_meta_objset(spa), in spa_checkpoint_get_stats()
171 pcs->pcs_space = spa->spa_checkpoint_info.sci_dspace; in spa_checkpoint_get_stats()
172 pcs->pcs_start_time = spa->spa_checkpoint_info.sci_timestamp; in spa_checkpoint_get_stats()
180 spa_t *spa = arg; in spa_checkpoint_discard_complete_sync() local
182 spa->spa_checkpoint_info.sci_timestamp = 0; in spa_checkpoint_discard_complete_sync()
184 spa_feature_decr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx); in spa_checkpoint_discard_complete_sync()
185 spa_notify_waiters(spa); in spa_checkpoint_discard_complete_sync()
187 spa_history_log_internal(spa, "spa discard checkpoint", tx, in spa_checkpoint_discard_complete_sync()
[all …]
H A Dbrt.c303 static void brt_vdevs_expand(spa_t *spa, uint64_t nvdevs);
306 brt_rlock(spa_t *spa) in brt_rlock() argument
308 rw_enter(&spa->spa_brt_lock, RW_READER); in brt_rlock()
312 brt_wlock(spa_t *spa) in brt_wlock() argument
314 rw_enter(&spa->spa_brt_lock, RW_WRITER); in brt_wlock()
318 brt_unlock(spa_t *spa) in brt_unlock() argument
320 rw_exit(&spa->spa_brt_lock); in brt_unlock()
416 brt_vdev(spa_t *spa, uint64_t vdevid, boolean_t alloc) in brt_vdev() argument
420 brt_rlock(spa); in brt_vdev()
421 if (vdevid < spa->spa_brt_nvdevs) { in brt_vdev()
[all …]
H A Dvdev_removal.c171 static int spa_vdev_remove_cancel_impl(spa_t *spa);
174 spa_sync_removing_state(spa_t *spa, dmu_tx_t *tx) in spa_sync_removing_state() argument
176 VERIFY0(zap_update(spa->spa_dsl_pool->dp_meta_objset, in spa_sync_removing_state()
179 sizeof (spa->spa_removing_phys) / sizeof (uint64_t), in spa_sync_removing_state()
180 &spa->spa_removing_phys, tx)); in spa_sync_removing_state()
216 spa_t *spa = vd->vdev_spa; in vdev_passivate() local
221 vdev_t *rvd = spa->spa_root_vdev; in vdev_passivate()
223 metaslab_class_t *normal = spa_normal_class(spa); in vdev_passivate()
259 spa_vdev_config_exit(spa, NULL, in vdev_passivate()
268 error = spa_reset_logs(spa); in vdev_passivate()
[all …]
H A Dmmp.c209 mmp_init(spa_t *spa) in mmp_init() argument
211 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_init()
220 mmp_fini(spa_t *spa) in mmp_fini() argument
222 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_fini()
246 mmp_thread_start(spa_t *spa) in mmp_thread_start() argument
248 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_thread_start()
250 if (spa_writeable(spa)) { in mmp_thread_start()
254 spa, 0, &p0, TS_RUN, defclsyspri); in mmp_thread_start()
256 "gethrtime=%llu", spa_name(spa), gethrtime()); in mmp_thread_start()
263 mmp_thread_stop(spa_t *spa) in mmp_thread_stop() argument
[all …]
H A Dspa_stats.c118 spa_read_history_init(spa_t *spa) in spa_read_history_init() argument
120 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_init()
125 spa_name(spa), in spa_read_history_init()
136 spa_read_history_destroy(spa_t *spa) in spa_read_history_destroy() argument
138 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_destroy()
145 spa_read_history_add(spa_t *spa, const zbookmark_phys_t *zb, uint32_t aflags) in spa_read_history_add() argument
147 spa_history_list_t *shl = &spa->spa_stats.read_history; in spa_read_history_add()
150 ASSERT3P(spa, !=, NULL); in spa_read_history_add()
284 spa_txg_history_init(spa_t *spa) in spa_txg_history_init() argument
286 spa_history_list_t *shl = &spa->spa_stats.txg_history; in spa_txg_history_init()
[all …]
H A Dspa_history.c78 spa_history_create_obj(spa_t *spa, dmu_tx_t *tx) in spa_history_create_obj() argument
82 objset_t *mos = spa->spa_meta_objset; in spa_history_create_obj()
84 ASSERT0(spa->spa_history); in spa_history_create_obj()
85 spa->spa_history = dmu_object_alloc(mos, DMU_OT_SPA_HISTORY, in spa_history_create_obj()
91 &spa->spa_history, tx)); in spa_history_create_obj()
93 VERIFY0(dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp)); in spa_history_create_obj()
104 metaslab_class_get_dspace(spa_normal_class(spa)) / 1000; in spa_history_create_obj()
115 spa_history_advance_bof(spa_t *spa, spa_history_phys_t *shpp) in spa_history_advance_bof() argument
117 objset_t *mos = spa->spa_meta_objset; in spa_history_advance_bof()
125 if ((err = dmu_read(mos, spa->spa_history, phys_bof, firstread, in spa_history_advance_bof()
[all …]
H A Dddt_stats.c30 spa_t *spa = ddt->ddt_spa; in ddt_stat_generate() local
50 dsize += dva_get_dsize_sync(spa, &dvas[d]); in ddt_stat_generate()
173 ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total) in ddt_get_dedup_object_stats() argument
178 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_object_stats()
228 spa->spa_dedup_dsize = ddo_total->ddo_dspace; in ddt_get_dedup_object_stats()
232 ddt_get_ddt_dsize(spa_t *spa) in ddt_get_ddt_dsize() argument
237 if (spa->spa_dedup_dsize == ~0ULL) in ddt_get_ddt_dsize()
238 ddt_get_dedup_object_stats(spa, &ddo_total); in ddt_get_ddt_dsize()
240 return (spa->spa_dedup_dsize); in ddt_get_ddt_dsize()
244 ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh) in ddt_get_dedup_histogram() argument
[all …]
H A Dvdev_rebuild.c184 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in vdev_rebuild_update_sync() local
185 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_rebuild_update_sync()
214 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in vdev_rebuild_initiate_sync() local
215 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_rebuild_initiate_sync()
245 spa_history_log_internal(spa, "rebuild", tx, in vdev_rebuild_initiate_sync()
257 vdev_rebuild_log_notify(spa_t *spa, vdev_t *vd, const char *name) in vdev_rebuild_log_notify() argument
262 spa_event_notify(spa, vd, aux, name); in vdev_rebuild_log_notify()
273 spa_t *spa = vd->vdev_spa; in vdev_rebuild_initiate() local
279 dmu_tx_t *tx = dmu_tx_create_assigned(spa_get_dsl(spa), txg); in vdev_rebuild_initiate()
283 dsl_sync_task_nowait(spa_get_dsl(spa), vdev_rebuild_initiate_sync, in vdev_rebuild_initiate()
[all …]
H A Dvdev.c464 spa_t *spa = vd->vdev_spa; in vdev_prop_get_int() local
465 objset_t *mos = spa->spa_meta_objset; in vdev_prop_get_int()
510 vdev_lookup_top(spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument
512 vdev_t *rvd = spa->spa_root_vdev; in vdev_lookup_top()
514 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_lookup_top()
555 vdev_count_leaves(spa_t *spa) in vdev_count_leaves() argument
560 held = (spa_config_held(spa, SCL_VDEV, RW_WRITER) == SCL_VDEV); in vdev_count_leaves()
563 spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER); in vdev_count_leaves()
564 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()
[all …]
/freebsd/sys/contrib/openzfs/include/sys/
H A Dspa.h50 typedef struct spa spa_t;
782 extern void spa_async_request(spa_t *spa, int flag);
783 extern void spa_async_unrequest(spa_t *spa, int flag);
784 extern void spa_async_suspend(spa_t *spa);
785 extern void spa_async_resume(spa_t *spa);
786 extern int spa_async_tasks(spa_t *spa);
788 extern void spa_inject_delref(spa_t *spa);
789 extern void spa_scan_stat_init(spa_t *spa);
790 extern int spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps);
813 extern int spa_vdev_add(spa_t *spa, nvlist_t *nvroot, boolean_t ashift_check);
[all …]
H A Dbrt.h29 extern boolean_t brt_entry_decref(spa_t *spa, const blkptr_t *bp);
30 extern uint64_t brt_entry_get_refcount(spa_t *spa, const blkptr_t *bp);
32 extern uint64_t brt_get_dspace(spa_t *spa);
33 extern uint64_t brt_get_used(spa_t *spa);
34 extern uint64_t brt_get_saved(spa_t *spa);
35 extern uint64_t brt_get_ratio(spa_t *spa);
37 extern boolean_t brt_maybe_exists(spa_t *spa, const blkptr_t *bp);
38 extern uint64_t brt_sync_dirty_est(spa_t *spa);
42 extern void brt_pending_add(spa_t *spa, const blkptr_t *bp, dmu_tx_t *tx);
43 extern void brt_pending_remove(spa_t *spa, const blkptr_t *bp, dmu_tx_t *tx);
[all …]
H A Dzfeature.h32 struct spa;
36 extern void spa_feature_create_zap_objects(struct spa *, struct dmu_tx *);
37 extern void spa_feature_enable(struct spa *, spa_feature_t,
39 extern void spa_feature_incr(struct spa *, spa_feature_t, struct dmu_tx *);
40 extern void spa_feature_decr(struct spa *, spa_feature_t, struct dmu_tx *);
41 extern boolean_t spa_feature_is_enabled(struct spa *, spa_feature_t);
42 extern boolean_t spa_feature_is_active(struct spa *, spa_feature_t);
43 extern boolean_t spa_feature_enabled_txg(spa_t *spa, spa_feature_t fid,
52 extern int feature_get_refcount(struct spa *, zfeature_info_t *, uint64_t *);
53 extern int feature_get_refcount_from_disk(spa_t *spa, zfeature_info_t *feature,
[all …]
H A Dmmp.h59 extern void mmp_init(struct spa *spa);
60 extern void mmp_fini(struct spa *spa);
61 extern void mmp_thread_start(struct spa *spa);
62 extern void mmp_thread_stop(struct spa *spa);
63 extern void mmp_update_uberblock(struct spa *spa, struct uberblock *ub);
65 extern int mmp_claim_uberblock(spa_t *spa, vdev_t *vd, uberblock_t *ub);
/freebsd/sys/contrib/openzfs/module/os/freebsd/zfs/
H A Dspa_os.c175 spa_t *spa; in spa_import_rootpool() local
191 if ((spa = spa_lookup(pname)) != NULL) { in spa_import_rootpool()
196 if (spa->spa_state == POOL_STATE_ACTIVE) { in spa_import_rootpool()
207 spa_remove(spa); in spa_import_rootpool()
209 spa = spa_add(pname, config, NULL); in spa_import_rootpool()
216 &spa->spa_ubsync.ub_version) != 0) in spa_import_rootpool()
217 spa->spa_ubsync.ub_version = SPA_VERSION_INITIAL; in spa_import_rootpool()
218 } else if ((spa = spa_lookup(name)) == NULL) { in spa_import_rootpool()
225 config = fnvlist_dup(spa->spa_config); in spa_import_rootpool()
227 spa->spa_is_root = B_TRUE; in spa_import_rootpool()
[all …]
H A Dzfs_ioctl_os.c94 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/efi/boot1/
H A Dzfs_module.c116 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/stand/libsa/zfs/
H A Dzfsimpl.c48 const spa_t *spa; member
145 static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf);
146 static int zio_read_impl(const spa_t *spa, const blkptr_t *bp, void *buf,
148 static int zfs_get_root(const spa_t *spa, uint64_t *objid);
149 static int zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result);
150 static int zap_lookup(const spa_t *spa, const dnode_phys_t *dnode,
288 vdev_indirect_mapping_open(spa_t *spa, objset_phys_t *os, in vdev_indirect_mapping_open() argument
305 rc = objset_get_dnode(spa, os, mapping_object, vim->vim_dn); in vdev_indirect_mapping_open()
312 vim->vim_spa = spa; in vdev_indirect_mapping_open()
537 vdev_lookup_top(const spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument
[all …]
H A Dzfs.c59 static void zfs_bootenv_initial(const char *envname, spa_t *spa,
61 static void zfs_checkpoints_initial(spa_t *spa, const char *name,
153 const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; in zfs_read() local
166 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, start, n); in zfs_read()
221 return (zfs_dnode_stat(zm->spa, &fp->f_dnode, sb, zm->fsid_guid, in zfs_stat()
229 const spa_t *spa = ((struct zfsmount *)dev->d_opendata)->spa; in zfs_readdir() local
246 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir()
254 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir()
265 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir()
279 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir()
[all …]
/freebsd/sys/contrib/openzfs/cmd/
H A Dzhack.c171 fatal(spa_t *spa, const void *tag, const char *fmt, ...) in fatal() argument
175 if (spa != NULL) { in fatal()
176 spa_close(spa, tag); in fatal()
255 zhack_spa_open(char *target, boolean_t readonly, const void *tag, spa_t **spa) in zhack_spa_open() argument
262 err = spa_open(target, spa, tag); in zhack_spa_open()
266 fatal(*spa, FTAG, "cannot open '%s': %s", target, in zhack_spa_open()
268 if (spa_version(*spa) < SPA_VERSION_FEATURES) { in zhack_spa_open()
269 fatal(*spa, FTAG, "'%s' has version %d, features not enabled", in zhack_spa_open()
270 target, (int)spa_version(*spa)); in zhack_spa_open()
302 dump_mos(spa_t *spa) in dump_mos() argument
[all …]

1234567