From 507d21912fd1ad2ed17c27a1640dd52b8a78cf28 Mon Sep 17 00:00:00 2001 From: usev6 Date: Mon, 18 Sep 2017 20:50:18 +0200 Subject: [PATCH] nfs plugin: Changes after review * Avoid negated config options (s/IgnoreV/ReportV/) * Use _Bool instead of int * Handle multiple occurences of config option correctly --- src/collectd.conf.in | 6 +++--- src/collectd.conf.pod | 8 ++++---- src/nfs.c | 34 +++++++++++++++++----------------- 3 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/collectd.conf.in b/src/collectd.conf.in index dbc5463f..fa6c96c1 100644 --- a/src/collectd.conf.in +++ b/src/collectd.conf.in @@ -941,9 +941,9 @@ @LOAD_PLUGIN_NETWORK@ # -# IgnoreV2 true -# #IgnoreV3 true -# #IgnoreV4 true +# ReportV2 false +# #ReportV3 false +# #ReportV4 false # # diff --git a/src/collectd.conf.pod b/src/collectd.conf.pod index 298a43b4..379e0838 100644 --- a/src/collectd.conf.pod +++ b/src/collectd.conf.pod @@ -5173,15 +5173,15 @@ System (NFS). It counts the number of procedure calls for each procedure, grouped by version and whether the system runs as server or client. It is possibly to omit metrics for a specific NFS version by setting one or -more of the following options to B (all of them default to B). +more of the following options to B (all of them default to B). =over 4 -=item B B|B +=item B B|B -=item B B|B +=item B B|B -=item B B|B +=item B B|B =back diff --git a/src/nfs.c b/src/nfs.c index 2f628218..369b764a 100644 --- a/src/nfs.c +++ b/src/nfs.c @@ -31,11 +31,11 @@ #include #endif -static const char *config_keys[] = {"IgnoreV2", "IgnoreV3", "IgnoreV4"}; +static const char *config_keys[] = {"ReportV2", "ReportV3", "ReportV4"}; static int config_keys_num = STATIC_ARRAY_SIZE(config_keys); -static int ignore_v2 = 0; -static int ignore_v3 = 0; -static int ignore_v4 = 0; +static _Bool report_v2 = 1; +static _Bool report_v3 = 1; +static _Bool report_v4 = 1; /* see /proc/net/rpc/nfs @@ -302,12 +302,12 @@ static kstat_t *nfs4_ksp_server; #endif static int nfs_config(const char *key, const char *value) { - if (strcasecmp(key, "IgnoreV2") == 0 && IS_TRUE(value)) - ignore_v2 = 1; - else if (strcasecmp(key, "IgnoreV3") == 0 && IS_TRUE(value)) - ignore_v3 = 1; - else if (strcasecmp(key, "IgnoreV4") == 0 && IS_TRUE(value)) - ignore_v4 = 1; + if (strcasecmp(key, "ReportV2") == 0) + report_v2 = IS_TRUE(value); + else if (strcasecmp(key, "ReportV3") == 0) + report_v3 = IS_TRUE(value); + else if (strcasecmp(key, "ReportV4") == 0) + report_v4 = IS_TRUE(value); else return -1; @@ -514,18 +514,18 @@ static void nfs_read_linux(FILE *fh, const char *inst) { if (fields_num < 3) continue; - if (strcmp(fields[0], "proc2") == 0 && ignore_v2 == 0) { + if (strcmp(fields[0], "proc2") == 0 && report_v2) { nfs_submit_fields_safe(/* version = */ 2, inst, fields + 2, (size_t)(fields_num - 2), nfs2_procedures_names, nfs2_procedures_names_num); - } else if (strncmp(fields[0], "proc3", 5) == 0 && ignore_v3 == 0) { + } else if (strncmp(fields[0], "proc3", 5) == 0 && report_v3) { nfs_submit_fields_safe(/* version = */ 3, inst, fields + 2, (size_t)(fields_num - 2), nfs3_procedures_names, nfs3_procedures_names_num); - } else if (strcmp(fields[0], "proc4ops") == 0 && ignore_v4 == 0) { + } else if (strcmp(fields[0], "proc4ops") == 0 && report_v4) { if (inst[0] == 's') nfs_submit_nfs4_server(inst, fields + 2, (size_t)(fields_num - 2)); - } else if (strcmp(fields[0], "proc4") == 0 && ignore_v4 == 0) { + } else if (strcmp(fields[0], "proc4") == 0 && report_v4) { if (inst[0] == 'c') nfs_submit_nfs4_client(inst, fields + 2, (size_t)(fields_num - 2)); } @@ -580,19 +580,19 @@ static int nfs_read(void) { #elif HAVE_LIBKSTAT static int nfs_read(void) { - if (ignore_v2 == 0) { + if (report_v2) { nfs_read_kstat(nfs2_ksp_client, /* version = */ 2, "client", nfs2_procedures_names, nfs2_procedures_names_num); nfs_read_kstat(nfs2_ksp_server, /* version = */ 2, "server", nfs2_procedures_names, nfs2_procedures_names_num); } - if (ignore_v3 == 0) { + if (report_v3) { nfs_read_kstat(nfs3_ksp_client, /* version = */ 3, "client", nfs3_procedures_names, nfs3_procedures_names_num); nfs_read_kstat(nfs3_ksp_server, /* version = */ 3, "server", nfs3_procedures_names, nfs3_procedures_names_num); } - if (ignore_v2 == 0) { + if (report_v2) { nfs_read_kstat(nfs4_ksp_client, /* version = */ 4, "client", nfs4_procedures_names, nfs4_procedures_names_num); nfs_read_kstat(nfs4_ksp_server, /* version = */ 4, "server", -- 2.11.0