1
0
mirror of https://github.com/Llewellynvdm/conky.git synced 2024-12-27 04:32:55 +00:00

Use statfs64 for $fs_* to support very large volumes

bug reported by puppetm.
This commit is contained in:
Pavel Labath 2011-11-01 16:17:15 +01:00
parent b3e706aefd
commit dccf796b42

View File

@ -122,20 +122,20 @@ struct fs_stat *prepare_fs_stat(const char *s)
static void update_fs_stat(struct fs_stat *fs)
{
struct statfs s;
struct statfs64 s;
if (statfs(fs->path, &s) == 0) {
if (statfs64(fs->path, &s) == 0) {
fs->size = (long long)s.f_blocks * s.f_bsize;
/* bfree (root) or bavail (non-roots) ? */
fs->avail = (long long)s.f_bavail * s.f_bsize;
fs->free = (long long)s.f_bfree * s.f_bsize;
get_fs_type(fs->path, fs->type);
} else {
NORM_ERR("statfs64 '%s': %s", fs->path, strerror(errno));
fs->size = 0;
fs->avail = 0;
fs->free = 0;
strncpy(fs->type, "unknown", DEFAULT_TEXT_BUFFER_SIZE);
NORM_ERR("statfs '%s': %s", fs->path, strerror(errno));
}
}