summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/basic/fop-sampling.t2
-rw-r--r--tests/basic/stats-dump.t6
-rw-r--r--xlators/debug/io-stats/src/io-stats.c27
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c2
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;
}