summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 9745ec0)
raw | patch | inline | side by side (parent: 9745ec0)
author | YmrDtnJu <YmrDtnJu@users.noreply.github.com> | |
Sat, 10 Dec 2016 00:30:59 +0000 (01:30 +0100) | ||
committer | YmrDtnJu <YmrDtnJu@users.noreply.github.com> | |
Sat, 10 Dec 2016 00:58:18 +0000 (01:58 +0100) |
The first two lines of the statistics file on Linux contain information about
the rest of the file. They do not contain any usable statistics.
See module/spl/spl-kstat.c of the spl module of ZFS on Linux for more
information.
the rest of the file. They do not contain any usable statistics.
See module/spl/spl-kstat.c of the spl module of ZFS on Linux for more
information.
src/zfs_arc.c | patch | blob | history |
diff --git a/src/zfs_arc.c b/src/zfs_arc.c
index af5130aa2c4bb5b85f4fd2868979542636e39b79..2f8b2f4226f5c68c20a5355ec581ec04651cf96e 100644 (file)
--- a/src/zfs_arc.c
+++ b/src/zfs_arc.c
return (-1);
}
+ // Ignore the first two lines because they contain information about
+ // the rest of the file.
+ // See kstat_seq_show_headers module/spl/spl-kstat.c of the spl kernel
+ // module.
+ if (fgets(buffer, sizeof(buffer), fh) == NULL) {
+ ERROR("zfs_arc plugin: \"%s\" does not contain a single line.", ZOL_ARCSTATS_FILE);
+ fclose(fh);
+ return (-1);
+ }
+ if (fgets(buffer, sizeof(buffer), fh) == NULL) {
+ ERROR("zfs_arc plugin: \"%s\" does not contain at least two lines.", ZOL_ARCSTATS_FILE);
+ fclose(fh);
+ return (-1);
+ }
+
while (fgets(buffer, sizeof(buffer), fh) != NULL) {
char *fields[3];
value_t v;