diff options
| author | Venkatesh Somyajulu <vsomyaju@redhat.com> | 2013-02-04 13:51:16 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2013-02-04 17:41:16 -0800 | 
| commit | 1c430d2747f2c0960dcdcd9da4b253c89674bdd7 (patch) | |
| tree | c813ebbf93a015f5cd8d43b62d8f7b802038470e /cli | |
| parent | 3804a3413daf7180da0f3fe9d5ea1c5c157d38cb (diff) | |
glusterd: "volume heal info" doesn't report output properly
Problem: "volume heal info" doesn't reports files to be healed when gluster*
         processes on one of the storage node is not running
Change-Id: Iff7d41407014624e4da9b70d710039ac14b48291
BUG: 880898
Signed-off-by: Venkatesh Somyajulu <vsomyaju@redhat.com>
Reviewed-on: http://review.gluster.org/4371
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'cli')
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 49 | 
1 files changed, 31 insertions, 18 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 20c60bf081e..69496492217 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -6003,6 +6003,7 @@ cmd_heal_volume_brick_out (dict_t *dict, int brick)          uint64_t        i = 0;          uint32_t        time = 0;          char            timestr[32] = {0}; +        char            *shd_status = NULL;          snprintf (key, sizeof key, "%d-hostname", brick);          ret = dict_get_str (dict, key, &hostname); @@ -6013,33 +6014,45 @@ cmd_heal_volume_brick_out (dict_t *dict, int brick)          if (ret)                  goto out;          cli_out ("\nBrick %s:%s", hostname, path); -        snprintf (key, sizeof key, "%d-count", brick); -        ret = dict_get_uint64 (dict, key, &num_entries); -        cli_out ("Number of entries: %"PRIu64, num_entries); +          snprintf (key, sizeof key, "%d-status", brick);          ret = dict_get_str (dict, key, &status);          if (status && strlen (status))                  cli_out ("Status: %s", status); -        for (i = 0; i < num_entries; i++) { -                snprintf (key, sizeof key, "%d-%"PRIu64, brick, i); -                ret = dict_get_str (dict, key, &path); -                if (ret) -                        continue; -                time = 0; -                snprintf (key, sizeof key, "%d-%"PRIu64"-time", brick, i); -                ret = dict_get_uint32 (dict, key, &time); -                if (!time) { -                        cli_out ("%s", path); -                } else { -                        gf_time_fmt (timestr, sizeof timestr, -                                     time, gf_timefmt_FT); -                        if (i == 0) { + +        snprintf (key, sizeof key, "%d-shd-status",brick); +        ret = dict_get_str (dict, key, &shd_status); + +        if(!shd_status) +        { +                snprintf (key, sizeof key, "%d-count", brick); +                ret = dict_get_uint64 (dict, key, &num_entries); +                cli_out ("Number of entries: %"PRIu64, num_entries); + + +                for (i = 0; i < num_entries; i++) { +                        snprintf (key, sizeof key, "%d-%"PRIu64, brick, i); +                        ret = dict_get_str (dict, key, &path); +                        if (ret) +                                continue; +                        time = 0; +                        snprintf (key, sizeof key, "%d-%"PRIu64"-time", +                                  brick, i); +                        ret = dict_get_uint32 (dict, key, &time); +                        if (!time) { +                                cli_out ("%s", path); +                        } else { +                                gf_time_fmt (timestr, sizeof timestr, +                                             time, gf_timefmt_FT); +                                if (i == 0) {                                  cli_out ("at                    path on brick");                                  cli_out ("-----------------------------------"); +                                } +                                cli_out ("%s %s", timestr, path);                          } -                        cli_out ("%s %s", timestr, path);                  }          } +  out:          return;  }  | 
