diff options
| author | Amar Tumballi <amar@gluster.com> | 2011-09-15 12:57:44 +0530 | 
|---|---|---|
| committer | Vijay Bellur <vijay@gluster.com> | 2011-09-23 06:48:32 -0700 | 
| commit | 76580479033087f6dde080c27618baf19b18b658 (patch) | |
| tree | 89a6b37046df9dc859e7f8ac7acd3f9115c69c2f /cli/src/cli-rpc-ops.c | |
| parent | 1b096c3ff0a4c25ff22a32d9594d2e289a3d67ea (diff) | |
glusterd: cleanup of volinfo '*_count' definitionsv3.3.0qa11
earlier, sub_count was having different meaning depending on the
volume type.
now, for replica and stripe count, one can directly access the
'replica_count' or 'stripe_count' to get the corresponding
value from the volume info. 'sub_count' is preserved as is for backward
compatibility. there is a new variable 'dist_leaf_count' to get
info about how many bricks are present in one distribute sub volume.
Change-Id: I5ea1c8f9ae08f584cca63b91ba69035c7e4350ca
BUG: 3158
Reviewed-on: http://review.gluster.com/435
Reviewed-by: Krishnan Parthasarathi <kp@gluster.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'cli/src/cli-rpc-ops.c')
| -rw-r--r-- | cli/src/cli-rpc-ops.c | 51 | 
1 files changed, 28 insertions, 23 deletions
diff --git a/cli/src/cli-rpc-ops.c b/cli/src/cli-rpc-ops.c index 78d27b62424..b58e0317363 100644 --- a/cli/src/cli-rpc-ops.c +++ b/cli/src/cli-rpc-ops.c @@ -381,8 +381,9 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov,          int32_t                    status = 0;          int32_t                    type = 0;          int32_t                    brick_count = 0; -        int32_t                    sub_count = 0; +        int32_t                    dist_count = 0;          int32_t                    stripe_count = 0; +        int32_t                    replica_count = 0;          int32_t                    vol_type = 0;          char                       *brick = NULL;          int32_t                    j = 1; @@ -482,8 +483,8 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov,                          if (ret)                                  goto out; -                        snprintf (key, 256, "volume%d.sub_count", i); -                        ret = dict_get_int32 (dict, key, &sub_count); +                        snprintf (key, 256, "volume%d.dist_count", i); +                        ret = dict_get_int32 (dict, key, &dist_count);                          if (ret)                                  goto out; @@ -492,6 +493,11 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov,                          if (ret)                                  goto out; +                        snprintf (key, 256, "volume%d.replica_count", i); +                        ret = dict_get_int32 (dict, key, &replica_count); +                        if (ret) +                                goto out; +                          snprintf (key, 256, "volume%d.transport", i);                          ret = dict_get_int32 (dict, key, &transport);                          if (ret) @@ -500,31 +506,30 @@ gf_cli3_1_get_volume_cbk (struct rpc_req *req, struct iovec *iov,                          vol_type = type;                          // Distributed (stripe/replicate/raid01) setups -                        if ((type > 0) && ( sub_count < brick_count)) +                        if ((type > 0) && ( dist_count < brick_count))                                  vol_type = type + 3;                          cli_out ("Volume Name: %s", volname);                          cli_out ("Type: %s", cli_volume_type[vol_type]);                          cli_out ("Status: %s", cli_volume_status[status]); -                        if ((sub_count > 1) && (brick_count > sub_count)) { -                                if (!stripe_count) -                                        cli_out ("Number of Bricks: %d x %d = %d", -                                                 brick_count / sub_count, sub_count, -                                                 brick_count); -                                else -                                        cli_out ("Number of Bricks: %d x %d x %d = %d", -                                                 brick_count / sub_count, stripe_count, -                                                 sub_count / stripe_count, brick_count); -                        } else { -                                if (!stripe_count) -                                        cli_out ("Number of Bricks: %d", -                                                 brick_count); -                                else -                                        cli_out ("Number of Bricks: %d x %d = %d", -                                                 stripe_count, -                                                 (brick_count / stripe_count), -                                                 brick_count); -                        } + +                        if (type == GF_CLUSTER_TYPE_STRIPE_REPLICATE) +                                cli_out ("Number of Bricks: %d x %d x %d = %d", +                                         (brick_count / dist_count), +                                         stripe_count, +                                         replica_count, +                                         brick_count); +                        else if (type == GF_CLUSTER_TYPE_NONE) +                                cli_out ("Number of Bricks: %d", +                                         brick_count); +                        else +                                /* For both replicate and stripe, dist_count is +                                   good enough */ +                                cli_out ("Number of Bricks: %d x %d = %d", +                                         (brick_count / dist_count), +                                         dist_count, +                                         brick_count); +                          cli_out ("Transport-type: %s",                                   ((transport == 0)?"tcp":  | 
