diff options
author | Atin Mukherjee <amukherj@redhat.com> | 2016-03-03 12:24:49 +0530 |
---|---|---|
committer | Atin Mukherjee <amukherj@redhat.com> | 2016-03-03 20:15:10 -0800 |
commit | 81fae33cb7ce70f885ce52fa0cc71b3435333a53 (patch) | |
tree | 9995c918c506d830c8ea0867582b2e920d517658 /xlators/mgmt | |
parent | 8197b46b37cc573c67ba0c3a44539064345eb926 (diff) |
glusterd: Avoid ret value of glusterd_resolve_brick in retreive brick path
Backport of http://review.gluster.org/13588
In glusterd_store_retrieve_bricks() commit a60c39d introduced
glusterd_resolve_brick () call to resolve all the bricks which is incorrect
since by the time peerinfo list may not be constructed. The requirement here was
to get the local brick's uuid populated and match that with MY_UUID.
Fix is to overlook the return code of glusterd_resolve_brick() to ensure that
the failure in resolving non local bricks are genuine and expected.
Change-Id: I22822ae5b4e96fe4eacd50ea5c41e58061557106
BUG: 1314164
Signed-off-by: Atin Mukherjee <amukherj@redhat.com>
Reviewed-on: http://review.gluster.org/13589
Smoke: Gluster Build System <jenkins@build.gluster.com>
NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org>
CentOS-regression: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/mgmt')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-store.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-store.c b/xlators/mgmt/glusterd/src/glusterd-store.c index 19115ef8943..b2247423619 100644 --- a/xlators/mgmt/glusterd/src/glusterd-store.c +++ b/xlators/mgmt/glusterd/src/glusterd-store.c @@ -2406,9 +2406,12 @@ glusterd_store_retrieve_bricks (glusterd_volinfo_t *volinfo) GLUSTERD_ASSIGN_BRICKID_TO_BRICKINFO (brickinfo, volinfo, brickid++); } - ret = glusterd_resolve_brick (brickinfo); - if (ret) - goto out; + /* By now if the brick is a local brick then it will be able to + * resolve which is the only thing we want now for checking + * whether the brickinfo->uuid matches with MY_UUID for realpath + * check. Hence do not handle error + */ + (void)glusterd_resolve_brick (brickinfo); if (!gf_uuid_compare(brickinfo->uuid, MY_UUID)) { if (!realpath (brickinfo->path, abspath)) { gf_msg (this->name, GF_LOG_CRITICAL, errno, |