From 81fae33cb7ce70f885ce52fa0cc71b3435333a53 Mon Sep 17 00:00:00 2001 From: Atin Mukherjee Date: Thu, 3 Mar 2016 12:24:49 +0530 Subject: 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 Reviewed-on: http://review.gluster.org/13589 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System --- xlators/mgmt/glusterd/src/glusterd-store.c | 9 ++++++--- 1 file 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, -- cgit