diff --git a/src/node/chainstate.cpp b/src/node/chainstate.cpp index 41c0ff21184..626010d26f7 100644 --- a/src/node/chainstate.cpp +++ b/src/node/chainstate.cpp @@ -198,9 +198,10 @@ ChainstateLoadResult VerifyLoadedChainstate(ChainstateManager& chainman, const C options.check_blocks); switch (result) { case VerifyDBResult::SUCCESS: - case VerifyDBResult::INTERRUPTED: case VerifyDBResult::SKIPPED_MISSING_BLOCKS: break; + case VerifyDBResult::INTERRUPTED: + return {ChainstateLoadStatus::INTERRUPTED, _("Block verification was interrupted")}; case VerifyDBResult::CORRUPTED_BLOCK_DB: return {ChainstateLoadStatus::FAILURE, _("Corrupted block database detected")}; case VerifyDBResult::SKIPPED_L3_CHECKS: diff --git a/src/node/chainstate.h b/src/node/chainstate.h index 7838a62d0c6..77240cafe93 100644 --- a/src/node/chainstate.h +++ b/src/node/chainstate.h @@ -25,6 +25,10 @@ struct ChainstateLoadOptions { bool reindex{false}; bool reindex_chainstate{false}; bool prune{false}; + //! Setting require_full_verification to true will require all checks at + //! check_level (below) to succeed for loading to succeed. Setting it to + //! false will skip checks if cache is not big enough to run them, so may be + //! helpful for running with a small cache. bool require_full_verification{true}; int64_t check_blocks{DEFAULT_CHECKBLOCKS}; int64_t check_level{DEFAULT_CHECKLEVEL};