/illumos-gate/usr/src/uts/common/fs/zfs/sys/ |
H A D | txg.h | 42 #define TXG_INITIAL TXG_SIZE /* initial txg */ 43 #define TXG_IDX (txg & TXG_MASK) 68 extern void txg_init(struct dsl_pool *dp, uint64_t txg); 77 extern void txg_delay(struct dsl_pool *dp, uint64_t txg, hrtime_t delta, 84 * necessary syncs immediately). If txg==0, wait for the currently open 85 * txg to finish syncing. 87 extern void txg_wait_synced(struct dsl_pool *dp, uint64_t txg); 93 * If txg == 0, wait for the next open txg. 95 extern void txg_wait_open(struct dsl_pool *dp, uint64_t txg); [all...] |
H A D | dsl_pool.h | 30 #include <sys/txg.h> 135 int dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp); 138 dsl_pool_t *dsl_pool_create(spa_t *spa, nvlist_t *zplprops, uint64_t txg); 139 void dsl_pool_sync(dsl_pool_t *dp, uint64_t txg); 140 void dsl_pool_sync_done(dsl_pool_t *dp, uint64_t txg); 145 void dsl_pool_undirty_space(dsl_pool_t *dp, int64_t space, uint64_t txg); 146 void dsl_free(dsl_pool_t *dp, uint64_t txg, const blkptr_t *bpp); 147 void dsl_free_sync(zio_t *pio, dsl_pool_t *dp, uint64_t txg,
|
H A D | dsl_synctask.h | 29 #include <sys/txg.h>
|
H A D | vdev.h | 55 extern int vdev_create(vdev_t *, uint64_t txg, boolean_t isreplace); 65 uint64_t txg, uint64_t size); 67 uint64_t txg, uint64_t size); 69 extern void vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, 82 extern int vdev_metaslab_init(vdev_t *vd, uint64_t txg); 85 extern void vdev_expand(vdev_t *vd, uint64_t txg); 129 extern int vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg); 151 extern nvlist_t *vdev_label_read_config(vdev_t *vd, uint64_t txg); 163 extern int vdev_label_init(vdev_t *vd, uint64_t txg, vdev_labeltype_t reason);
|
H A D | zfeature.h | 30 #include <sys/txg.h> 53 uint64_t *txg);
|
H A D | txg_impl.h | 35 #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_quiesced_txg; /* quiesced txg waiting for sync */ 96 uint64_t tx_syncing_txg; /* currently syncing txg id */ 97 uint64_t tx_synced_txg; /* last synced txg id */ 101 uint64_t tx_sync_txg_waiting; /* txg we're waiting to sync */ 102 uint64_t tx_quiesce_txg_waiting; /* txg we're waiting to open */
|
H A D | dsl_scan.h | 85 * scn_pausing - a scan that cannot be completed in a single txg or 91 * a scan at the specified txg value. 94 * the completion txg to the next txg. This is necessary 125 int dsl_scan_init(struct dsl_pool *dp, uint64_t txg); 130 void dsl_resilver_restart(struct dsl_pool *, uint64_t txg);
|
H A D | dmu_tx.h | 34 #include <sys/txg.h> 142 extern dmu_tx_t *dmu_tx_create_assigned(struct dsl_pool *dp, uint64_t txg);
|
H A D | vdev_impl.h | 157 uint64_t vdev_crtxg; /* txg when top-level was added */ 167 txg_list_t vdev_ms_list; /* per-txg dirty metaslab lists */ 168 txg_list_t vdev_dtl_list; /* per-txg dirty DTL lists */ 169 txg_node_t vdev_txg_node; /* per-txg dirty vdev linkage */ 196 txg_node_t vdev_dtl_node; /* per-txg dirty DTL linkage */ 328 extern void vdev_sync(vdev_t *vd, uint64_t txg); 329 extern void vdev_sync_done(vdev_t *vd, uint64_t txg); 330 extern void vdev_dirty(vdev_t *vd, int flags, void *arg, uint64_t txg); 331 extern void vdev_dirty_leaves(vdev_t *vd, int flags, uint64_t txg);
|
H A D | arc.h | 185 zio_t *arc_write(zio_t *pio, spa_t *spa, uint64_t txg, 195 int arc_tempreserve_space(uint64_t reserve, uint64_t txg);
|
H A D | dmu_objset.h | 36 #include <sys/txg.h> 173 boolean_t dmu_objset_is_dirty(objset_t *os, uint64_t txg);
|
H A D | zio.h | 37 #include <sys/txg.h> 470 extern zio_t *zio_write(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 477 extern zio_t *zio_rewrite(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 484 extern void zio_free(spa_t *spa, uint64_t txg, const blkptr_t *bp); 486 extern zio_t *zio_claim(zio_t *pio, spa_t *spa, uint64_t txg, 503 extern zio_t *zio_free_sync(zio_t *pio, spa_t *spa, uint64_t txg, 506 extern int zio_alloc_zil(spa_t *spa, uint64_t txg, blkptr_t *new_bp, 508 extern void zio_free_zil(spa_t *spa, uint64_t txg, blkptr_t *bp);
|
H A D | bpobj.h | 31 #include <sys/txg.h>
|
H A D | metaslab.h | 31 #include <sys/txg.h>
|
H A D | ddt.h | 182 uint64_t txg); 193 uint64_t txg); 234 extern void ddt_sync(spa_t *spa, uint64_t txg);
|
/illumos-gate/usr/src/uts/common/fs/zfs/ |
H A D | uberblock.c | 47 uberblock_update(uberblock_t *ub, vdev_t *rvd, uint64_t txg) argument 49 ASSERT(ub->ub_txg < txg); 56 ub->ub_txg = txg; 61 return (ub->ub_rootbp.blk_birth == txg);
|
H A D | txg.c | 41 * these transaction groups. Each successive transaction group (txg) is 44 * there may be an active txg associated with each state; each active txg may 46 * be up to three active txgs, and there is always a txg in the open state 49 * accepted into the txg in the open state, and are completed while the txg is 55 * When a new txg becomes active, it first enters the open state. New 57 * currently open txg. There is always a txg in the open state so that ZFS can 58 * accept new changes (though the txg ma 117 txg_init(dsl_pool_t *dp, uint64_t txg) argument 296 uint64_t txg; local 353 txg_quiesce(dsl_pool_t *dp, uint64_t txg) argument 408 txg_dispatch_callbacks(dsl_pool_t *dp, uint64_t txg) argument 460 uint64_t txg; local 535 uint64_t txg; local 577 txg_delay(dsl_pool_t *dp, uint64_t txg, hrtime_t delay, hrtime_t resolution) argument 603 txg_wait_synced(dsl_pool_t *dp, uint64_t txg) argument 628 txg_wait_open(dsl_pool_t *dp, uint64_t txg) argument 715 txg_list_empty(txg_list_t *tl, uint64_t txg) argument 743 txg_list_add(txg_list_t *tl, void *p, uint64_t txg) argument 767 txg_list_add_tail(txg_list_t *tl, void *p, uint64_t txg) argument 794 txg_list_remove(txg_list_t *tl, uint64_t txg) argument 816 txg_list_remove_this(txg_list_t *tl, void *p, uint64_t txg) argument 839 txg_list_member(txg_list_t *tl, void *p, uint64_t txg) argument 851 txg_list_head(txg_list_t *tl, uint64_t txg) argument 860 txg_list_next(txg_list_t *tl, void *p, uint64_t txg) argument [all...] |
H A D | zil.c | 47 * either the DMU transaction group (txg) commits them to the stable pool 93 * a single list in the zl_itxg[] that uses a high txg: ZILTEST_TXG 295 zil_parse_lr_func_t *parse_lr_func, void *arg, uint64_t txg) 334 if ((error = parse_blk_func(zilog, &blk, arg, txg)) != 0) 353 if ((error = parse_lr_func(zilog, lr, arg, txg)) != 0) 442 zil_alloc_lwb(zilog_t *zilog, blkptr_t *bp, uint64_t txg) argument 450 lwb->lwb_max_txg = txg; 473 zilog_dirty(zilog_t *zilog, uint64_t txg) argument 481 if (txg_list_add(&dp->dp_dirty_zilogs, zilog, txg)) { 488 * Determine if the zil is dirty in the specified txg 294 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 495 zilog_is_dirty_in_txg(zilog_t *zilog, uint64_t txg) argument 528 uint64_t txg = 0; local 602 uint64_t txg; local 954 uint64_t txg; local 1063 uint64_t txg = lrc->lrc_txg; local 1227 uint64_t otxg, txg; local 1271 uint64_t txg; local 1396 uint64_t otxg, txg; local 1444 uint64_t otxg, txg; local 1497 uint64_t txg; local 1639 uint64_t txg = dmu_tx_get_txg(tx); local 1836 uint64_t txg = 0; local [all...] |
H A D | dsl_pool.c | 75 * txg (dp_dirty_pertxg[]) and poolwide (dp_dirty_total) accounting of 78 * relevant, the per-txg value is useful for debugging. The tunable 83 * ensure that there is a txg syncing (see the comment in txg.c for a full 103 * If there is at least this much dirty data, push out a txg. 149 dsl_pool_open_impl(spa_t *spa, uint64_t txg) argument 158 txg_init(dp, txg); 179 dsl_pool_init(spa_t *spa, uint64_t txg, dsl_pool_t **dpp) argument 182 dsl_pool_t *dp = dsl_pool_open_impl(spa, txg); 340 dsl_pool_create(spa_t *spa, nvlist_t *zplprops, uint64_t txg) argument 456 dsl_pool_sync(dsl_pool_t *dp, uint64_t txg) argument 580 dsl_pool_sync_done(dsl_pool_t *dp, uint64_t txg) argument 656 dsl_pool_undirty_space(dsl_pool_t *dp, int64_t space, uint64_t txg) argument [all...] |
H A D | metaslab.c | 445 metaslab_verify_space(metaslab_t *msp, uint64_t txg) argument 464 if (txg != spa_syncing_txg(spa) || msp->ms_sm == NULL || 477 range_tree_space(msp->ms_alloctree[(txg + t) & TXG_MASK]); 479 freed = range_tree_space(msp->ms_freetree[TXG_CLEAN(txg) & TXG_MASK]); 522 * have any space until we finish syncing out this txg. 1380 metaslab_init(metaslab_group_t *mg, uint64_t id, uint64_t object, uint64_t txg, argument 1424 * If we're opening an existing pool (txg == 0) or creating 1425 * a new one (txg == TXG_INITIAL), all space is available now. 1427 * does not become available until after this txg has synced. 1429 * out this txg 1564 uint64_t txg = spa_syncing_txg(spa); local 2082 metaslab_condense(metaslab_t *msp, uint64_t txg, dmu_tx_t *tx) argument 2167 metaslab_sync(metaslab_t *msp, uint64_t txg) argument 2324 metaslab_sync_done(metaslab_t *msp, uint64_t txg) argument 2631 metaslab_block_alloc(metaslab_t *msp, uint64_t size, uint64_t txg) argument 2668 metaslab_group_alloc_normal(metaslab_group_t *mg, zio_alloc_list_t *zal, uint64_t asize, uint64_t txg, uint64_t min_distance, dva_t *dva, int d) argument 2861 metaslab_group_alloc(metaslab_group_t *mg, zio_alloc_list_t *zal, uint64_t asize, uint64_t txg, uint64_t min_distance, dva_t *dva, int d) argument 2907 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) argument 3122 metaslab_free_dva(spa_t *spa, const dva_t *dva, uint64_t txg, boolean_t now) argument 3180 metaslab_claim_dva(spa_t *spa, const dva_t *dva, uint64_t txg) argument 3279 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) argument 3335 metaslab_free(spa_t *spa, const blkptr_t *bp, uint64_t txg, boolean_t now) argument 3352 metaslab_claim(spa_t *spa, const blkptr_t *bp, uint64_t txg) argument [all...] |
H A D | vdev_label.c | 123 * txg Transaction group in which this label was written 435 * which don't have a txg value stored on their label (i.e. spares/cache) 436 * or have not been completely initialized (txg = 0) just return 439 * 'txg' value. 442 vdev_label_read_config(vdev_t *vd, uint64_t txg) argument 476 * Auxiliary vdevs won't have txg values in their 487 } else if (label_txg <= txg && label_txg > best_txg) { 519 uint64_t state, pool_guid, device_guid, txg, spare_pool; local 549 &txg) != 0)) { 575 txg 762 uint64_t txg = 0ULL; local 1099 vdev_label_sync(zio_t *zio, vdev_t *vd, int l, uint64_t txg, int flags) argument 1141 vdev_label_sync_list(spa_t *spa, int l, uint64_t txg, int flags) argument 1194 vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg) argument [all...] |
H A D | spa_config.c | 353 spa_config_generate(spa_t *spa, vdev_t *vd, uint64_t txg, int getstats) argument 371 * If txg is -1, report the current value of spa->spa_config_txg. 373 if (txg == -1ULL) 374 txg = spa->spa_config_txg; 381 fnvlist_add_uint64(config, ZPOOL_CONFIG_POOL_TXG, txg); 499 uint64_t txg; local 505 txg = spa_last_synced_txg(spa) + 1; 520 vdev_expand(tvd, txg); 528 txg_wait_synced(spa->spa_dsl_pool, txg);
|
H A D | spa.c | 54 #include <sys/txg.h> 1836 * current txg so that the "stubby" block can be removed 2849 * This must all happen in a single txg. 2945 * If spa_load() fails this function will try loading prior txg's. If 2947 * will be rewound to that txg. If 'state' is not SPA_LOAD_RECOVER this 3599 uint64_t txg = TXG_INITIAL; local 3642 spa->spa_first_txg = txg; 3643 spa->spa_uberblock.ub_txg = txg - 1; 3673 (error = vdev_create(rvd, txg, B_FALSE)) == 0 && 3674 (error = spa_validate_aux(spa, nvroot, txg, 3890 spa_alt_rootvdev(vdev_t *vd, vdev_t **avd, uint64_t *txg) argument 3935 uint64_t guid, txg; local 4474 uint64_t txg, id; local 4587 uint64_t txg, dtl_max_txg; local 4791 uint64_t txg; local 5030 uint64_t txg, *glist; local 5364 uint64_t txg; local 5463 uint64_t txg = 0; local 6495 spa_sync(spa_t *spa, uint64_t txg) argument [all...] |
H A D | vdev.c | 849 vdev_metaslab_init(vdev_t *vd, uint64_t txg) argument 859 ASSERT(txg == 0 || spa_config_held(spa, SCL_ALLOC, RW_WRITER)); 893 if (txg == 0) { 901 error = metaslab_init(vd->vdev_mg, m, object, txg, 907 if (txg == 0) 918 if (txg == 0) 1388 uint64_t txg = spa_last_synced_txg(spa) != 0 ? local 1391 if ((label = vdev_label_read_config(vd, txg)) == NULL) { 1583 vdev_create(vdev_t *vd, uint64_t txg, boolean_t isreplacing) argument 1603 (error = vdev_label_init(vd, txg, isreplacin 1623 vdev_dirty(vdev_t *vd, int flags, void *arg, uint64_t txg) argument 1640 vdev_dirty_leaves(vdev_t *vd, int flags, uint64_t txg) argument 1688 vdev_dtl_dirty(vdev_t *vd, vdev_dtl_type_t t, uint64_t txg, uint64_t size) argument 1703 vdev_dtl_contains(vdev_t *vd, vdev_dtl_type_t t, uint64_t txg, uint64_t size) argument 1805 vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, int scrub_done) argument 1999 vdev_dtl_sync(vdev_t *vd, uint64_t txg) argument 2227 vdev_remove(vdev_t *vd, uint64_t txg) argument 2286 vdev_sync_done(vdev_t *vd, uint64_t txg) argument 2301 vdev_sync(vdev_t *vd, uint64_t txg) argument 2812 uint64_t txg = zio->io_txg; local 3399 vdev_expand(vdev_t *vd, uint64_t txg) argument [all...] |
/illumos-gate/usr/src/cmd/ztest/ |
H A D | ztest.c | 63 * the transaction group number is less than the current, open txg. 89 #include <sys/txg.h> 387 * The callbacks are ordered by txg number. 1222 uint64_t txg; local 1240 txg = dmu_tx_get_txg(tx); 1241 ASSERT(txg != 0); 1242 return (txg); 1270 uint64_t offset, uint64_t gen, uint64_t txg, uint64_t crtxg) 1277 bt->bt_txg = txg; 1283 uint64_t offset, uint64_t gen, uint64_t txg, uint64_ 1269 ztest_bt_generate(ztest_block_tag_t *bt, objset_t *os, uint64_t object, uint64_t offset, uint64_t gen, uint64_t txg, uint64_t crtxg) argument 1282 ztest_bt_verify(ztest_block_tag_t *bt, objset_t *os, uint64_t object, uint64_t offset, uint64_t gen, uint64_t txg, uint64_t crtxg) argument 1429 uint64_t txg; local 1512 uint64_t object, txg; local 1564 uint64_t gen, txg, lrtxg, crtxg; local 1686 uint64_t txg; local 1727 uint64_t txg, lrtxg, crtxg; local 1845 uint64_t txg = lr->lr_common.lrc_txg; local 2138 uint64_t txg; local 2155 txg_wait_synced(dmu_objset_pool(os), txg); local 3553 uint64_t n, s, txg; local 3772 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 3828 uint64_t n, s, txg; local 4117 uint64_t txg, last_txg; local 4256 uint64_t object, txg; local 4297 uint64_t txg, object, count, wsize, wc, zl_wsize, zl_wc; local 4460 ztest_create_cb_data(objset_t *os, uint64_t txg) argument 4489 uint64_t old_txg, txg; local 5050 uint64_t object, blocksize, txg, pattern, psize; local 5120 txg_wait_synced(spa_get_dsl(spa), txg); local [all...] |