From 798aadbe51a9a02dd98a0f861cc239ecf7c8ed57 Mon Sep 17 00:00:00 2001 From: Mohit Agrawal Date: Thu, 4 Apr 2019 09:56:11 +0530 Subject: core: Log level changes do not effect on running client process Problem: commit c34e4161f3cb6539ec83a9020f3d27eb4759a975 set log-level per xlator during reconfigure only for a brick process not for the client process. Solution: 1) Change per xlator log-level only if brick_mux is enabled.To make sure about brick multiplex introudce a flag brick_mux at ctx->cmd_args. Note: There are two other changes done with this patch 1) Ignore client-log-level option to attach a brick with already running brick if brick_mux is enabled 2) Add a log to print pid of the running process to make easier debugging Change-Id: I39e85de778e150d0685cd9a79425ce8b4783f9c9 Signed-off-by: Mohit Agrawal Fixes: bz#1696046 --- xlators/debug/io-stats/src/io-stats.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'xlators/debug/io-stats') diff --git a/xlators/debug/io-stats/src/io-stats.c b/xlators/debug/io-stats/src/io-stats.c index 101e403d39a..b9422c0f335 100644 --- a/xlators/debug/io-stats/src/io-stats.c +++ b/xlators/debug/io-stats/src/io-stats.c @@ -3705,19 +3705,23 @@ xlator_set_loglevel(xlator_t *this, int log_level) active = ctx->active; top = active->first; - if (strcmp(top->type, "protocol/server") || (log_level == -1)) + if (log_level == -1) return; - /* Set log-level for server xlator */ - top->loglevel = log_level; + if (ctx->cmd_args.brick_mux) { + /* Set log-level for all brick xlators */ + top->loglevel = log_level; - /* Set log-level for parent xlator */ - if (this->parents) - this->parents->xlator->loglevel = log_level; + /* Set log-level for parent xlator */ + if (this->parents) + this->parents->xlator->loglevel = log_level; - while (trav) { - trav->loglevel = log_level; - trav = trav->next; + while (trav) { + trav->loglevel = log_level; + trav = trav->next; + } + } else { + gf_log_set_loglevel(this->ctx, log_level); } } -- cgit