diff options
author | Kaushal M <kaushal@redhat.com> | 2012-06-27 11:04:48 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-07-18 12:22:44 +0530 |
commit | a99e16c8dfc5caeb7fae7c37fd5d0a116779fd67 (patch) | |
tree | 7938d90cf261fb865ea67a5716e5e36ca3f753e8 /xlators | |
parent | 4ad1e4525b561504b3e816ca9fc594c85cba94a4 (diff) |
glusterd: Fix peer probe when username/password is missing
Prevent failure of building volumes dictionary during peer probe, when
username/password for a volume is missing. This situation can be caused by
migration of gluster from pre-3.3 to 3.3 and above.
BUG: 834229
Change-Id: I042ecfcc5024e6b18c4ffb44ea0977ec58e22ef8
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.com/3629
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
Signed-off-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-utils.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c index bd72e1cb249..46a7997b763 100644 --- a/xlators/mgmt/glusterd/src/glusterd-utils.c +++ b/xlators/mgmt/glusterd/src/glusterd-utils.c @@ -1724,24 +1724,20 @@ glusterd_add_volume_to_dict (glusterd_volinfo_t *volinfo, memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "volume%d.username", count); str = glusterd_auth_get_username (volinfo); - if (!str) { - ret = -1; - goto out; + if (str) { + ret = dict_set_dynstr (dict, key, gf_strdup (str)); + if (ret) + goto out; } - ret = dict_set_dynstr (dict, key, gf_strdup (str)); - if (ret) - goto out; memset (key, 0, sizeof (key)); snprintf (key, sizeof (key), "volume%d.password", count); str = glusterd_auth_get_password (volinfo); - if (!str) { - ret = -1; - goto out; + if (str) { + ret = dict_set_dynstr (dict, key, gf_strdup (str)); + if (ret) + goto out; } - ret = dict_set_dynstr (dict, key, gf_strdup (str)); - if (ret) - goto out; memset (key, 0, sizeof (key)); snprintf (key, 256, "volume%d."GLUSTERD_STORE_KEY_RB_STATUS, count); |