| /netvirt/usr/src/uts/common/fs/zfs/sys/ |
| txg.h | 30 #pragma ident "@(#)txg.h 1.1 05/10/30 SMI" 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); 81 * necessary syncs immediately). If txg==0, wait for the currently open 82 * txg to finish syncing. 84 extern void txg_wait_synced(struct dsl_pool *dp, uint64_t txg); 90 * If txg == 0, wait for the next open txg. 92 extern void txg_wait_open(struct dsl_pool *dp, uint64_t txg); [all...] |
| metaslab.h | 33 #include <sys/txg.h> 45 uint64_t start, uint64_t size, uint64_t txg); 47 extern void metaslab_sync(metaslab_t *msp, uint64_t txg); 48 extern void metaslab_sync_done(metaslab_t *msp, uint64_t txg); 51 blkptr_t *bp, int ncopies, uint64_t txg, blkptr_t *hintbp, 53 extern void metaslab_free(spa_t *spa, const blkptr_t *bp, uint64_t txg, 55 extern int metaslab_claim(spa_t *spa, const blkptr_t *bp, uint64_t txg);
|
| dsl_pool.h | 32 #include <sys/txg.h> 70 int dsl_pool_open(spa_t *spa, uint64_t txg, dsl_pool_t **dpp); 72 dsl_pool_t *dsl_pool_create(spa_t *spa, uint64_t txg); 73 void dsl_pool_sync(dsl_pool_t *dp, uint64_t txg);
|
| uberblock.h | 44 extern int uberblock_update(uberblock_t *ub, vdev_t *rvd, uint64_t txg);
|
| vdev.h | 53 extern int vdev_create(vdev_t *, uint64_t txg, boolean_t isreplace); 54 extern void vdev_init(vdev_t *, uint64_t txg); 61 extern void vdev_dtl_dirty(space_map_t *sm, uint64_t txg, uint64_t size); 62 extern int vdev_dtl_contains(space_map_t *sm, uint64_t txg, uint64_t size); 63 extern void vdev_dtl_reassess(vdev_t *vd, uint64_t txg, uint64_t scrub_txg, 68 extern int vdev_metaslab_init(vdev_t *vd, uint64_t txg); 111 extern int vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg); 132 extern int vdev_label_init(vdev_t *vd, uint64_t txg, vdev_labeltype_t reason);
|
| metaslab_impl.h | 34 #include <sys/txg.h> 59 * which is only updated in syncing context. Each time we sync a txg, 60 * we append the allocs and frees from that txg to the space map object. 61 * When the txg is done syncing, metaslab_sync_done() updates ms_smo 68 space_map_t ms_allocmap[TXG_SIZE]; /* allocated this txg */ 69 space_map_t ms_freemap[TXG_SIZE]; /* freed this txg */ 74 txg_node_t ms_txg_node; /* per-txg dirty metaslab links */
|
| txg_impl.h | 33 #include <sys/txg.h> 47 tx_cpu_t *tx_cpu; /* protects right to enter txg */ 50 uint64_t tx_open_txg; /* currently open txg id */ 51 uint64_t tx_quiesced_txg; /* quiesced txg waiting for sync */ 52 uint64_t tx_syncing_txg; /* currently syncing txg id */ 53 uint64_t tx_synced_txg; /* last synced txg id */ 55 uint64_t tx_sync_txg_waiting; /* txg we're waiting to sync */ 56 uint64_t tx_quiesce_txg_waiting; /* txg we're waiting to open */
|
| dmu_tx.h | 33 #include <sys/txg.h> 113 extern dmu_tx_t *dmu_tx_create_assigned(struct dsl_pool *dp, uint64_t txg);
|
| zio.h | 34 #include <sys/txg.h> 296 int ncopies, uint64_t txg, blkptr_t *bp, void *data, uint64_t size, 301 uint64_t txg, blkptr_t *bp, void *data, uint64_t size, 305 extern zio_t *zio_free(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 308 extern zio_t *zio_claim(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 325 blkptr_t *old_bp, uint64_t txg); 326 extern void zio_free_blk(spa_t *spa, blkptr_t *bp, uint64_t txg);
|
| arc.h | 93 int ncopies, uint64_t txg, blkptr_t *bp, arc_buf_t *buf, 96 int arc_free(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp,
|
| bplist.h | 33 #include <sys/txg.h>
|
| dsl_synctask.h | 31 #include <sys/txg.h>
|
| /netvirt/usr/src/uts/common/fs/zfs/ |
| uberblock.c | 49 uberblock_update(uberblock_t *ub, vdev_t *rvd, uint64_t txg) 51 ASSERT(ub->ub_txg < txg); 58 ub->ub_txg = txg; 62 return (ub->ub_rootbp.blk_birth == txg);
|
| txg.c | 26 #pragma ident "@(#)txg.c 1.3 08/01/03 SMI" 42 int txg_time = 5; /* max 5 seconds worth of delta per txg */ 45 * Prepare the txg subsystem. 48 txg_init(dsl_pool_t *dp, uint64_t txg) 69 tx->tx_open_txg = txg; 73 * Close down the txg subsystem. 200 uint64_t txg; local 204 txg = tx->tx_open_txg; 205 tc->tc_count[txg & TXG_MASK]++; 208 th->th_txg = txg; 280 uint64_t txg; local 343 uint64_t txg; local 430 uint64_t txg = tx->tx_open_txg + 1; local [all...] |
| dsl_pool.c | 56 dsl_pool_open_impl(spa_t *spa, uint64_t txg) 65 txg_init(dp, txg); 80 dsl_pool_open(spa_t *spa, uint64_t txg, dsl_pool_t **dpp) 83 dsl_pool_t *dp = dsl_pool_open_impl(spa, txg); 141 dsl_pool_create(spa_t *spa, uint64_t txg) 144 dsl_pool_t *dp = dsl_pool_open_impl(spa, txg); 145 dmu_tx_t *tx = dmu_tx_create_assigned(dp, txg); 169 dsl_pool_sync(dsl_pool_t *dp, uint64_t txg) 179 tx = dmu_tx_create_assigned(dp, txg); 182 while (ds = txg_list_remove(&dp->dp_dirty_datasets, txg)) { [all...] |
| metaslab.c | 291 uint64_t start, uint64_t size, uint64_t txg) 314 * If we're opening an existing pool (txg == 0) or creating 315 * a new one (txg == TXG_INITIAL), all space is available now. 317 * does not become available until after this txg has synced. 319 if (txg <= TXG_INITIAL) 322 if (txg != 0) { 330 ASSERT(TXG_CLEAN(txg) == spa_last_synced_txg(vd->vdev_spa)); 331 vdev_dirty(vd, 0, NULL, txg); 332 vdev_dirty(vd, VDD_METASLAB, msp, TXG_CLEAN(txg)); 459 metaslab_sync(metaslab_t *msp, uint64_t txg) [all...] |
| vdev.c | 727 vdev_metaslab_init(vdev_t *vd, uint64_t txg) 765 if (txg == 0) { 783 m << vd->vdev_ms_shift, 1ULL << vd->vdev_ms_shift, txg); 1107 vdev_create(vdev_t *vd, uint64_t txg, boolean_t isreplacing) 1126 if ((error = vdev_label_init(vd, txg, isreplacing ? 1142 vdev_init(vdev_t *vd, uint64_t txg) 1154 VERIFY(vdev_metaslab_init(vd, txg) == 0); 1158 vdev_dirty(vdev_t *vd, int flags, void *arg, uint64_t txg) 1164 (void) txg_list_add(&vd->vdev_ms_list, arg, txg); 1167 (void) txg_list_add(&vd->vdev_dtl_list, arg, txg); 1488 uint64_t txg; local 1555 uint64_t txg; local 1607 uint64_t txg; local 1666 uint64_t txg; local 1866 uint64_t txg = zio->io_txg; local [all...] |
| zil.c | 45 * either the DMU transaction group (txg) commits them to the stable pool 210 zil_parse_lr_func_t *parse_lr_func, void *arg, uint64_t txg) 247 parse_blk_func(zilog, &blk, arg, txg); 265 parse_lr_func(zilog, lr, arg, txg); 332 uint64_t txg = 0; local 354 txg = dmu_tx_get_txg(tx); 357 NULL, txg); 373 lwb->lwb_max_txg = txg; 388 txg_wait_synced(zilog->zl_dmu_pool, txg); 409 uint64_t txg; local 472 uint64_t txg; local 673 uint64_t txg; local 776 uint64_t txg = lrc->lrc_txg; local 951 uint64_t txg; local 1116 uint64_t txg = dmu_tx_get_txg(tx); local 1286 uint64_t txg; local [all...] |
| dsl_synctask.c | 81 uint64_t txg; local 88 txg = dmu_tx_get_txg(tx); 115 VERIFY(0 == txg_list_add(&dstg->dstg_pool->dp_sync_tasks, dstg, txg)); 119 txg_wait_synced(dstg->dstg_pool, txg); 130 uint64_t txg; local 133 txg = dmu_tx_get_txg(tx); 134 VERIFY(0 == txg_list_add(&dstg->dstg_pool->dp_sync_tasks, dstg, txg));
|
| spa_config.c | 373 spa_config_generate(spa_t *spa, vdev_t *vd, uint64_t txg, int getstats) 386 * If txg is -1, report the current value of spa->spa_config_txg. 388 if (txg == -1ULL) 389 txg = spa->spa_config_txg; 400 txg) == 0); 440 uint64_t txg; local 446 txg = spa_last_synced_txg(spa) + 1; 460 vdev_init(tvd, txg); 470 txg_wait_synced(spa->spa_dsl_pool, txg);
|
| spa.c | 48 #include <sys/txg.h> 1887 uint64_t txg = TXG_INITIAL; local 2393 uint64_t txg; local 2502 uint64_t txg, open_txg; local 2683 uint64_t txg; local 3127 uint64_t txg; local 3629 uint64_t txg; local [all...] |
| vdev_label.c | 124 * txg Transaction group in which this label was written 364 uint64_t state, pool_guid, device_guid, txg, spare_pool; local 394 &txg) != 0)) { 420 txg == 0 && vdtxg == crtxg) 566 * We mark it as being from txg 0 to indicate that it's not 568 * be written again with a meaningful txg by spa_sync(). 696 * Consider the following situation: txg is safely synced to disk. We've 697 * written the first uberblock for txg + 1, and then we lose power. When we 698 * come back up, we fail to see the uberblock for txg + 1 because, say, 699 * it was on a mirrored device and the replica to which we wrote txg + [all...] |
| zio.c | 31 #include <sys/txg.h> 334 zio_create(zio_t *pio, spa_t *spa, uint64_t txg, blkptr_t *bp, 347 zio->io_txg = txg; 487 uint64_t txg, blkptr_t *bp, void *data, uint64_t size, 501 zio = zio_create(pio, spa, txg, bp, data, size, done, private, 515 if (bp->blk_birth != txg) { 531 uint64_t txg, blkptr_t *bp, void *data, uint64_t size, 537 zio = zio_create(pio, spa, txg, bp, data, size, done, private, 563 uint64_t txg, blkptr_t *bp, void *data, uint64_t size, 573 zio = zio_create(pio, spa, txg, bp, data, size, done, private 625 ASSERT3U(spa_first_txg(spa), <=, txg); local 1538 uint64_t txg = zio->io_txg; local [all...] |
| dmu_object.c | 149 dmu_object_next(objset_t *os, uint64_t *objectp, boolean_t hole, uint64_t txg) 155 hole, &offset, 0, DNODES_PER_BLOCK, txg);
|
| dmu.c | 674 * EEXIST: this txg has already been synced, so there's nothing to to. 691 blkptr_t *bp, uint64_t txg, dmu_sync_cb_t *done, void *arg) 705 ASSERT(txg != 0); 708 dprintf("dmu_sync txg=%llu, s,o,q %llu %llu %llu\n", 709 txg, tx->tx_synced_txg, tx->tx_open_txg, tx->tx_quiesced_txg); 717 * If this txg already synced, there's nothing to do. 719 if (txg <= tx->tx_synced_txg) { 724 if (txg > spa_freeze_txg(dp->dp_spa)) { 735 if (txg == tx->tx_syncing_txg) { 754 (db->db_blkptr && db->db_blkptr->blk_birth == txg)); [all...] |