diff options
| author | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-11-11 23:25:12 +0000 |
|---|---|---|
| committer | moneromooo-monero <moneromooo-monero@users.noreply.github.com> | 2017-11-14 10:21:34 +0000 |
| commit | 43f27c7d43ee5cae601e1fb0181cba2ccfd7baa6 (patch) | |
| tree | 32dad0f3184cb3124810d00a1c183db4633c3dc8 /src/cryptonote_core/cryptonote_core.cpp | |
| parent | af448d3883f53e86b46d79f879aa790d3fbb7679 (diff) | |
| download | monzero-core-43f27c7d43ee5cae601e1fb0181cba2ccfd7baa6.tar.gz monzero-core-43f27c7d43ee5cae601e1fb0181cba2ccfd7baa6.tar.xz monzero-core-43f27c7d43ee5cae601e1fb0181cba2ccfd7baa6.zip | |
core: warn when free disk space is low
Diffstat (limited to 'src/cryptonote_core/cryptonote_core.cpp')
| -rw-r--r-- | src/cryptonote_core/cryptonote_core.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/cryptonote_core/cryptonote_core.cpp b/src/cryptonote_core/cryptonote_core.cpp index 61f844612..69e15c0b4 100644 --- a/src/cryptonote_core/cryptonote_core.cpp +++ b/src/cryptonote_core/cryptonote_core.cpp @@ -1269,6 +1269,7 @@ namespace cryptonote m_fork_moaner.do_call(boost::bind(&core::check_fork_time, this)); m_txpool_auto_relayer.do_call(boost::bind(&core::relay_txpool_transactions, this)); m_check_updates_interval.do_call(boost::bind(&core::check_updates, this)); + m_check_disk_space_interval.do_call(boost::bind(&core::check_disk_space, this)); m_miner.on_idle(); m_mempool.on_idle(); return true; @@ -1400,6 +1401,17 @@ namespace cryptonote return true; } //----------------------------------------------------------------------------------------------- + bool core::check_disk_space() + { + uint64_t free_space = get_free_space(); + if (free_space < 1ull * 1024 * 1024 * 1024) // 1 GB + { + const el::Level level = el::Level::Warning; + MCLOG_RED(level, "global", "Free space is below 1 GB on " << m_config_folder); + } + return true; + } + //----------------------------------------------------------------------------------------------- void core::set_target_blockchain_height(uint64_t target_blockchain_height) { m_target_blockchain_height = target_blockchain_height; @@ -1415,6 +1427,13 @@ namespace cryptonote return get_blockchain_storage().prevalidate_block_hashes(height, hashes); } //----------------------------------------------------------------------------------------------- + uint64_t core::get_free_space() const + { + boost::filesystem::path path(m_config_folder); + boost::filesystem::space_info si = boost::filesystem::space(path); + return si.available; + } + //----------------------------------------------------------------------------------------------- std::time_t core::get_start_time() const { return start_time; |
