Lines Matching defs:txg
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)
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;
549 &txg) != 0)) {
575 txg == 0 && vdtxg == crtxg)
727 * We mark it as being from txg 0 to indicate that it's not
729 * be written again with a meaningful txg by spa_sync().
762 uint64_t txg = 0ULL;
765 txg = spa->spa_uberblock.ub_txg;
766 label = spa_config_generate(spa, vd, txg, B_FALSE);
864 * Consider the following situation: txg is safely synced to disk. We've
865 * written the first uberblock for txg + 1, and then we lose power. When we
866 * come back up, we fail to see the uberblock for txg + 1 because, say,
867 * it was on a mirrored device and the replica to which we wrote txg + 1
868 * is now offline. If we then make some changes and sync txg + 1, and then
870 * conflicting uberblocks on disk with the same txg. The solution is simple:
871 * among uberblocks with equal txg, choose the one with the latest timestamp.
947 * vdev, keeping track of the uberblock with the highest txg in each array.
975 * that has a configuration which was written in a future txg.
977 * matches the txg for our uberblock.
1099 vdev_label_sync(zio_t *zio, vdev_t *vd, int l, uint64_t txg, int flags)
1107 vdev_label_sync(zio, vd->vdev_child[c], l, txg, flags);
1118 label = spa_config_generate(vd->vdev_spa, vd, txg, B_FALSE);
1141 vdev_label_sync_list(spa_t *spa, int l, uint64_t txg, int flags)
1163 vdev_label_sync(vio, vd, l, txg, flags);
1194 vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg)
1217 ASSERT(ub->ub_txg <= txg);
1225 if (ub->ub_txg < txg &&
1226 uberblock_update(ub, spa->spa_root_vdev, txg) == B_FALSE &&
1230 if (txg > spa_freeze_txg(spa))
1233 ASSERT(txg <= spa->spa_final_txg);
1238 * written in this txg will be committed to stable storage
1243 for (vd = txg_list_head(&spa->spa_vdev_txg_list, TXG_CLEAN(txg)); vd;
1244 vd = txg_list_next(&spa->spa_vdev_txg_list, vd, TXG_CLEAN(txg)))
1258 if ((error = vdev_label_sync_list(spa, 0, txg, flags)) != 0)
1289 if ((error = vdev_label_sync_list(spa, 1, txg, flags)) != 0)