mirror of
https://github.com/monero-project/monero.git
synced 2024-12-13 20:06:32 +02:00
core: fix automatic safe db sync mode switching
This commit is contained in:
parent
a2cef8cba4
commit
740da1ba95
@ -1346,6 +1346,7 @@ void BlockchainLMDB::sync()
|
||||
|
||||
void BlockchainLMDB::safesyncmode(const bool onoff)
|
||||
{
|
||||
MINFO("switching safe mode " << (onoff ? "on" : "off"));
|
||||
mdb_env_set_flags(m_env, MDB_NOSYNC|MDB_MAPASYNC, !onoff);
|
||||
}
|
||||
|
||||
|
@ -438,6 +438,7 @@ namespace cryptonote
|
||||
std::vector<std::string> options;
|
||||
boost::trim(db_sync_mode);
|
||||
boost::split(options, db_sync_mode, boost::is_any_of(" :"));
|
||||
const bool db_sync_mode_is_default = command_line::is_arg_defaulted(vm, cryptonote::arg_db_sync_mode);
|
||||
|
||||
for(const auto &option : options)
|
||||
MDEBUG("option: " << option);
|
||||
@ -458,18 +459,18 @@ namespace cryptonote
|
||||
{
|
||||
safemode = true;
|
||||
db_flags = DBF_SAFE;
|
||||
sync_mode = db_nosync;
|
||||
sync_mode = db_sync_mode_is_default ? db_defaultsync : db_nosync;
|
||||
}
|
||||
else if(options[0] == "fast")
|
||||
{
|
||||
db_flags = DBF_FAST;
|
||||
sync_mode = db_async;
|
||||
sync_mode = db_sync_mode_is_default ? db_defaultsync : db_async;
|
||||
}
|
||||
else if(options[0] == "fastest")
|
||||
{
|
||||
db_flags = DBF_FASTEST;
|
||||
blocks_per_sync = 1000; // default to fastest:async:1000
|
||||
sync_mode = db_async;
|
||||
sync_mode = db_sync_mode_is_default ? db_defaultsync : db_async;
|
||||
}
|
||||
else
|
||||
db_flags = DEFAULT_FLAGS;
|
||||
@ -478,9 +479,9 @@ namespace cryptonote
|
||||
if(options.size() >= 2 && !safemode)
|
||||
{
|
||||
if(options[1] == "sync")
|
||||
sync_mode = db_sync;
|
||||
sync_mode = db_sync_mode_is_default ? db_defaultsync : db_sync;
|
||||
else if(options[1] == "async")
|
||||
sync_mode = db_async;
|
||||
sync_mode = db_sync_mode_is_default ? db_defaultsync : db_async;
|
||||
}
|
||||
|
||||
if(options.size() >= 3 && !safemode)
|
||||
|
Loading…
Reference in New Issue
Block a user