summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2016-03-03 12:24:49 +0530
committerKaushal M <kaushal@redhat.com>2016-03-03 03:35:35 -0800
commit92273862decac2282b7f2a9183df3f139e5629a5 (patch)
tree9bac1a30da4e7299eba351cd57c2ab144cb70396 /xlators
parent14609729da9ed8f76be6ff0ce5d6a6b278af6e8d (diff)
glusterd: Avoid ret value of glusterd_resolve_brick in retreive brick path
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: 1313901 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/13588 Smoke: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Gaurav Kumar Garg <ggarg@redhat.com> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Kaushal M <kaushal@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-store.c9
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 7c8bc545f6d..21cbdb8b2b9 100644
--- a/xlators/mgmt/glusterd/src/glusterd-store.c
+++ b/xlators/mgmt/glusterd/src/glusterd-store.c
@@ -2402,9 +2402,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,