summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 660aebd)
raw | patch | inline | side by side (parent: 660aebd)
author | Sebastian Harl <sh@tokkee.org> | |
Sun, 17 Feb 2008 19:22:49 +0000 (20:22 +0100) | ||
committer | Florian Forster <octo@huhu.verplant.org> | |
Mon, 18 Feb 2008 19:49:42 +0000 (20:49 +0100) |
If enabled, translate the disk names to major/minor device numbers. For
backwards compatibility this defaults to true but it it recommended to disable
it as it will probably be removed in the next major version. Any other parts
of collectd have changed in a similar way with version 4.0, so hddtemp should
do so as well.
This option is disabled in new versions of the config file.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
backwards compatibility this defaults to true but it it recommended to disable
it as it will probably be removed in the next major version. Any other parts
of collectd have changed in a similar way with version 4.0, so hddtemp should
do so as well.
This option is disabled in new versions of the config file.
Signed-off-by: Sebastian Harl <sh@tokkee.org>
Signed-off-by: Florian Forster <octo@huhu.verplant.org>
src/collectd.conf.in | patch | blob | history | |
src/collectd.conf.pod | patch | blob | history | |
src/hddtemp.c | patch | blob | history |
diff --git a/src/collectd.conf.in b/src/collectd.conf.in
index 93b97be3591141efb114a99d1f18d5204351a014..2554d60a6f75a4ce4eba5e6bd012c056e6571b4e 100644 (file)
--- a/src/collectd.conf.in
+++ b/src/collectd.conf.in
# Exec "user:group" "/path/to/exec"
#</Plugin>
-#<Plugin hddtemp>
+@BUILD_PLUGIN_HDDTEMP_TRUE@<Plugin hddtemp>
# Host "127.0.0.1"
# Port "7634"
-#</Plugin>
+@BUILD_PLUGIN_HDDTEMP_TRUE@ TranslateDevicename false
+@BUILD_PLUGIN_HDDTEMP_TRUE@</Plugin>
#<Plugin interface>
# Interface "eth0"
diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod
index 7e05bdbe9a36f6d0832859b69e623acee5be4c35..ac85e47782bbdda1f0fae290a19d1d21bbc74ceb 100644 (file)
--- a/src/collectd.conf.pod
+++ b/src/collectd.conf.pod
TCP-Port to connect to. Defaults to B<7634>.
+=item B<TranslateDevicename> I<true>|I<false>
+
+If enabled, translate the disk names to major/minor device numbers
+(e.E<nbsp>g. "8-0" for /dev/sda). For backwards compatibility this defaults to
+I<true> but it's recommended to disable it as it will probably be removed in
+the next major version.
+
=back
=head2 Plugin C<interface>
diff --git a/src/hddtemp.c b/src/hddtemp.c
index 0a93920b99e4ce7e42c3d8a0b06c6fc91373c8e8..8c4bc4aa9c36a4b1a5597ce0720ba73ede55f237 100644 (file)
--- a/src/hddtemp.c
+++ b/src/hddtemp.c
{
"Host",
"Port",
- NULL
+ "TranslateDevicename"
};
-static int config_keys_num = 2;
+static int config_keys_num = STATIC_ARRAY_SIZE (config_keys);
typedef struct hddname
{
static hddname_t *first_hddname = NULL;
static char *hddtemp_host = NULL;
static char hddtemp_port[16];
+static int translate_devicename = 1;
/*
* NAME
strncpy (hddtemp_port, value, sizeof (hddtemp_port));
hddtemp_port[sizeof (hddtemp_port) - 1] = '\0';
}
+ else if (strcasecmp (key, "TranslateDevicename") == 0)
+ {
+ if ((strcasecmp ("true", value) == 0)
+ || (strcasecmp ("yes", value) == 0)
+ || (strcasecmp ("on", value) == 0))
+ translate_devicename = 1;
+ else
+ translate_devicename = 0;
+ }
else
{
return (-1);
} /* int hddtemp_init */
/*
- * hddtemp_get_name
+ * hddtemp_get_major_minor
*
* Description:
* Try to "cook" a bit the drive name as returned
* by the hddtemp daemon. The intend is to transform disk
* names into <major>-<minor> when possible.
*/
-static char *hddtemp_get_name (char *drive)
+static char *hddtemp_get_major_minor (char *drive)
{
hddname_t *list;
char *ret;
for (i = 0; i < num_disks; i++)
{
- char *name, *submit_name;
+ char *name, *major_minor;
double temperature;
char *mode;
if (mode[0] == 'F')
temperature = (temperature - 32.0) * 5.0 / 9.0;
- if ((submit_name = hddtemp_get_name (name)) != NULL)
+ if (translate_devicename
+ && (major_minor = hddtemp_get_major_minor (name)) != NULL)
{
- hddtemp_submit (submit_name, temperature);
- free (submit_name);
+ hddtemp_submit (major_minor, temperature);
+ free (major_minor);
}
else
{