From dffec2587fa26e2a4a8b0bda8bf0a23d5073fa3b Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Fri, 9 Nov 2018 09:38:47 +0000 Subject: [PATCH] db_lmdb: error out if the db needs migration in read only mode --- src/blockchain_db/lmdb/db_lmdb.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/blockchain_db/lmdb/db_lmdb.cpp b/src/blockchain_db/lmdb/db_lmdb.cpp index 1674c40dd..8c66ef739 100644 --- a/src/blockchain_db/lmdb/db_lmdb.cpp +++ b/src/blockchain_db/lmdb/db_lmdb.cpp @@ -1345,6 +1345,15 @@ void BlockchainLMDB::open(const std::string& filename, const int db_flags) #if VERSION > 0 else if (db_version < VERSION) { + if (mdb_flags & MDB_RDONLY) + { + txn.abort(); + mdb_env_close(m_env); + m_open = false; + MFATAL("Existing lmdb database needs to be converted, which cannot be done on a read-only database."); + MFATAL("Please run monerod once to convert the database."); + return; + } // Note that there was a schema change within version 0 as well. // See commit e5d2680094ee15889934fe28901e4e133cda56f2 2015/07/10 // We don't handle the old format previous to that commit.