From fc9889d0373c323aab0d93f8ca31d2d8151bd041 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#1643519 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/src') diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 4b5af6bd707..a7723be86b8 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2844,7 +2844,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: @@ -2866,7 +2866,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: @@ -2876,13 +2876,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 22b7fb9663e..3716d2a89ca 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