From 70ae565c759cb019b73c7b4d6ac3650293984bc2 Mon Sep 17 00:00:00 2001 From: Ravishankar N Date: Wed, 28 Nov 2018 15:19:24 +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#1654229 Change-Id: Ia08b6aa6e4a0548379db7e313dd4411ebc66f206 Signed-off-by: Ravishankar N --- 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 ee7e8f94c9e..22f02c7224e 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2841,7 +2841,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: @@ -2865,7 +2865,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: @@ -2875,13 +2875,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 b58f211d3dd..dd49198feed 100644 --- a/cli/src/cli.c +++ b/cli/src/cli.c @@ -347,6 +347,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 3421d6911fb..6ce6f002221 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