aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/init.cpp2
-rw-r--r--src/node/chainstate.cpp6
-rw-r--r--src/node/chainstate.h2
3 files changed, 8 insertions, 2 deletions
diff --git a/src/init.cpp b/src/init.cpp
index 3cac626e9d..56debdd245 100644
--- a/src/init.cpp
+++ b/src/init.cpp
@@ -1415,6 +1415,8 @@ bool AppInitMain(NodeContext& node, interfaces::BlockAndHeaderTipInfo* tip_info)
cache_sizes.block_tree_db,
cache_sizes.coins_db,
cache_sizes.coins,
+ false,
+ false,
ShutdownRequested,
[]() {
uiInterface.ThreadSafeMessageBox(
diff --git a/src/node/chainstate.cpp b/src/node/chainstate.cpp
index b4264655d5..35d4b4cc8c 100644
--- a/src/node/chainstate.cpp
+++ b/src/node/chainstate.cpp
@@ -17,6 +17,8 @@ std::optional<ChainstateLoadingError> LoadChainstate(bool fReset,
int64_t nBlockTreeDBCache,
int64_t nCoinDBCache,
int64_t nCoinCacheUsage,
+ bool block_tree_db_in_memory,
+ bool coins_db_in_memory,
std::function<bool()> shutdown_requested,
std::function<void()> coins_error_cb)
{
@@ -36,7 +38,7 @@ std::optional<ChainstateLoadingError> LoadChainstate(bool fReset,
// new CBlockTreeDB tries to delete the existing file, which
// fails if it's still open from the previous loop. Close it first:
pblocktree.reset();
- pblocktree.reset(new CBlockTreeDB(nBlockTreeDBCache, false, fReset));
+ pblocktree.reset(new CBlockTreeDB(nBlockTreeDBCache, block_tree_db_in_memory, fReset));
if (fReset) {
pblocktree->WriteReindexing(true);
@@ -81,7 +83,7 @@ std::optional<ChainstateLoadingError> LoadChainstate(bool fReset,
for (CChainState* chainstate : chainman.GetAll()) {
chainstate->InitCoinsDB(
/* cache_size_bytes */ nCoinDBCache,
- /* in_memory */ false,
+ /* in_memory */ coins_db_in_memory,
/* should_wipe */ fReset || fReindexChainState);
if (coins_error_cb) {
diff --git a/src/node/chainstate.h b/src/node/chainstate.h
index e3369eb47c..c3b8baf7fc 100644
--- a/src/node/chainstate.h
+++ b/src/node/chainstate.h
@@ -63,6 +63,8 @@ std::optional<ChainstateLoadingError> LoadChainstate(bool fReset,
int64_t nBlockTreeDBCache,
int64_t nCoinDBCache,
int64_t nCoinCacheUsage,
+ bool block_tree_db_in_memory,
+ bool coins_db_in_memory,
std::function<bool()> shutdown_requested = nullptr,
std::function<void()> coins_error_cb = nullptr);