▸ quoted from Asif Iqbal
On Tue, Feb 15, 2005 at 02:22:44PM -0500, Asif Iqbal wrote:
I noticed if a BB Client (like 1.8b3) reports the host name with comma
instead of dot (.) it fails to create RRD files. For new BB Client
(bb1.9e) it sends the host name with dots and it created the RRD for
disk just fine
2005-02-15 14:18:26 RRD error creating
/export/home/hobbit/data/rrd/host.ip.qwest.net/disk,/dev/md/dsk/d0.rrd:
Oops - this is something I've forgotten to fix. It happens when a disk
report from a Unix system contains the word "Filesystem" - then it's
mistaken for a report from a Windows client.
Patch attached.
Henrik
-------------- next part --------------
--- hobbitd/larrd/do_disk.c 2005/02/06 08:49:02 1.8
+++ hobbitd/larrd/do_disk.c 2005/02/15 21:19:22
@@ -8,7 +8,7 @@
/* */
/*----------------------------------------------------------------------------*/
-static char disk_rcsid[] = "$Id: do_disk.c,v 1.8 2005/02/06 08:49:02 henrik Exp $";
+static char disk_rcsid[] = "$Id: do_disk.c,v 1.9 2005/02/15 21:19:13 henrik Exp $";
static char *disk_params[] = { "rrdcreate", rrdfn, "DS:pct:GAUGE:600:0:100", "DS:used:GAUGE:600:0:U",
rra1, rra2, rra3, rra4, NULL };
@@ -46,6 +46,13 @@
fsline = xstrdup(curline); i = 0; p = strtok(fsline, " ");
while (p && (i < 20)) { columns[i++] = p; p = strtok(NULL, " "); }
+ /*
+ * Some Unix filesystem reports contain the word "Filesystem".
+ * So check if there's a slash in the NT filesystem letter - if yes,
+ * then it's really a Unix system after all.
+ */
+ if ((dsystype == DT_NT) && strchr(columns[0], '/') && strlen(columns[5])) dsystype = DT_UNIX;
• switch (dsystype) {
case DT_IRIX:
diskname = xstrdup(columns[6]);