diff --git a/src/validation.cpp b/src/validation.cpp index b11142f431e..651bb020172 100644 --- a/src/validation.cpp +++ b/src/validation.cpp @@ -2874,6 +2874,9 @@ bool Chainstate::FlushStateToDisk( bool should_write = (mode == FlushStateMode::ALWAYS) || fCacheLarge || fCacheCritical || fPeriodicWrite || fFlushForPrune; // Write blocks, block index and best chain related state to disk. if (should_write) { + LogDebug(BCLog::COINDB, "Writing chainstate to disk: flush mode=%s, prune=%d, large=%d, critical=%d, periodic=%d", + FlushStateModeNames[size_t(mode)], fFlushForPrune, fCacheLarge, fCacheCritical, fPeriodicWrite); + // Ensure we can write block index if (!CheckDiskSpace(m_blockman.m_opts.blocks_dir)) { return FatalError(m_chainman.GetNotifications(), state, _("Disk space is too low!")); diff --git a/src/validation.h b/src/validation.h index 5b488ba4b53..897cf10b10c 100644 --- a/src/validation.h +++ b/src/validation.h @@ -437,7 +437,8 @@ enum DisconnectResult class ConnectTrace; /** @see Chainstate::FlushStateToDisk */ -enum class FlushStateMode { +inline constexpr std::array FlushStateModeNames{"NONE", "IF_NEEDED", "PERIODIC", "ALWAYS"}; +enum class FlushStateMode: uint8_t { NONE, IF_NEEDED, PERIODIC,