From a682d2af91881fa775e265520f7f820cb71dc707 Mon Sep 17 00:00:00 2001 From: Chase Geigle Date: Thu, 14 Sep 2017 19:02:55 -0500 Subject: [PATCH] fix(fs): Use f_frsize in filesystem calculations This is consistent with the documentation of std::experimental::filesystem, so I think it is the more "correct" thing to be doing here. --- src/modules/fs.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/modules/fs.cpp b/src/modules/fs.cpp index a8e6f8ea..44b87cd1 100644 --- a/src/modules/fs.cpp +++ b/src/modules/fs.cpp @@ -96,10 +96,11 @@ namespace modules { mount->type = details->at(MOUNTINFO_TYPE); mount->fsname = details->at(MOUNTINFO_FSNAME); - mount->bytes_total = buffer.f_bsize * buffer.f_blocks; + // see: http://en.cppreference.com/w/cpp/filesystem/space + mount->bytes_total = buffer.f_frsize * buffer.f_blocks; mount->bytes_free = buffer.f_bsize * buffer.f_bfree; mount->bytes_used = mount->bytes_total - mount->bytes_free; - mount->bytes_avail = buffer.f_bsize * buffer.f_bavail; + mount->bytes_avail = buffer.f_frsize * buffer.f_bavail; mount->percentage_free = math_util::percentage(mount->bytes_avail, mount->bytes_used + mount->bytes_avail); mount->percentage_used = math_util::percentage(mount->bytes_used, mount->bytes_used + mount->bytes_avail);