Home
last modified time | relevance | path

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

1234

/illumos-gate/usr/src/uts/common/fs/zfs/
H A Dspa_misc.c380 spa_load_failed(spa_t *spa, const char *fmt, ...) in spa_load_failed() argument
389 zfs_dbgmsg("spa_load(%s, config %s): FAILED: %s", spa->spa_name, in spa_load_failed()
390 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_failed()
395 spa_load_note(spa_t *spa, const char *fmt, ...) in spa_load_note() argument
404 zfs_dbgmsg("spa_load(%s, config %s): %s", spa->spa_name, in spa_load_note()
405 spa->spa_trust_config ? "trusted" : "untrusted", buf); in spa_load_note()
427 spa_config_lock_init(spa_t *spa) in spa_config_lock_init() argument
430 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_init()
440 spa_config_lock_destroy(spa_t *spa) in spa_config_lock_destroy() argument
443 spa_config_lock_t *scl = &spa->spa_config_lock[i]; in spa_config_lock_destroy()
[all …]
H A Dspa.c161 static boolean_t spa_has_active_shared_spare(spa_t *spa);
162 static int spa_load_impl(spa_t *spa, spa_import_type_t type, char **ereport);
163 static void spa_vdev_resilver_done(spa_t *spa);
278 spa_prop_get_config(spa_t *spa, nvlist_t **nvp) in spa_prop_get_config() argument
280 vdev_t *rvd = spa->spa_root_vdev; in spa_prop_get_config()
281 dsl_pool_t *pool = spa->spa_dsl_pool; in spa_prop_get_config()
285 metaslab_class_t *mc = spa_normal_class(spa); in spa_prop_get_config()
287 ASSERT(MUTEX_HELD(&spa->spa_props_lock)); in spa_prop_get_config()
291 alloc += metaslab_class_get_alloc(spa_special_class(spa)); in spa_prop_get_config()
292 alloc += metaslab_class_get_alloc(spa_dedup_class(spa)); in spa_prop_get_config()
[all …]
H A Dspa_log_spacemap.c302 spa_estimate_incoming_log_blocks(spa_t *spa) in spa_estimate_incoming_log_blocks() argument
304 ASSERT3U(spa_sync_pass(spa), ==, 1); in spa_estimate_incoming_log_blocks()
307 for (spa_log_sm_t *sls = avl_last(&spa->spa_sm_logs_by_txg); in spa_estimate_incoming_log_blocks()
309 sls = AVL_PREV(&spa->spa_sm_logs_by_txg, sls)) { in spa_estimate_incoming_log_blocks()
310 if (sls->sls_txg == spa_syncing_txg(spa)) { in spa_estimate_incoming_log_blocks()
324 spa_log_sm_blocklimit(spa_t *spa) in spa_log_sm_blocklimit() argument
326 return (spa->spa_unflushed_stats.sus_blocklimit); in spa_log_sm_blocklimit()
330 spa_log_sm_set_blocklimit(spa_t *spa) in spa_log_sm_set_blocklimit() argument
332 if (!spa_feature_is_active(spa, SPA_FEATURE_LOG_SPACEMAP)) { in spa_log_sm_set_blocklimit()
333 ASSERT0(spa_log_sm_blocklimit(spa)); in spa_log_sm_set_blocklimit()
[all …]
H A Dspa_errlog.c93 spa_log_error(spa_t *spa, const zbookmark_phys_t *zb) in spa_log_error() argument
104 if (spa_load_state(spa) == SPA_LOAD_TRYIMPORT) in spa_log_error()
107 mutex_enter(&spa->spa_errlist_lock); in spa_log_error()
113 if (spa->spa_scrub_active || spa->spa_scrub_finished) in spa_log_error()
114 tree = &spa->spa_errlist_scrub; in spa_log_error()
116 tree = &spa->spa_errlist_last; in spa_log_error()
120 mutex_exit(&spa->spa_errlist_lock); in spa_log_error()
128 mutex_exit(&spa->spa_errlist_lock); in spa_log_error()
137 spa_get_errlog_size(spa_t *spa) in spa_get_errlog_size() argument
141 mutex_enter(&spa->spa_errlog_lock); in spa_get_errlog_size()
[all …]
H A Dzfeature.c174 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 Dspa_config.c226 spa_t *spa = NULL; in spa_write_cachefile() local
234 while ((spa = spa_next(spa)) != NULL) { in spa_write_cachefile()
242 if ((spa == target && removing) || in spa_write_cachefile()
243 !spa_writeable(spa)) in spa_write_cachefile()
246 mutex_enter(&spa->spa_props_lock); in spa_write_cachefile()
247 tdp = list_head(&spa->spa_config_list); in spa_write_cachefile()
248 if (spa->spa_config == NULL || in spa_write_cachefile()
251 mutex_exit(&spa->spa_props_lock); in spa_write_cachefile()
258 if (spa->spa_import_flags & ZFS_IMPORT_TEMP_NAME) { in spa_write_cachefile()
260 spa->spa_config, ZPOOL_CONFIG_POOL_NAME); in spa_write_cachefile()
[all …]
H A Dvdev_removal.c138 spa_sync_removing_state(spa_t *spa, dmu_tx_t *tx) in spa_sync_removing_state() argument
140 VERIFY0(zap_update(spa->spa_dsl_pool->dp_meta_objset, in spa_sync_removing_state()
143 sizeof (spa->spa_removing_phys) / sizeof (uint64_t), in spa_sync_removing_state()
144 &spa->spa_removing_phys, tx)); in spa_sync_removing_state()
237 spa_t *spa = dmu_tx_pool(tx)->dp_spa; in vdev_remove_initiate_sync() local
238 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in vdev_remove_initiate_sync()
240 objset_t *mos = spa->spa_dsl_pool->dp_meta_objset; in vdev_remove_initiate_sync()
250 spa_feature_incr(spa, SPA_FEATURE_DEVICE_REMOVAL, tx); in vdev_remove_initiate_sync()
251 if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) { in vdev_remove_initiate_sync()
257 spa_feature_incr(spa, SPA_FEATURE_OBSOLETE_COUNTS, tx); in vdev_remove_initiate_sync()
[all …]
H A Dspa_checkpoint.c164 spa_checkpoint_get_stats(spa_t *spa, pool_checkpoint_stat_t *pcs) in spa_checkpoint_get_stats() argument
166 if (!spa_feature_is_active(spa, SPA_FEATURE_POOL_CHECKPOINT)) in spa_checkpoint_get_stats()
171 int error = zap_contains(spa_meta_objset(spa), in spa_checkpoint_get_stats()
180 pcs->pcs_space = spa->spa_checkpoint_info.sci_dspace; in spa_checkpoint_get_stats()
181 pcs->pcs_start_time = spa->spa_checkpoint_info.sci_timestamp; in spa_checkpoint_get_stats()
189 spa_t *spa = arg; in spa_checkpoint_discard_complete_sync() local
191 spa->spa_checkpoint_info.sci_timestamp = 0; in spa_checkpoint_discard_complete_sync()
193 spa_feature_decr(spa, SPA_FEATURE_POOL_CHECKPOINT, tx); in spa_checkpoint_discard_complete_sync()
195 spa_history_log_internal(spa, "spa discard checkpoint", tx, in spa_checkpoint_discard_complete_sync()
254 spa_checkpoint_accounting_verify(spa_t *spa) in spa_checkpoint_accounting_verify() argument
[all …]
H A Dmmp.c194 mmp_init(spa_t *spa) in mmp_init() argument
196 mmp_thread_t *mmp = &spa->spa_mmp; in mmp_init()
213 mmp_fini(spa_t *spa) in mmp_fini() argument
215 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, minclsyspri); 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 Dspa_history.c87 spa_history_create_obj(spa_t *spa, dmu_tx_t *tx) in spa_history_create_obj() argument
91 objset_t *mos = spa->spa_meta_objset; in spa_history_create_obj()
93 ASSERT(spa->spa_history == 0); in spa_history_create_obj()
94 spa->spa_history = dmu_object_alloc(mos, DMU_OT_SPA_HISTORY, in spa_history_create_obj()
100 &spa->spa_history, tx) == 0); in spa_history_create_obj()
102 VERIFY(0 == dmu_bonus_hold(mos, spa->spa_history, FTAG, &dbp)); in spa_history_create_obj()
113 metaslab_class_get_dspace(spa_normal_class(spa)) / 1000; in spa_history_create_obj()
124 spa_history_advance_bof(spa_t *spa, spa_history_phys_t *shpp) in spa_history_advance_bof() argument
126 objset_t *mos = spa->spa_meta_objset; in spa_history_advance_bof()
134 if ((err = dmu_read(mos, spa->spa_history, phys_bof, firstread, in spa_history_advance_bof()
[all …]
H A Dvdev.c295 vdev_lookup_top(spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument
297 vdev_t *rvd = spa->spa_root_vdev; in vdev_lookup_top()
299 ASSERT(spa_config_held(spa, SCL_ALL, RW_READER) != 0); in vdev_lookup_top()
340 vdev_count_leaves(spa_t *spa) in vdev_count_leaves() argument
344 spa_config_enter(spa, SCL_VDEV, FTAG, RW_READER); in vdev_count_leaves()
345 rc = vdev_count_leaves_impl(spa->spa_root_vdev); in vdev_count_leaves()
346 spa_config_exit(spa, SCL_VDEV, FTAG); in vdev_count_leaves()
357 spa_t *spa = cvd->vdev_spa; in vdev_add_child() local
359 ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL); in vdev_add_child()
425 spa_t *spa = cvd->vdev_spa; in vdev_remove_child() local
[all …]
H A Dvdev_indirect.c326 spa_t *spa = vd->vdev_spa; in vdev_indirect_mark_obsolete() local
334 if (spa_feature_is_enabled(spa, SPA_FEATURE_OBSOLETE_COUNTS)) { in vdev_indirect_mark_obsolete()
338 vdev_dirty(vd, 0, NULL, spa_syncing_txg(spa)); in vdev_indirect_mark_obsolete()
348 spa_vdev_indirect_mark_obsolete(spa_t *spa, uint64_t vdev_id, uint64_t offset, in spa_vdev_indirect_mark_obsolete() argument
351 vdev_t *vd = vdev_lookup_top(spa, vdev_id); in spa_vdev_indirect_mark_obsolete()
360 spa_condensing_indirect_create(spa_t *spa) in spa_condensing_indirect_create() argument
363 &spa->spa_condensing_indirect_phys; in spa_condensing_indirect_create()
365 objset_t *mos = spa->spa_meta_objset; in spa_condensing_indirect_create()
395 spa_t *spa = vd->vdev_spa; in vdev_indirect_should_condense() local
397 ASSERT(dsl_pool_sync_context(spa->spa_dsl_pool)); in vdev_indirect_should_condense()
[all …]
H A Dvdev_queue.c318 spa_t *spa = zio->io_spa; in vdev_queue_io_add() local
324 mutex_enter(&spa->spa_iokstat_lock); in vdev_queue_io_add()
325 spa->spa_queue_stats[zio->io_priority].spa_queued++; in vdev_queue_io_add()
326 if (spa->spa_iokstat != NULL) in vdev_queue_io_add()
327 kstat_waitq_enter(spa->spa_iokstat->ks_data); in vdev_queue_io_add()
328 mutex_exit(&spa->spa_iokstat_lock); in vdev_queue_io_add()
334 spa_t *spa = zio->io_spa; in vdev_queue_io_remove() local
340 mutex_enter(&spa->spa_iokstat_lock); in vdev_queue_io_remove()
341 ASSERT3U(spa->spa_queue_stats[zio->io_priority].spa_queued, >, 0); in vdev_queue_io_remove()
342 spa->spa_queue_stats[zio->io_priority].spa_queued--; in vdev_queue_io_remove()
[all …]
H A Dzfs_fm.c111 const char *subclass, spa_t *spa, vdev_t *vd, const zbookmark_phys_t *zb, in zfs_ereport_start() argument
119 if (!zfs_ereport_is_valid(subclass, spa, vd, zio)) in zfs_ereport_start()
133 mutex_enter(&spa->spa_errlist_lock); in zfs_ereport_start()
140 if (spa_load_state(spa) != SPA_LOAD_NONE) { in zfs_ereport_start()
141 if (spa->spa_ena == 0) in zfs_ereport_start()
142 spa->spa_ena = fm_ena_generate(0, FM_ENA_FMT1); in zfs_ereport_start()
143 ena = spa->spa_ena; in zfs_ereport_start()
159 fm_fmri_zfs_set(detector, FM_ZFS_SCHEME_VERSION, spa_guid(spa), in zfs_ereport_start()
173 DATA_TYPE_STRING, spa_name(spa), FM_EREPORT_PAYLOAD_ZFS_POOL_GUID, in zfs_ereport_start()
174 DATA_TYPE_UINT64, spa_guid(spa), in zfs_ereport_start()
[all …]
H A Dvdev_label.c383 spa_t *spa = vd->vdev_spa; in root_vdev_actions_getprogress() local
385 if (vd != spa->spa_root_vdev) in root_vdev_actions_getprogress()
390 if (spa_scan_get_stats(spa, &ps) == 0) { in root_vdev_actions_getprogress()
397 if (spa_removal_get_stats(spa, &prs) == 0) { in root_vdev_actions_getprogress()
404 if (spa_checkpoint_get_stats(spa, &pcs) == 0) { in root_vdev_actions_getprogress()
415 vdev_config_generate(spa_t *spa, vdev_t *vd, boolean_t getstats, in vdev_config_generate() argument
451 spa_version(spa) >= SPA_VERSION_RAIDZ2) || in vdev_config_generate()
453 spa_version(spa) >= SPA_VERSION_RAIDZ3)); in vdev_config_generate()
549 ASSERT(spa->spa_resilver_deferred); in vdev_config_generate()
650 child[idx++] = vdev_config_generate(spa, cvd, in vdev_config_generate()
[all …]
H A Dddt.c60 spa_t *spa = ddt->ddt_spa; in ddt_object_create() local
76 VERIFY(zap_add(os, spa->spa_ddt_stat_object, name, in ddt_object_create()
85 spa_t *spa = ddt->ddt_spa; in ddt_object_destroy() local
96 VERIFY(zap_remove(os, spa->spa_ddt_stat_object, name, tx) == 0); in ddt_object_destroy()
363 spa_t *spa = ddt->ddt_spa; in ddt_stat_generate() local
379 dsize += dva_get_dsize_sync(spa, &ddp->ddp_dva[d]); in ddt_stat_generate()
453 ddt_get_dedup_object_stats(spa_t *spa, ddt_object_t *ddo_total) in ddt_get_dedup_object_stats() argument
457 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_object_stats()
478 ddt_get_dedup_histogram(spa_t *spa, ddt_histogram_t *ddh) in ddt_get_dedup_histogram() argument
481 ddt_t *ddt = spa->spa_ddt[c]; in ddt_get_dedup_histogram()
[all …]
H A Dzio_checksum.c238 zio_checksum_dedup_select(spa_t *spa, enum zio_checksum child, in zio_checksum_dedup_select() argument
249 return (spa_dedup_checksum(spa)); in zio_checksum_dedup_select()
252 return (spa_dedup_checksum(spa) | ZIO_CHECKSUM_VERIFY); in zio_checksum_dedup_select()
292 zio_checksum_template_init(enum zio_checksum checksum, spa_t *spa) in zio_checksum_template_init() argument
298 if (spa->spa_cksum_tmpls[checksum] != NULL) in zio_checksum_template_init()
302 mutex_enter(&spa->spa_cksum_tmpls_lock); in zio_checksum_template_init()
303 if (spa->spa_cksum_tmpls[checksum] == NULL) { in zio_checksum_template_init()
304 spa->spa_cksum_tmpls[checksum] = in zio_checksum_template_init()
305 ci->ci_tmpl_init(&spa->spa_cksum_salt); in zio_checksum_template_init()
306 VERIFY(spa->spa_cksum_tmpls[checksum] != NULL); in zio_checksum_template_init()
[all …]
/illumos-gate/usr/src/uts/common/fs/zfs/sys/
H A Dspa.h56 typedef struct spa spa_t;
738 extern void spa_async_request(spa_t *spa, int flag);
739 extern void spa_async_unrequest(spa_t *spa, int flag);
740 extern void spa_async_suspend(spa_t *spa);
741 extern void spa_async_resume(spa_t *spa);
742 extern int spa_async_tasks(spa_t *spa);
744 extern void spa_inject_delref(spa_t *spa);
745 extern void spa_scan_stat_init(spa_t *spa);
746 extern int spa_scan_get_stats(spa_t *spa, pool_scan_stat_t *ps);
768 extern int spa_vdev_add(spa_t *spa, nvlist_t *nvroot);
[all …]
H A Dzfeature.h41 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 Dmmp.h58 extern void mmp_init(struct spa *spa);
59 extern void mmp_fini(struct spa *spa);
60 extern void mmp_thread_start(struct spa *spa);
61 extern void mmp_thread_stop(struct spa *spa);
62 extern void mmp_update_uberblock(struct spa *spa, struct uberblock *ub);
/illumos-gate/usr/src/test/zfs-tests/tests/functional/mdb/
H A Dmdb_001_pos.ksh56 typeset spa=$(mdb -ke "::spa" | awk "/$TESTPOOL/ {print \$1}")
59 typeset bp=$(mdb -ke "$spa + $off_ub + $off_rbp =J")
74 "$spa ::spa " \
75 "$spa ::spa -c" \
76 "$spa ::spa -h" \
77 "$spa ::spa -v" \
78 "$spa ::spa -Mmh" \
79 "$spa ::spa_config" \
80 "$spa ::spa_space" \
81 "$spa ::spa_space -b" \
[all …]
/illumos-gate/usr/src/cmd/zhack/
H A Dzhack.c86 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
[all …]
/illumos-gate/usr/src/boot/libsa/zfs/
H A Dzfs.c140 const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; in zfs_read() local
153 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, start, n); in zfs_read()
196 const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; in zfs_stat() local
199 return (zfs_dnode_stat(spa, &fp->f_dnode, sb)); in zfs_stat()
205 const spa_t *spa = ((struct zfsmount *)f->f_devdata)->spa; in zfs_readdir() local
222 rc = dnode_read(spa, &fp->f_dnode, 0, &fp->f_zap_type, in zfs_readdir()
230 rc = dnode_read(spa, &fp->f_dnode, in zfs_readdir()
240 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, in zfs_readdir()
252 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, &mze, in zfs_readdir()
298 rc = dnode_read(spa, &fp->f_dnode, fp->f_seekp, in zfs_readdir()
[all …]
H A Dzfsimpl.c46 const spa_t *spa; member
143 static int zio_read(const spa_t *spa, const blkptr_t *bp, void *buf);
144 static int zfs_get_root(const spa_t *spa, uint64_t *objid);
145 static int zfs_rlookup(const spa_t *spa, uint64_t objnum, char *result);
146 static int zap_lookup(const spa_t *spa, const dnode_phys_t *dnode,
281 vdev_indirect_mapping_open(spa_t *spa, objset_phys_t *os, in vdev_indirect_mapping_open() argument
298 rc = objset_get_dnode(spa, os, mapping_object, vim->vim_dn); in vdev_indirect_mapping_open()
305 vim->vim_spa = spa; in vdev_indirect_mapping_open()
530 vdev_lookup_top(spa_t *spa, uint64_t vdev) in vdev_lookup_top() argument
535 vlist = &spa->spa_root_vdev->v_children; in vdev_lookup_top()
[all …]
/illumos-gate/usr/src/cmd/zdb/
H A Dzdb.c734 get_prev_obsolete_spacemap_refcount(spa_t *spa) in get_prev_obsolete_spacemap_refcount() argument
737 spa->spa_condensing_indirect_phys.scip_prev_obsolete_sm_object; in get_prev_obsolete_spacemap_refcount()
740 VERIFY0(dmu_object_info(spa->spa_meta_objset, prev_obj, &doi)); in get_prev_obsolete_spacemap_refcount()
765 get_log_spacemap_refcount(spa_t *spa) in get_log_spacemap_refcount() argument
767 return (avl_numnodes(&spa->spa_sm_logs_by_txg)); in get_log_spacemap_refcount()
771 verify_spacemap_refcounts(spa_t *spa) in verify_spacemap_refcounts() argument
776 (void) feature_get_refcount(spa, in verify_spacemap_refcounts()
779 actual_refcount = get_dtl_refcount(spa->spa_root_vdev); in verify_spacemap_refcounts()
780 actual_refcount += get_metaslab_refcount(spa->spa_root_vdev); in verify_spacemap_refcounts()
781 actual_refcount += get_obsolete_refcount(spa->spa_root_vdev); in verify_spacemap_refcounts()
[all …]

1234