• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-12-stable/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/

Lines Matching refs:txg

125  *	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)
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;
693 &txg) != 0)) {
719 txg == 0 && vdtxg == crtxg)
888 * We mark it as being from txg 0 to indicate that it's not
890 * be written again with a meaningful txg by spa_sync().
923 uint64_t txg = 0ULL;
926 txg = spa->spa_uberblock.ub_txg;
927 label = spa_config_generate(spa, vd, txg, B_FALSE);
1064 * Consider the following situation: txg is safely synced to disk. We've
1065 * written the first uberblock for txg + 1, and then we lose power. When we
1066 * come back up, we fail to see the uberblock for txg + 1 because, say,
1067 * it was on a mirrored device and the replica to which we wrote txg + 1
1068 * is now offline. If we then make some changes and sync txg + 1, and then
1070 * conflicting uberblocks on disk with the same txg. The solution is simple:
1071 * among uberblocks with equal txg, choose the one with the latest timestamp.
1093 * Since timestamp and txg are the same if we get this far, either is
1166 * vdev, keeping track of the uberblock with the highest txg in each array.
1194 * that has a configuration which was written in a future txg.
1196 * matches the txg for our uberblock.
1200 "txg %llu", spa->spa_name, (u_longlong_t)ub->ub_txg);
1205 "Trying again without txg restrictions.");
1336 vdev_t *vd, int l, uint64_t txg, int flags)
1346 vd->vdev_child[c], l, txg, flags);
1358 label = spa_config_generate(vd->vdev_spa, vd, txg, B_FALSE);
1382 vdev_label_sync_list(spa_t *spa, int l, uint64_t txg, int flags)
1404 vdev_label_sync(vio, good_writes, vd, l, txg, flags);
1435 vdev_config_sync(vdev_t **svd, int svdcount, uint64_t txg)
1457 ASSERT(ub->ub_txg <= txg);
1465 if (ub->ub_txg < txg) {
1467 txg, spa->spa_mmp.mmp_delay);
1473 if (txg > spa_freeze_txg(spa))
1476 ASSERT(txg <= spa->spa_final_txg);
1481 * written in this txg will be committed to stable storage
1487 txg_list_head(&spa->spa_vdev_txg_list, TXG_CLEAN(txg)); vd != NULL;
1488 vd = txg_list_next(&spa->spa_vdev_txg_list, vd, TXG_CLEAN(txg)))
1502 if ((error = vdev_label_sync_list(spa, 0, txg, flags)) != 0) {
1547 if ((error = vdev_label_sync_list(spa, 1, txg, flags)) != 0) {