0
0
Fork 0
mirror of https://github.com/bitcoin/bitcoin.git synced 2025-02-01 09:35:52 -05:00

refactor: Remove redundant reindex check

The check for whether the block tree db has been wiped before calling
NeedsRedownload() is confusing. The boolean is set in case of a reindex.
It was originally introduced to guard NeedsRedownload in case of a
reindex in #21009. However NeedsRedownload already returns early if the
chain's tip is not loaded. Since that is the case during a reindex, the
pre-check is redundant.
This commit is contained in:
TheCharlatan 2025-01-08 14:40:04 +01:00
parent df8bf65745
commit 57ba59c0cd
No known key found for this signature in database
GPG key ID: 9B79B45691DB4173

View file

@ -155,14 +155,12 @@ static ChainstateLoadResult CompleteChainstateInitialization(
} }
} }
if (!options.wipe_block_tree_db) { auto chainstates{chainman.GetAll()};
auto chainstates{chainman.GetAll()}; if (std::any_of(chainstates.begin(), chainstates.end(),
if (std::any_of(chainstates.begin(), chainstates.end(), [](const Chainstate* cs) EXCLUSIVE_LOCKS_REQUIRED(cs_main) { return cs->NeedsRedownload(); })) {
[](const Chainstate* cs) EXCLUSIVE_LOCKS_REQUIRED(cs_main) { return cs->NeedsRedownload(); })) { return {ChainstateLoadStatus::FAILURE, strprintf(_("Witness data for blocks after height %d requires validation. Please restart with -reindex."),
return {ChainstateLoadStatus::FAILURE, strprintf(_("Witness data for blocks after height %d requires validation. Please restart with -reindex."), chainman.GetConsensus().SegwitHeight)};
chainman.GetConsensus().SegwitHeight)}; };
};
}
// Now that chainstates are loaded and we're able to flush to // Now that chainstates are loaded and we're able to flush to
// disk, rebalance the coins caches to desired levels based // disk, rebalance the coins caches to desired levels based