diff options
author | 2017-04-02 23:29:30 -0600 | |
---|---|---|
committer | 2017-04-02 23:29:32 -0600 | |
commit | a836c472f017f09cf16fa68176df461a4958d22a (patch) | |
tree | 2aa7785e3356b217bbc700d20c2af0ce689bd3c4 | |
parent | c3bae03442d8e7e9f46b3cf754d51a738a40f4a9 (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.cpp | 2 | ||||
-rw-r--r-- | cmds/installd/utils.cpp | 5 |
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; |