static void
get_filesys_stats(struct smap *stats OVS_UNUSED)
{
-#if HAVE_SETMNTENT && HAVE_STATVFS
+#if HAVE_GETMNTENT_R && HAVE_STATVFS
static const char file_name[] = "/etc/mtab";
+ struct mntent mntent;
struct mntent *me;
+ char buf[4096];
FILE *stream;
struct ds s;
}
ds_init(&s);
- while ((me = getmntent(stream)) != NULL) {
+ while ((me = getmntent_r(stream, &mntent, buf, sizeof buf)) != NULL) {
unsigned long long int total, free;
struct statvfs vfs;
char *p;
smap_add(stats, "file_systems", ds_cstr(&s));
}
ds_destroy(&s);
-#endif /* HAVE_SETMNTENT && HAVE_STATVFS */
+#endif /* HAVE_GETMNTENT_R && HAVE_STATVFS */
}
\f
#define SYSTEM_STATS_INTERVAL (5 * 1000) /* In milliseconds. */