@@ -36,26 +36,20 @@ namespace node {
3636// to ChainstateManager::InitializeChainstate().
3737static ChainstateLoadResult CompleteChainstateInitialization (
3838 ChainstateManager& chainman,
39- const CacheSizes& cache_sizes,
4039 const ChainstateLoadOptions& options) EXCLUSIVE_LOCKS_REQUIRED(::cs_main)
4140{
4241 auto & pblocktree{chainman.m_blockman .m_block_tree_db };
4342 // new BlockTreeDB tries to delete the existing file, which
4443 // fails if it's still open from the previous loop. Close it first:
4544 pblocktree.reset ();
4645 try {
47- pblocktree = std::make_unique<BlockTreeDB>(DBParams{
48- .path = chainman.m_options .datadir / " blocks" / " index" ,
49- .cache_bytes = cache_sizes.block_tree_db ,
50- .memory_only = options.block_tree_db_in_memory ,
51- .wipe_data = options.wipe_block_tree_db ,
52- .options = chainman.m_options .block_tree_db });
46+ pblocktree = chainman.m_blockman .MakeBlockTreeDb ();
5347 } catch (dbwrapper_error& err) {
5448 LogError (" %s\n " , err.what ());
5549 return {ChainstateLoadStatus::FAILURE, _ (" Error opening block database" )};
5650 }
5751
58- if (options. wipe_block_tree_db ) {
52+ if (chainman. m_blockman . OptsWipeBlockTreeDb () ) {
5953 pblocktree->WriteReindexing (true );
6054 chainman.m_blockman .m_blockfiles_indexed = false ;
6155 // If we're reindexing in prune mode, wipe away unusable block files and all undo data files
@@ -206,7 +200,7 @@ ChainstateLoadResult LoadChainstate(ChainstateManager& chainman, const CacheSize
206200 }
207201 }
208202
209- auto [init_status, init_error] = CompleteChainstateInitialization (chainman, cache_sizes, options);
203+ auto [init_status, init_error] = CompleteChainstateInitialization (chainman, options);
210204 if (init_status != ChainstateLoadStatus::SUCCESS) {
211205 return {init_status, init_error};
212206 }
@@ -242,7 +236,7 @@ ChainstateLoadResult LoadChainstate(ChainstateManager& chainman, const CacheSize
242236 // for the fully validated chainstate.
243237 chainman.ActiveChainstate ().ClearBlockIndexCandidates ();
244238
245- auto [init_status, init_error] = CompleteChainstateInitialization (chainman, cache_sizes, options);
239+ auto [init_status, init_error] = CompleteChainstateInitialization (chainman, options);
246240 if (init_status != ChainstateLoadStatus::SUCCESS) {
247241 return {init_status, init_error};
248242 }
0 commit comments