mirror of
https://github.com/ElementsProject/elements.git
synced 2026-08-16 13:01:19 +02:00
Merge dbdc83ae01 into merged_master (Bitcoin PR bitcoin/bitcoin#24909)
This commit is contained in:
commit
d4aa6eba2f
12 changed files with 104 additions and 104 deletions
21
src/node/blockstorage.cpp
Normal file → Executable file
21
src/node/blockstorage.cpp
Normal file → Executable file
|
|
@ -25,7 +25,6 @@
|
|||
namespace node {
|
||||
std::atomic_bool fImporting(false);
|
||||
std::atomic_bool fReindex(false);
|
||||
bool fHavePruned = false;
|
||||
bool fPruneMode = false;
|
||||
uint64_t nPruneTarget = 0;
|
||||
bool fTrimHeaders = false;
|
||||
|
|
@ -85,7 +84,7 @@ const CBlockIndex* BlockManager::LookupBlockIndex(const uint256& hash) const
|
|||
return it == m_block_index.end() ? nullptr : &it->second;
|
||||
}
|
||||
|
||||
CBlockIndex* BlockManager::AddToBlockIndex(const CBlockHeader& block)
|
||||
CBlockIndex* BlockManager::AddToBlockIndex(const CBlockHeader& block, CBlockIndex*& best_header)
|
||||
{
|
||||
AssertLockHeld(cs_main);
|
||||
|
||||
|
|
@ -110,8 +109,9 @@ CBlockIndex* BlockManager::AddToBlockIndex(const CBlockHeader& block)
|
|||
pindexNew->nTimeMax = (pindexNew->pprev ? std::max(pindexNew->pprev->nTimeMax, pindexNew->nTime) : pindexNew->nTime);
|
||||
pindexNew->nChainWork = (pindexNew->pprev ? pindexNew->pprev->nChainWork : 0) + GetBlockProof(*pindexNew);
|
||||
pindexNew->RaiseValidity(BLOCK_VALID_TREE);
|
||||
if (pindexBestHeader == nullptr || pindexBestHeader->nChainWork < pindexNew->nChainWork)
|
||||
pindexBestHeader = pindexNew;
|
||||
if (best_header == nullptr || best_header->nChainWork < pindexNew->nChainWork) {
|
||||
best_header = pindexNew;
|
||||
}
|
||||
|
||||
m_dirty_blockindex.insert(pindexNew);
|
||||
|
||||
|
|
@ -301,9 +301,6 @@ bool BlockManager::LoadBlockIndex(const Consensus::Params& consensus_params)
|
|||
if (pindex->pprev) {
|
||||
pindex->BuildSkip();
|
||||
}
|
||||
if (pindex->IsValid(BLOCK_VALID_TREE) && (pindexBestHeader == nullptr || CBlockIndexWorkComparator()(pindexBestHeader, pindex))) {
|
||||
pindexBestHeader = pindex;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
@ -319,6 +316,8 @@ void BlockManager::Unload()
|
|||
m_last_blockfile = 0;
|
||||
m_dirty_blockindex.clear();
|
||||
m_dirty_fileinfo.clear();
|
||||
|
||||
m_have_pruned = false;
|
||||
}
|
||||
|
||||
bool BlockManager::WriteBlockIndexDB()
|
||||
|
|
@ -381,8 +380,8 @@ bool BlockManager::LoadBlockIndexDB()
|
|||
}
|
||||
|
||||
// Check whether we have ever pruned block & undo files
|
||||
m_block_tree_db->ReadFlag("prunedblockfiles", fHavePruned);
|
||||
if (fHavePruned) {
|
||||
m_block_tree_db->ReadFlag("prunedblockfiles", m_have_pruned);
|
||||
if (m_have_pruned) {
|
||||
LogPrintf("LoadBlockIndexDB(): Block files have previously been pruned\n");
|
||||
}
|
||||
|
||||
|
|
@ -408,10 +407,10 @@ const CBlockIndex* BlockManager::GetLastCheckpoint(const CCheckpointData& data)
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
bool IsBlockPruned(const CBlockIndex* pblockindex)
|
||||
bool BlockManager::IsBlockPruned(const CBlockIndex* pblockindex)
|
||||
{
|
||||
AssertLockHeld(::cs_main);
|
||||
return (fHavePruned && !(pblockindex->nStatus & BLOCK_HAVE_DATA) && pblockindex->nTx > 0);
|
||||
return (m_have_pruned && !(pblockindex->nStatus & BLOCK_HAVE_DATA) && pblockindex->nTx > 0);
|
||||
}
|
||||
|
||||
// If we're using -prune with -reindex, then delete block files that will be ignored by the
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue