From 2436286634e069639975f7b5c973f859a87de233 Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Fri, 26 Oct 2018 17:51:38 +0530 Subject: glfsheal: add a '--nolog' flag ....and if set, change the log level to GF_LOG_NONE. This is useful for monitoring applications which invoke the heal info set of commands once every minute, leading to un-necessary glfsheal* logs in /var/log/glusterfs/. For example, we can now run `gluster volume heal info --nolog` `gluster volume heal info split-brain --nolog` etc. The default log level is still retained at GF_LOG_INFO. The patch also changes glfsheal internally to accept '--xml' instead of 'xml'. Note: The --nolog flag is *not* displayed in the help anywhere, for the sake of consistency in how the other flags are not displayed anywhere in the help. fixes: bz#1654236 Change-Id: Ia08b6aa6e4a0548379db7e313dd4411ebc66f206 Signed-off-by: Ravishankar N (cherry picked from commit fc9889d0373c323aab0d93f8ca31d2d8151bd041) --- cli/src/cli-cmd-volume.c | 8 +++++--- cli/src/cli.c | 5 +++++ cli/src/cli.h | 1 + 3 files changed, 11 insertions(+), 3 deletions(-) (limited to 'cli') diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index ad0d80d87db..ac3718f6230 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2820,7 +2820,7 @@ cli_launch_glfs_heal(int heal_op, dict_t *options) switch (heal_op) { case GF_SHD_OP_INDEX_SUMMARY: if (global_state->mode & GLUSTER_MODE_XML) { - runner_add_args(&runner, "xml", NULL); + runner_add_args(&runner, "--xml", NULL); } break; case GF_SHD_OP_SBRAIN_HEAL_FROM_BIGGER_FILE: @@ -2842,7 +2842,7 @@ cli_launch_glfs_heal(int heal_op, dict_t *options) case GF_SHD_OP_SPLIT_BRAIN_FILES: runner_add_args(&runner, "split-brain-info", NULL); if (global_state->mode & GLUSTER_MODE_XML) { - runner_add_args(&runner, "xml", NULL); + runner_add_args(&runner, "--xml", NULL); } break; case GF_SHD_OP_GRANULAR_ENTRY_HEAL_ENABLE: @@ -2852,13 +2852,15 @@ cli_launch_glfs_heal(int heal_op, dict_t *options) case GF_SHD_OP_HEAL_SUMMARY: runner_add_args(&runner, "info-summary", NULL); if (global_state->mode & GLUSTER_MODE_XML) { - runner_add_args(&runner, "xml", NULL); + runner_add_args(&runner, "--xml", NULL); } break; default: ret = -1; goto out; } + if (global_state->mode & GLUSTER_MODE_GLFSHEAL_NOLOG) + runner_add_args(&runner, "--nolog", NULL); ret = runner_start(&runner); if (ret == -1) goto out; diff --git a/cli/src/cli.c b/cli/src/cli.c index 39a0984a134..d7cd43e13df 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -345,6 +345,11 @@ cli_opt_parse(char *opt, struct cli_state *state) return 0; } + if (strcmp(opt, "nolog") == 0) { + state->mode |= GLUSTER_MODE_GLFSHEAL_NOLOG; + return 0; + } + if (strcmp(opt, "wignore-partition") == 0) { state->mode |= GLUSTER_MODE_WIGNORE_PARTITION; return 0; diff --git a/cli/src/cli.h b/cli/src/cli.h index bf51402dc17..773297e4be8 100644 --- a/cli/src/cli.h +++ b/cli/src/cli.h @@ -61,6 +61,7 @@ typedef enum { #define GLUSTER_MODE_XML (1 << 2) #define GLUSTER_MODE_WIGNORE (1 << 3) #define GLUSTER_MODE_WIGNORE_PARTITION (1 << 4) +#define GLUSTER_MODE_GLFSHEAL_NOLOG (1 << 5) #define GLUSTERD_GET_QUOTA_LIST_MOUNT_PATH(abspath, volname, path) \ do { \ -- cgit