diff options
author | Sachin Pandit <spandit@redhat.com> | 2014-04-03 10:00:04 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2014-04-29 22:02:01 -0700 |
commit | e2034a84d284c37ade9f49be1589e3f53321bb23 (patch) | |
tree | f0827a0ed6b4d4f04ab50f65f8d6d6cec991354f /xlators/mgmt/glusterd/src/glusterd-snapshot.c | |
parent | 4d9e0bf658cce3cf9f808bb6d0a4cb2d8c9ad504 (diff) |
snapshot/config : Fix for bug which states gluster snapshot config
command should only accept the decimal numeric value.
Syntax : gluster snapshot config [volname]
[snap-max-hard-limit <count>]
[snap-max-soft-limit <percentage>]
Problem : Snapshot config used to consider the alphanumeric value
staring with digit as an integer (Example: "9abc" is converted to "9").
Solution : Refined the code to check if the entered value is numeric.
This patch also fixes some of the minor problems related to snapshot
config.
1) Output correction in gluster snapshot config snap-max-soft-limit.
2) setting the soft limit to greater than 100% displays that "Invalid
snap-max-soft-limit 0". The error message used to display "zero" in
the output, Changed this to display relevant value.
3) Setting greater than allowed snap-max-hard-limit output needs to
have space in between.
Change-Id: Ie7c7045722fe57b2b3c50c873664b67c28eb3853
BUG: 1087203
Signed-off-by: Sachin Pandit <spandit@redhat.com>
Reviewed-on: http://review.gluster.org/7457
Reviewed-by: Vijaikumar Mallikarjuna <vmallika@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-snapshot.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-snapshot.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-snapshot.c b/xlators/mgmt/glusterd/src/glusterd-snapshot.c index 6e28efc3010..3c75f4ab31c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-snapshot.c +++ b/xlators/mgmt/glusterd/src/glusterd-snapshot.c @@ -545,8 +545,8 @@ snap_max_hard_limits_validate (dict_t *dict, char *volname, if ((value < 0) || (value > max_limit)) { ret = -1; - snprintf (err_str, PATH_MAX, "Invalid snap-max-hard-limit" - "%"PRIu64 ". Expected range 0 - %"PRIu64, + snprintf (err_str, PATH_MAX, "Invalid snap-max-hard-limit " + "%"PRIu64 ". Expected range 1 - %"PRIu64, value, max_limit); goto out; } @@ -570,7 +570,6 @@ glusterd_snapshot_config_prevalidate (dict_t *dict, char **op_errstr) int config_command = 0; char err_str[PATH_MAX] = {0,}; glusterd_conf_t *conf = NULL; - uint64_t value = 0; uint64_t hard_limit = 0; uint64_t soft_limit = 0; gf_loglevel_t loglevel = GF_LOG_ERROR; @@ -628,8 +627,8 @@ glusterd_snapshot_config_prevalidate (dict_t *dict, char **op_errstr) ret = -1; snprintf (err_str, PATH_MAX, "Invalid " "snap-max-soft-limit ""%" - PRIu64 ". Expected range 0 - %"PRIu64, - value, max_limit); + PRIu64 ". Expected range 1 - %"PRIu64, + soft_limit, max_limit); goto out; } break; |