diff options
| -rw-r--r-- | tests/basic/fop-sampling.t | 2 | ||||
| -rw-r--r-- | tests/basic/stats-dump.t | 6 | ||||
| -rw-r--r-- | xlators/debug/io-stats/src/io-stats.c | 27 | ||||
| -rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 2 |
4 files changed, 22 insertions, 15 deletions
diff --git a/tests/basic/fop-sampling.t b/tests/basic/fop-sampling.t index 713c7e27579..d22826c4224 100644 --- a/tests/basic/fop-sampling.t +++ b/tests/basic/fop-sampling.t @@ -6,7 +6,7 @@ . $(dirname $0)/../volume.rc BRICK_SAMPLES="$(gluster --print-logdir)/samples/glusterfsd__d_backends_${V0}0.samp" -NFS_SAMPLES="$(gluster --print-logdir)/samples/glusterfs_nfsd.samp" +NFS_SAMPLES="$(gluster --print-logdir)/samples/glusterfs_nfsd_${V0}.samp" function check_path { op=$1 diff --git a/tests/basic/stats-dump.t b/tests/basic/stats-dump.t index 2840498218b..ceed7571a62 100644 --- a/tests/basic/stats-dump.t +++ b/tests/basic/stats-dump.t @@ -32,13 +32,13 @@ sleep 2 # and the FUSE mount BRICK_OUTPUT="$(grep 'aggr.fop.write.count": "0"' ${GLUSTERD_WORKDIR}/stats/glusterfsd__d_backends_patchy?.dump)" BRICK_RET="$?" -NFSD_OUTPUT="$(grep 'aggr.fop.write.count": "0"' ${GLUSTERD_WORKDIR}/stats/glusterfs_nfsd.dump)" +NFSD_OUTPUT="$(grep 'aggr.fop.write.count": "0"' ${GLUSTERD_WORKDIR}/stats/glusterfs_nfsd_$V0.dump)" NFSD_RET="$?" -FUSE_OUTPUT="$(grep 'aggr.fop.write.count": "0"' ${GLUSTERD_WORKDIR}/stats/glusterfs_patchy.dump)" +FUSE_OUTPUT="$(grep 'aggr.fop.write.count": "0"' ${GLUSTERD_WORKDIR}/stats/glusterfs_$V0.dump)" FUSE_RET="$?" # Test that io-stats is getting queue sizes from io-threads -TEST grep 'queue_size' ${GLUSTERD_WORKDIR}/stats/glusterfs_nfsd.dump +TEST grep 'queue_size' ${GLUSTERD_WORKDIR}/stats/glusterfs_nfsd_$V0.dump TEST grep 'queue_size' ${GLUSTERD_WORKDIR}/stats/glusterfsd__d_backends_patchy?.dump TEST [ 0 -ne "$BRICK_RET" ] diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c index bd0ba632baa..d25d5be29ea 100644 --- a/xlators/debug/io-stats/src/io-stats.c +++ b/xlators/debug/io-stats/src/io-stats.c @@ -150,6 +150,7 @@ struct ios_conf { ios_sample_buf_t *ios_sample_buf; struct dnscache *dnscache; int32_t ios_dnscache_ttl_sec; + gf_boolean_t iamshd; gf_boolean_t iamnfsd; gf_boolean_t iamgfproxyd; }; @@ -792,16 +793,14 @@ _io_stats_get_key_prefix (xlator_t *this, char **key_prefix) { } instance_name = this->instance_name; - if (this->name && strcmp (this->name, "glustershd") == 0) { + if (conf->iamshd) { xlator_name = "shd"; - } else if (this->prev && - strcmp (this->prev->name, "nfs-server") == 0) { + } else if (conf->iamnfsd) { xlator_name = "nfsd"; - if (this->prev->instance_name) - instance_name = strdupa (this->prev->instance_name); + instance_name = strdupa (this->name); } else if (conf->iamgfproxyd) { xlator_name = "gfproxyd"; - instance_name = this->name; + instance_name = strdupa (this->name); } if (strcmp (__progname, "glusterfsd") == 0) @@ -3343,12 +3342,11 @@ _ios_dump_thread (xlator_t *this) { xlator_name[i] = '_'; } instance_name = this->instance_name; - if (this->name && strcmp (this->name, "glustershd") == 0) { + if (conf->iamshd) { xlator_name = "shd"; - } else if (this->prev && - strcmp (this->prev->name, "nfs-server") == 0) { + } else if (conf->iamnfsd) { xlator_name = "nfsd"; - instance_name = this->prev->instance_name; + instance_name = strdupa (this->name); } else if (conf->iamgfproxyd == _gf_true) { xlator_name = "gfproxyd"; instance_name = strdupa (this->name); @@ -4115,6 +4113,8 @@ init (xlator_t *this) if (ret) goto out; + GF_OPTION_INIT ("iam-self-heal-daemon", conf->iamshd, bool, out); + GF_OPTION_INIT ("iam-nfs-daemon", conf->iamnfsd, bool, out); GF_OPTION_INIT ("iam-gfproxy-daemon", conf->iamgfproxyd, bool, out); @@ -4538,6 +4538,13 @@ struct volume_options options[] = { "log messages that can be buffered for a time equal to" " the value of the option brick-log-flush-timeout." }, + { .key = {"iam-self-heal-daemon"}, + .type = GF_OPTION_TYPE_BOOL, + .default_value = "off", + .description = "This option differentiates if the io-stats " + "translator is running as part of an self-heal " + "daemon or not." + }, { .key = {"iam-nfs-daemon"}, .type = GF_OPTION_TYPE_BOOL, .default_value = "off", diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index e187e506640..f66271a82ea 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -4972,7 +4972,7 @@ volgen_graph_set_iam_nfsd (const volgen_graph_t *graph) for (trav = first_of ((volgen_graph_t *)graph); trav; trav = trav->next) { - if (strcmp (trav->type, "cluster/replicate") != 0 || + if (strcmp (trav->type, "cluster/replicate") != 0 && strcmp (trav->type, "debug/io-stats") != 0) { continue; } |
