summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2017-04-02 23:29:30 -0600
committer Jeff Sharkey <jsharkey@android.com> 2017-04-02 23:29:32 -0600
commita836c472f017f09cf16fa68176df461a4958d22a (patch)
tree2aa7785e3356b217bbc700d20c2af0ce689bd3c4
parentc3bae03442d8e7e9f46b3cf754d51a738a40f4a9 (diff)
We really want f_frsize.
It's confusing, but f_bsize is not the value you're looking for; the real block size is f_frsize. Fix all those bugs. Test: builds, boots Bug: 36840579 Change-Id: I2846b8998c27f3e9a71dbf573a0a22158215a3bd
-rw-r--r--cmds/installd/tests/installd_cache_test.cpp2
-rw-r--r--cmds/installd/utils.cpp5
2 files changed, 3 insertions, 4 deletions
diff --git a/cmds/installd/tests/installd_cache_test.cpp b/cmds/installd/tests/installd_cache_test.cpp
index 360f71aaf5..174ce77026 100644
--- a/cmds/installd/tests/installd_cache_test.cpp
+++ b/cmds/installd/tests/installd_cache_test.cpp
@@ -99,7 +99,7 @@ static int64_t size(const char* path) {
static int64_t free() {
struct statvfs buf;
if (!statvfs("/data/local/tmp", &buf)) {
- return buf.f_bavail * buf.f_bsize;
+ return buf.f_bavail * buf.f_frsize;
} else {
PLOG(ERROR) << "Failed to statvfs";
return -1;
diff --git a/cmds/installd/utils.cpp b/cmds/installd/utils.cpp
index fbe6edf712..943df0fca9 100644
--- a/cmds/installd/utils.cpp
+++ b/cmds/installd/utils.cpp
@@ -629,11 +629,10 @@ int copy_dir_files(const char *srcname,
return res;
}
-int64_t data_disk_free(const std::string& data_path)
-{
+int64_t data_disk_free(const std::string& data_path) {
struct statvfs sfs;
if (statvfs(data_path.c_str(), &sfs) == 0) {
- return sfs.f_bavail * sfs.f_bsize;
+ return sfs.f_bavail * sfs.f_frsize;
} else {
PLOG(ERROR) << "Couldn't statvfs " << data_path;
return -1;