diff options
author | Mohamed Ashiq Liyazudeen <mliyazud@redhat.com> | 2016-08-10 13:44:19 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2017-09-15 12:21:36 +0000 |
commit | dabfc3116ae59b331f967c090c0c51eb3f0355fd (patch) | |
tree | 1b56638f369069e6b5dd4b34a1fa8d542a5c4f56 /cli | |
parent | 60ff7a3ef012ffca4072406f3361d14775fbf20d (diff) |
heal: New feature heal info summary to list the status of brick and count of entries to be healed
Command output:
Brick 192.168.2.8:/brick/1
Status: Connected
Total Number of entries: 363
Number of entries in heal pending: 362
Number of entries in split-brain: 0
Number of entries possibly healing: 1
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<cliOutput>
<healInfo>
<bricks>
<brick hostUuid="9105dd4b-eca8-4fdb-85b2-b81cdf77eda3">
<name>192.168.2.8:/brick/1</name>
<status>Connected</status>
<totalNumberOfEntries>363</numberOfEntries>
<numberOfEntriesInHealPending>362</numberOfEntriesInHealPending>
<numberOfEntriesInSplitBrain>0</numberOfEntriesInSplitBrain>
<numberOfEntriesPossiblyHealing>1</numberOfEntriesPossiblyHealing>
</brick>
</bricks>
</healInfo>
<opRet>0</opRet>
<opErrno>0</opErrno>
<opErrstr/>
</cliOutput>
Change-Id: I40cb6f77a14131c9e41b292f4901b41a228863d7
BUG: 1261463
Signed-off-by: Mohamed Ashiq Liyazudeen <mliyazud@redhat.com>
Reviewed-on: https://review.gluster.org/12154
Smoke: Gluster Build System <jenkins@build.gluster.org>
Tested-by: Karthik U S <ksubrahm@redhat.com>
CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Reviewed-by: Ravishankar N <ravishankar@redhat.com>
Reviewed-by: Atin Mukherjee <amukherj@redhat.com>
Diffstat (limited to 'cli')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 5 | ||||
-rw-r--r-- | cli/src/cli-cmd-volume.c | 11 | ||||
-rw-r--r-- | cli/src/cli-rpc-ops.c | 3 |
3 files changed, 16 insertions, 3 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index 45cce7a9a79..4914425698f 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -3837,6 +3837,11 @@ cli_cmd_volume_heal_options_parse (const char **words, int wordcount, GF_SHD_OP_SPLIT_BRAIN_FILES); goto done; } + if (!strcmp (words[4], "summary")) { + ret = dict_set_int32 (dict, "heal-op", + GF_SHD_OP_HEAL_SUMMARY); + goto done; + } } if (!strcmp (words[3], "statistics")) { diff --git a/cli/src/cli-cmd-volume.c b/cli/src/cli-cmd-volume.c index 7bf99eb5e12..c22573e6408 100644 --- a/cli/src/cli-cmd-volume.c +++ b/cli/src/cli-cmd-volume.c @@ -2770,7 +2770,8 @@ cli_print_brick_status (cli_volume_status_t *status) (op == GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK) || \ (op == GF_SHD_OP_INDEX_SUMMARY) || \ (op == GF_SHD_OP_SPLIT_BRAIN_FILES) || \ - (op == GF_SHD_OP_GRANULAR_ENTRY_HEAL_ENABLE)) + (op == GF_SHD_OP_GRANULAR_ENTRY_HEAL_ENABLE) || \ + (op == GF_SHD_OP_HEAL_SUMMARY)) int cli_launch_glfs_heal (int heal_op, dict_t *options) @@ -2823,6 +2824,12 @@ cli_launch_glfs_heal (int heal_op, dict_t *options) case GF_SHD_OP_GRANULAR_ENTRY_HEAL_DISABLE: runner_add_args (&runner, "granular-entry-heal-op", NULL); break; + 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); + } + break; default: ret = -1; } @@ -3295,7 +3302,7 @@ struct cli_cmd volume_cmds[] = { { "volume heal <VOLNAME> [enable | disable | full |" "statistics [heal-count [replica <HOSTNAME:BRICKNAME>]] |" - "info [healed | heal-failed | split-brain] |" + "info [summary | healed | heal-failed | split-brain] |" "split-brain {bigger-file <FILE> | latest-mtime <FILE> |" "source-brick <HOSTNAME:BRICKNAME> [<FILE>]} |" "granular-entry-heal {enable | disable}]", diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 1840b208431..fcb451a3c08 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -9173,11 +9173,12 @@ gf_cli_heal_volume_cbk (struct rpc_req *req, struct iovec *iov, case GF_SHD_OP_STATISTICS_HEAL_COUNT_PER_REPLICA: heal_op_str = "count of entries to be healed per replica"; break; - /* The below 3 cases are never hit; they're coded only to make + /* The below 4 cases are never hit; they're coded only to make * compiler warnings go away.*/ case GF_SHD_OP_SBRAIN_HEAL_FROM_BIGGER_FILE: case GF_SHD_OP_SBRAIN_HEAL_FROM_LATEST_MTIME: case GF_SHD_OP_SBRAIN_HEAL_FROM_BRICK: + case GF_SHD_OP_HEAL_SUMMARY: break; case GF_SHD_OP_INVALID: |