Use f_bavail to calculate free space

Failures are seen on devices with
Linux 3.10. And they are mainly due to this change:
https://lwn.net/Articles/546473/
The blocks reserved in this change is not the same thing as what we
think are reserved for common usage of root user. And this part is
included in free blocks but not in available blocks.

Bug: 22118089
Change-Id: I81c9531703298019a4fc11839f28d2cc8b9df34e
(cherry picked from commit 3b4977638f)
This commit is contained in:
caozhiyuan 2015-05-19 17:21:00 +08:00 committed by Tao Bao
parent c35f3ce30e
commit cb9450e113

View file

@ -662,7 +662,7 @@ size_t FreeSpaceForFile(const char* filename) {
printf("failed to statfs %s: %s\n", filename, strerror(errno));
return -1;
}
return sf.f_bsize * sf.f_bfree;
return sf.f_bsize * sf.f_bavail;
}
int CacheSizeCheck(size_t bytes) {