Merge branch 'collectd-5.7' into collectd-5.8
authorPavel Rochnyack <pavel2000@ngs.ru>
Fri, 26 Oct 2018 15:06:35 +0000 (22:06 +0700)
committerPavel Rochnyack <pavel2000@ngs.ru>
Fri, 26 Oct 2018 15:06:35 +0000 (22:06 +0700)
Conflicts:
src/utils_mount.c

src/utils_mount.c
src/zfs_arc.c

index 3d57ca6..49040aa 100644 (file)
@@ -664,6 +664,8 @@ cu_mount_t *cu_mount_getlist(cu_mount_t **list) {
   new = cu_mount_gen_getmntent();
 #elif HAVE_SEQ_GETMNTENT
 #error "This version of `getmntent' hat not yet been implemented!"
+#elif HAVE_GETMNTENT_R
+  new = cu_mount_getmntent();
 #elif HAVE_ONE_GETMNTENT
   new = cu_mount_getmntent();
 #else
index 55166fa..6c66fb1 100644 (file)
@@ -232,6 +232,23 @@ static int za_read(void) {
     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;