From c7cb62eb285d6721d7c8321a36bca23e601492dc Mon Sep 17 00:00:00 2001 From: Jun-Tao Date: Tue, 15 May 2018 23:24:39 -0700 Subject: [PATCH] logger: Fix calculation of total and left bytes --- src/modules/logger/logger.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/modules/logger/logger.cpp b/src/modules/logger/logger.cpp index e630c0fcac..af35f37851 100644 --- a/src/modules/logger/logger.cpp +++ b/src/modules/logger/logger.cpp @@ -2117,7 +2117,7 @@ int Logger::check_free_space() uint64_t min_free_bytes = 300ULL * 1024ULL * 1024ULL; - uint64_t total_bytes = statfs_buf.f_blocks * statfs_buf.f_bsize / 10; + uint64_t total_bytes = statfs_buf.f_blocks * statfs_buf.f_bsize; if (total_bytes / 10 < min_free_bytes) { // reduce the minimum if it's larger than 10% of the disk size min_free_bytes = total_bytes / 10; @@ -2149,7 +2149,7 @@ int Logger::check_free_space() } PX4_INFO("removing log directory %s to get more space (left=%u MiB)", directory_to_delete, - (unsigned int)(statfs_buf.f_bavail / 1024U * statfs_buf.f_bsize / 1024U)); + (unsigned int)(statfs_buf.f_bavail * statfs_buf.f_bsize / 1024U / 1024U)); if (remove_directory(directory_to_delete)) { PX4_ERR("Failed to delete directory"); @@ -2163,7 +2163,7 @@ int Logger::check_free_space() if (statfs_buf.f_bavail < (px4_statfs_buf_f_bavail_t)(50 * 1024 * 1024 / statfs_buf.f_bsize)) { mavlink_log_critical(&_mavlink_log_pub, "[logger] Not logging; SD almost full: %u MiB", - (unsigned int)(statfs_buf.f_bavail / 1024U * statfs_buf.f_bsize / 1024U)); + (unsigned int)(statfs_buf.f_bavail * statfs_buf.f_bsize / 1024U / 1024U)); return 1; }