summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src/glusterd-utils.c
diff options
context:
space:
mode:
authorPranith K <pranithk@gluster.com>2010-10-20 01:20:59 +0000
committerAnand V. Avati <avati@dev.gluster.com>2010-10-24 21:13:53 -0700
commita9187b9609dacb017aff171c317cd5332ef64bd5 (patch)
tree2669dd41a548cbaea7250b98570bb5fba5382b57 /xlators/mgmt/glusterd/src/glusterd-utils.c
parentdb61075a123008ebd94ab8ff00b984e484155654 (diff)
mgmt/glusterd: resolve the bricks before comparing uuid
Signed-off-by: Pranith Kumar K <pranithk@gluster.com> Signed-off-by: Anand V. Avati <avati@dev.gluster.com> BUG: 1985 (peer detach fails if bricks are not resolved) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=1985
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-utils.c')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-utils.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-utils.c b/xlators/mgmt/glusterd/src/glusterd-utils.c
index 8c27036b5e8..7746ec49c23 100644
--- a/xlators/mgmt/glusterd/src/glusterd-utils.c
+++ b/xlators/mgmt/glusterd/src/glusterd-utils.c
@@ -1604,6 +1604,7 @@ glusterd_import_friend_volume (dict_t *vols, int count)
strcpy (brickinfo->path, path);
strcpy (brickinfo->hostname, hostname);
+ glusterd_resolve_brick (brickinfo);
list_add_tail (&brickinfo->brick_list, &volinfo->bricks);
@@ -2008,13 +2009,22 @@ int
glusterd_friend_brick_belongs (glusterd_volinfo_t *volinfo,
glusterd_brickinfo_t *brickinfo, void* uuid)
{
+ int ret = -1;
+
GF_ASSERT (volinfo);
GF_ASSERT (brickinfo);
GF_ASSERT (uuid);
+ if (uuid_is_null (brickinfo->uuid)) {
+ ret = glusterd_resolve_brick (brickinfo);
+ if (ret) {
+ GF_ASSERT (0);
+ goto out;
+ }
+ }
if (!uuid_compare (brickinfo->uuid, *((uuid_t *)uuid)))
return 0;
-
+out:
return -1;
}