Searched refs:txg (Results 1 - 25 of 69) sorted by relevance

123

/freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/
H A Dtxg.h42 #define TXG_INITIAL TXG_SIZE /* initial txg */
43 #define TXG_IDX (txg & TXG_MASK)
69 extern void txg_init(struct dsl_pool *dp, uint64_t txg);
78 extern void txg_delay(struct dsl_pool *dp, uint64_t txg, hrtime_t delta,
85 * necessary syncs immediately). If txg==0, wait for the currently open
86 * txg to finish syncing.
88 extern void txg_wait_synced(struct dsl_pool *dp, uint64_t txg);
93 extern boolean_t txg_wait_synced_sig(struct dsl_pool *dp, uint64_t txg);
99 * If txg == 0, wait for the next open txg
[all...]
H A Duberblock.h43 extern boolean_t uberblock_update(uberblock_t *ub, vdev_t *rvd, uint64_t txg,
H A Dtrim_map.h39 extern void trim_map_free(vdev_t *vd, uint64_t offset, uint64_t size, uint64_t txg);
H A Dvdev.h61 extern int vdev_create(vdev_t *, uint64_t txg, boolean_t isreplace);
71 uint64_t txg, uint64_t size);
73 uint64_t txg, uint64_t size);
76 extern void vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg,
94 extern int vdev_metaslab_init(vdev_t *vd, uint64_t txg);
98 extern void vdev_expand(vdev_t *vd, uint64_t txg);
149 extern int vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg);
172 extern nvlist_t *vdev_label_read_config(vdev_t *vd, uint64_t txg);
186 extern int vdev_label_init(vdev_t *vd, uint64_t txg, vdev_labeltype_t reason);
H A Ddsl_pool.h31 #include <sys/txg.h>
144 int dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp);
147 dsl_pool_t *dsl_pool_create(spa_t *spa, nvlist_t *zplprops, uint64_t txg);
148 void dsl_pool_sync(dsl_pool_t *dp, uint64_t txg);
149 void dsl_pool_sync_done(dsl_pool_t *dp, uint64_t txg);
155 void dsl_pool_undirty_space(dsl_pool_t *dp, int64_t space, uint64_t txg);
156 void dsl_free(dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp);
157 void dsl_free_sync(zio_t *pio, dsl_pool_t *dp, uint64_t txg,
H A Dzfeature.h30 #include <sys/txg.h>
53 uint64_t *txg);
H A Ddsl_synctask.h29 #include <sys/txg.h>
H A Dtxg_impl.h35 #include <sys/txg.h>
74 uint64_t tc_count[TXG_SIZE]; /* tx hold count on each txg */
94 uint64_t tx_open_txg; /* currently open txg id */
95 uint64_t tx_quiescing_txg; /* currently quiescing txg id */
96 uint64_t tx_quiesced_txg; /* quiesced txg waiting for sync */
97 uint64_t tx_syncing_txg; /* currently syncing txg id */
98 uint64_t tx_synced_txg; /* last synced txg id */
102 uint64_t tx_sync_txg_waiting; /* txg we're waiting to sync */
103 uint64_t tx_quiesce_txg_waiting; /* txg we're waiting to open */
H A Ddmu_tx.h33 #include <sys/txg.h>
130 extern dmu_tx_t *dmu_tx_create_assigned(struct dsl_pool *dp, uint64_t txg);
H A Ddsl_scan.h87 * scn_suspending - a scan that cannot be completed in a single txg or
93 * a scan at the specified txg value.
96 * the completion txg to the next txg. This is necessary
124 boolean_t scn_suspending; /* scan is suspending until next txg */
137 /* per txg statistics */
138 uint64_t scn_visited_this_txg; /* total bps visited this txg */
162 int dsl_scan_init(struct dsl_pool *dp, uint64_t txg);
169 void dsl_resilver_restart(struct dsl_pool *, uint64_t txg);
H A Dvdev_indirect_births.h68 uint64_t offset, uint64_t txg, dmu_tx_t *tx);
H A Dzil.h54 * with a common structure that defines the type, length, and txg.
62 uint64_t zh_claim_txg; /* txg in which log blocks were claimed */
103 * a single list in the zl_itxg[] that uses a high txg: ZILTEST_TXG
248 uint64_t lr_gen; /* generation (txg of creation) */
367 * When the txg commits the block is linked in.
402 uint64_t txg);
404 uint64_t txg);
410 zil_parse_lr_func_t *parse_lr_func, void *arg, uint64_t txg);
448 extern void zil_lwb_add_txg(struct lwb *lwb, uint64_t txg);
/freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/
H A Dtxg.c42 * these transaction groups. Each successive transaction group (txg) is
45 * there may be an active txg associated with each state; each active txg may
47 * be up to three active txgs, and there is always a txg in the open state
50 * accepted into the txg in the open state, and are completed while the txg is
56 * When a new txg becomes active, it first enters the open state. New
58 * currently open txg. There is always a txg in the open state so that ZFS can
59 * accept new changes (though the txg ma
123 txg_init(dsl_pool_t *dp, uint64_t txg) argument
301 uint64_t txg; local
358 txg_quiesce(dsl_pool_t *dp, uint64_t txg) argument
415 txg_dispatch_callbacks(dsl_pool_t *dp, uint64_t txg) argument
492 uint64_t txg; local
571 uint64_t txg; local
616 txg_delay(dsl_pool_t *dp, uint64_t txg, hrtime_t delay, hrtime_t resolution) argument
642 txg_wait_synced_impl(dsl_pool_t *dp, uint64_t txg, boolean_t wait_sig) argument
693 txg_wait_synced(dsl_pool_t *dp, uint64_t txg) argument
703 txg_wait_synced_sig(dsl_pool_t *dp, uint64_t txg) argument
709 txg_wait_open(dsl_pool_t *dp, uint64_t txg) argument
774 txg_verify(spa_t *spa, uint64_t txg) argument
813 txg_list_empty(txg_list_t *tl, uint64_t txg) argument
842 txg_list_add(txg_list_t *tl, void *p, uint64_t txg) argument
867 txg_list_add_tail(txg_list_t *tl, void *p, uint64_t txg) argument
895 txg_list_remove(txg_list_t *tl, uint64_t txg) argument
920 txg_list_remove_this(txg_list_t *tl, void *p, uint64_t txg) argument
944 txg_list_member(txg_list_t *tl, void *p, uint64_t txg) argument
957 txg_list_head(txg_list_t *tl, uint64_t txg) argument
967 txg_list_next(txg_list_t *tl, void *p, uint64_t txg) argument
[all...]
H A Duberblock.c48 uberblock_update(uberblock_t *ub, vdev_t *rvd, uint64_t txg, uint64_t mmp_delay) argument
50 ASSERT(ub->ub_txg < txg);
57 ub->ub_txg = txg;
73 return (ub->ub_rootbp.blk_birth == txg);
H A Dvdev_removal.c36 #include <sys/txg.h>
221 * This is called as a synctask in the txg in which we will mark this vdev
240 uint64_t txg = dmu_tx_get_txg(tx); local
290 * Space which we are freeing this txg does not need to
305 ASSERT3P(txg_list_head(&vd->vdev_ms_list, TXG_CLEAN(txg)), ==, NULL);
334 zfs_dbgmsg("starting removal thread for vdev %llu (%p) in txg %llu "
480 uint64_t txg = spa_syncing_txg(spa); local
543 * this txg and iterating forward, we might find that this region
547 int txgoff = (txg + i) & TXG_MASK;
551 * will be synced in txg
714 uint64_t txg = dmu_tx_get_txg(tx); local
902 spa_vdev_copy_segment(vdev_t *vd, range_tree_t *segs, uint64_t maxalloc, uint64_t txg, vdev_copy_arg_t *vca, zio_alloc_list_t *zal) argument
1089 vdev_remove_replace_with_indirect(vdev_t *vd, uint64_t txg) argument
1136 uint64_t txg; local
1209 uint64_t txg = dmu_tx_get_txg(tx); local
1458 uint64_t txg = dmu_tx_get_txg(tx); local
1741 spa_vdev_remove_log(vdev_t *vd, uint64_t *txg) argument
1940 spa_vdev_remove_top(vdev_t *vd, uint64_t *txg) argument
2029 uint64_t txg = 0; local
[all...]
H A Ddsl_pool.c84 * txg (dp_dirty_pertxg[]) and poolwide (dp_dirty_total) accounting of
87 * relevant, the per-txg value is useful for debugging. The tunable
92 * ensure that there is a txg syncing (see the comment in txg.c for a full
113 * zfs_dirty_data_max), push out a txg. This should be less than
198 "Force a txg if the percent of dirty buffer bytes exceed this value");
286 dsl_pool_open_impl(spa_t *spa, uint64_t txg) argument
295 txg_init(dp, txg);
329 dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp) argument
332 dsl_pool_t *dp = dsl_pool_open_impl(spa, txg);
543 dsl_pool_create(spa_t *spa, nvlist_t *zplprops, uint64_t txg) argument
661 dsl_early_sync_task_verify(dsl_pool_t *dp, uint64_t txg) argument
682 dsl_pool_sync(dsl_pool_t *dp, uint64_t txg) argument
835 dsl_pool_sync_done(dsl_pool_t *dp, uint64_t txg) argument
958 dsl_pool_undirty_space(dsl_pool_t *dp, int64_t space, uint64_t txg) argument
[all...]
H A Dzil.c52 * (txg), at which point they can be discarded; or
321 zil_parse_lr_func_t *parse_lr_func, void *arg, uint64_t txg)
360 if ((error = parse_blk_func(zilog, &blk, arg, txg)) != 0)
379 if ((error = parse_lr_func(zilog, lr, arg, txg)) != 0)
410 * checkpoint, each ZIL block whose txg is later than the txg
506 zil_alloc_lwb(zilog_t *zilog, blkptr_t *bp, boolean_t slog, uint64_t txg) argument
516 lwb->lwb_max_txg = txg;
568 zilog_dirty(zilog_t *zilog, uint64_t txg) argument
578 if (txg_list_add(&dp->dp_dirty_zilogs, zilog, txg)) {
320 zil_parse(zilog_t *zilog, zil_parse_blk_func_t *parse_blk_func, zil_parse_lr_func_t *parse_lr_func, void *arg, uint64_t txg) argument
594 zilog_is_dirty_in_txg(zilog_t *zilog, uint64_t txg) argument
627 uint64_t txg = 0; local
703 uint64_t txg; local
1047 zil_lwb_add_txg(lwb_t *lwb, uint64_t txg) argument
1388 uint64_t txg; local
1549 uint64_t dlen, dnow, lwb_sp, reclen, txg, max_log_data; local
1799 uint64_t otxg, txg; local
1844 uint64_t txg; local
1974 uint64_t otxg, txg; local
2020 uint64_t otxg, txg; local
2182 uint64_t txg = lrc->lrc_txg; local
2917 uint64_t txg = dmu_tx_get_txg(tx); local
3130 uint64_t txg; local
[all...]
H A Dtrim_map.c59 list_t tm_head; /* List of segments sorted by txg. */
73 uint64_t ts_txg; /* Segment creation txg. */
204 trim_map_segment_add(trim_map_t *tm, uint64_t start, uint64_t end, uint64_t txg) argument
221 trim_map_segment_add(tm, start, ts->ts_start, txg);
223 trim_map_segment_add(tm, ts->ts_end, end, txg);
238 ts_after->ts_txg = txg;
245 ts_before->ts_txg = txg;
251 ts_after->ts_txg = txg;
258 ts->ts_txg = txg;
301 trim_map_free_locked(trim_map_t *tm, uint64_t start, uint64_t end, uint64_t txg) argument
322 trim_map_free(vdev_t *vd, uint64_t offset, uint64_t size, uint64_t txg) argument
411 trim_map_first(trim_map_t *tm, uint64_t txg, uint64_t txgsafe, hrtime_t time, boolean_t force) argument
[all...]
H A Dvdev_label.c125 * txg Transaction group in which this label was written
569 * which don't have a txg value stored on their label (i.e. spares/cache)
570 * or have not been completely initialized (txg = 0) just return
573 * 'txg' value.
576 vdev_label_read_config(vdev_t *vd, uint64_t txg) argument
611 * Auxiliary vdevs won't have txg values in their
622 } else if (label_txg <= txg && label_txg > best_txg) {
641 * We found a valid label but it didn't pass txg restrictions.
644 vdev_dbgmsg(vd, "label discarded as txg is too large "
646 (u_longlong_t)txg);
663 uint64_t state, pool_guid, device_guid, txg, spare_pool; local
923 uint64_t txg = 0ULL; local
1335 vdev_label_sync(zio_t *zio, uint64_t *good_writes, vdev_t *vd, int l, uint64_t txg, int flags) argument
1382 vdev_label_sync_list(spa_t *spa, int l, uint64_t txg, int flags) argument
1435 vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg) argument
[all...]
H A Dspa_config.c386 spa_config_generate(spa_t *spa, vdev_t *vd, uint64_t txg, int getstats) argument
405 * If txg is -1, report the current value of spa->spa_config_txg.
407 if (txg == -1ULL)
408 txg = spa->spa_config_txg;
432 fnvlist_add_uint64(config, ZPOOL_CONFIG_POOL_TXG, txg);
542 uint64_t txg; local
548 txg = spa_last_synced_txg(spa) + 1;
577 vdev_expand(tvd, txg);
585 txg_wait_synced(spa->spa_dsl_pool, txg);
H A Dmetaslab.c597 metaslab_verify_space(metaslab_t *msp, uint64_t txg) argument
616 if (txg != spa_syncing_txg(spa) || msp->ms_sm == NULL ||
635 range_tree_space(msp->ms_allocating[(txg + t) & TXG_MASK]);
685 * have any space until we finish syncing out this txg.
1866 metaslab_init(metaslab_group_t *mg, uint64_t id, uint64_t object, uint64_t txg, argument
1926 * If we're opening an existing pool (txg == 0) or creating
1927 * a new one (txg == TXG_INITIAL), all space is available now.
1929 * does not become available until after this txg has synced.
1931 * out this txg. This ensures that we don't attempt to allocate
1934 if (txg <
2079 uint64_t txg = spa_syncing_txg(spa); local
2697 metaslab_condense(metaslab_t *msp, uint64_t txg, dmu_tx_t *tx) argument
2775 metaslab_sync(metaslab_t *msp, uint64_t txg) argument
3000 metaslab_sync_done(metaslab_t *msp, uint64_t txg) argument
3394 metaslab_block_alloc(metaslab_t *msp, uint64_t size, uint64_t txg) argument
3499 metaslab_group_alloc_normal(metaslab_group_t *mg, zio_alloc_list_t *zal, uint64_t asize, uint64_t txg, boolean_t want_unique, dva_t *dva, int d, int allocator) argument
3702 metaslab_group_alloc(metaslab_group_t *mg, zio_alloc_list_t *zal, uint64_t asize, uint64_t txg, boolean_t want_unique, dva_t *dva, int d, int allocator) argument
3741 metaslab_alloc_dva(spa_t *spa, metaslab_class_t *mc, uint64_t psize, dva_t *dva, int d, dva_t *hintdva, uint64_t txg, int flags, zio_alloc_list_t *zal, int allocator) argument
4168 metaslab_unalloc_dva(spa_t *spa, const dva_t *dva, uint64_t txg) argument
4292 metaslab_claim_concrete(vdev_t *vd, uint64_t offset, uint64_t size, uint64_t txg) argument
4363 metaslab_claim_impl(vdev_t *vd, uint64_t offset, uint64_t size, uint64_t txg) argument
4397 metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg) argument
4417 metaslab_alloc(spa_t *spa, metaslab_class_t *mc, uint64_t psize, blkptr_t *bp, int ndvas, uint64_t txg, blkptr_t *hintbp, int flags, zio_alloc_list_t *zal, zio_t *zio, int allocator) argument
4474 metaslab_free(spa_t *spa, const blkptr_t *bp, uint64_t txg, boolean_t now) argument
4505 ASSERT3U(spa_syncing_txg(spa), ==, txg); local
4524 metaslab_claim(spa_t *spa, const blkptr_t *bp, uint64_t txg) argument
[all...]
H A Dspa.c65 #include <sys/txg.h>
2091 * current txg so that the "stubby" block can be removed
2635 uint64_t txg = ub->ub_txg; local
2653 * during the earlier tryimport. If the txg recorded there is 0 then
2681 if (txg != ub->ub_txg || timestamp != ub->ub_timestamp ||
2684 "txg %llu ub_txg %llu "
2687 txg, ub->ub_txg, timestamp, ub->ub_timestamp,
3048 spa_load_note(spa, "using uberblock with txg=%llu",
3845 * This must all happen in a single txg.
4040 * We need to update the txg an
5133 uint64_t txg = TXG_INITIAL; local
5456 spa_alt_rootvdev(vdev_t *vd, vdev_t **avd, uint64_t *txg) argument
5501 uint64_t guid, txg; local
5633 uint64_t txg; local
5730 uint64_t txg; local
6288 uint64_t txg, id; local
6433 uint64_t txg, dtl_max_txg; local
6647 uint64_t txg; local
6987 uint64_t txg, *glist; local
8362 spa_sync(spa_t *spa, uint64_t txg) argument
[all...]
H A Dvdev.c1294 vdev_metaslab_init(vdev_t *vd, uint64_t txg) argument
1305 ASSERT(txg == 0 || spa_config_held(spa, SCL_ALLOC, RW_WRITER));
1334 if (txg == 0 && vd->vdev_ms_array != 0) {
1356 error = metaslab_init(vd->vdev_mg, m, object, txg,
1365 if (txg == 0)
1377 if (txg == 0)
1904 uint64_t txg; local
1923 * was modified at a point after the current txg.
1924 * If config lock is not held do not check for the txg. spa_sync could
1929 txg
2300 vdev_create(vdev_t *vd, uint64_t txg, boolean_t isreplacing) argument
2429 vdev_dirty(vdev_t *vd, int flags, void *arg, uint64_t txg) argument
2447 vdev_dirty_leaves(vdev_t *vd, int flags, uint64_t txg) argument
2495 vdev_dtl_dirty(vdev_t *vd, vdev_dtl_type_t t, uint64_t txg, uint64_t size) argument
2510 vdev_dtl_contains(vdev_t *vd, vdev_dtl_type_t t, uint64_t txg, uint64_t size) argument
2641 vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, int scrub_done) argument
2858 vdev_dtl_sync(vdev_t *vd, uint64_t txg) argument
3218 vdev_remove_empty_log(vdev_t *vd, uint64_t txg) argument
3238 vdev_sync_done(vdev_t *vd, uint64_t txg) argument
3254 vdev_sync(vdev_t *vd, uint64_t txg) argument
3859 uint64_t txg = zio->io_txg; local
4445 vdev_expand(vdev_t *vd, uint64_t txg) argument
[all...]
H A Dvdev_initialize.c28 #include <sys/txg.h>
72 uint64_t txg = dmu_tx_get_txg(tx); local
79 uint64_t last_offset = vd->vdev_initialize_offset[txg & TXG_MASK];
80 vd->vdev_initialize_offset[txg & TXG_MASK] = 0;
207 uint64_t txg = dmu_tx_get_txg(tx); local
212 if (vd->vdev_initialize_offset[txg & TXG_MASK] == 0) {
216 /* This is the first write of this txg. */
238 vd->vdev_initialize_offset[txg & TXG_MASK] = start + size;
239 zio_nowait(zio_write_phys(spa->spa_txg_zio[txg & TXG_MASK], vd, start,
645 * txg sinc
[all...]
/freebsd-12-stable/cddl/contrib/opensolaris/cmd/ztest/
H A Dztest.c67 * the transaction group number is less than the current, open txg.
93 #include <sys/txg.h>
429 * The callbacks are ordered by txg number.
1357 uint64_t txg; local
1375 txg = dmu_tx_get_txg(tx);
1376 ASSERT(txg != 0);
1377 return (txg);
1405 uint64_t dnodesize, uint64_t offset, uint64_t gen, uint64_t txg,
1414 bt->bt_txg = txg;
1420 uint64_t dnodesize, uint64_t offset, uint64_t gen, uint64_t txg,
1404 ztest_bt_generate(ztest_block_tag_t *bt, objset_t *os, uint64_t object, uint64_t dnodesize, uint64_t offset, uint64_t gen, uint64_t txg, uint64_t crtxg) argument
1419 ztest_bt_verify(ztest_block_tag_t *bt, objset_t *os, uint64_t object, uint64_t dnodesize, uint64_t offset, uint64_t gen, uint64_t txg, uint64_t crtxg) argument
1615 uint64_t txg; local
1704 uint64_t object, txg; local
1758 uint64_t gen, txg, lrtxg, crtxg; local
1883 uint64_t txg; local
1926 uint64_t txg, lrtxg, crtxg, dnodesize; local
2045 uint64_t txg = lr->lr_common.lrc_txg; local
2338 uint64_t txg; local
2355 txg_wait_synced(dmu_objset_pool(os), txg); local
4103 uint64_t n, s, txg; local
4324 compare_and_update_pbbufs(uint64_t s, bufwad_t *packbuf, bufwad_t *bigbuf, uint64_t bigsize, uint64_t n, uint64_t chunksize, uint64_t txg) argument
4380 uint64_t n, s, txg; local
4672 uint64_t txg, last_txg; local
4811 uint64_t object, txg; local
4852 uint64_t txg, object, count, wsize, wc, zl_wsize, zl_wc; local
5016 ztest_create_cb_data(objset_t *os, uint64_t txg) argument
5045 uint64_t old_txg, txg; local
5670 uint64_t object, blocksize, txg, pattern, psize; local
5741 txg_wait_synced(spa_get_dsl(spa), txg); local
[all...]

Completed in 308 milliseconds

123