diff options
author | Krishnan Parthasarathi <kparthas@redhat.com> | 2012-07-12 17:35:37 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2012-07-19 09:09:33 -0700 |
commit | 9f5b8911b484230304fa52c0fcd92f696a4af74a (patch) | |
tree | 39c349e2bec47d1078d8452d84125f16928cdff4 /xlators/mgmt/glusterd/src/glusterd-replace-brick.c | |
parent | c0b07bdf5d253cf5620726f149700960e962b8ec (diff) |
glusterd: Refactored brickinfo APIs
This patch modifies the existing brickinfo function signatures
and/or names to do one thing right and call them by 'appropriate' names.
- Decoupled brickinfo_get and is_brickpath_available
- Removed dead comment about realpath(3) in canonicalize_path
- Renamed glusterd_brickinfo_from_brick to glusterd_brickinfo_new_from_brick
to make the name of the function reflect that an allocation is happening
Change-Id: I29daba6d431ca799d43c927b9dfbaeda327e83e8
BUG: 764890
Signed-off-by: Krishnan Parthasarathi <kparthas@redhat.com>
Reviewed-on: http://review.gluster.com/3668
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-replace-brick.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-replace-brick.c | 37 |
1 files changed, 15 insertions, 22 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c index 5bd6a55b95b..fc35a4406a1 100644 --- a/xlators/mgmt/glusterd/src/glusterd-replace-brick.c +++ b/xlators/mgmt/glusterd/src/glusterd-replace-brick.c @@ -363,8 +363,7 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, } ret = glusterd_volume_brickinfo_get_by_brick (src_brick, volinfo, - &src_brickinfo, - GF_PATH_COMPLETE); + &src_brickinfo); if (ret) { snprintf (msg, sizeof (msg), "brick: %s does not exist in " "volume: %s", src_brick, volname); @@ -432,18 +431,20 @@ glusterd_op_stage_replace_brick (dict_t *dict, char **op_errstr, ret = -1; goto out; } - if (!glusterd_brickinfo_get (NULL, host, path, NULL)) { - snprintf(msg, sizeof(msg), "Brick: %s:%s already in use", - host, path); + + ret = glusterd_brickinfo_new_from_brick (dst_brick, &dst_brickinfo); + if (ret) + goto out; + + ret = glusterd_new_brick_validate (dst_brick, dst_brickinfo, + msg, sizeof (msg)); + if (ret) { *op_errstr = gf_strdup (msg); ret = -1; + gf_log (THIS->name, GF_LOG_ERROR, *op_errstr); goto out; } - ret = glusterd_brickinfo_from_brick (dst_brick, &dst_brickinfo); - if (ret) - goto out; - if (!glusterd_is_rb_ongoing (volinfo) && (replace_op == GF_REPLACE_OP_START || replace_op == GF_REPLACE_OP_COMMIT_FORCE)) { @@ -1321,14 +1322,8 @@ glusterd_op_perform_replace_brick (glusterd_volinfo_t *volinfo, GF_ASSERT (volinfo); - ret = glusterd_brickinfo_from_brick (new_brick, - &new_brickinfo); - if (ret) - goto out; - - ret = glusterd_volume_brickinfo_get_by_brick (old_brick, volinfo, - &old_brickinfo, - GF_PATH_COMPLETE); + ret = glusterd_brickinfo_new_from_brick (new_brick, + &new_brickinfo); if (ret) goto out; @@ -1355,8 +1350,8 @@ glusterd_op_perform_replace_brick (glusterd_volinfo_t *volinfo, goto out; } - out: + gf_log ("", GF_LOG_DEBUG, "Returning %d", ret); return ret; } @@ -1421,8 +1416,7 @@ glusterd_op_replace_brick (dict_t *dict, dict_t *rsp_dict) } ret = glusterd_volume_brickinfo_get_by_brick (src_brick, volinfo, - &src_brickinfo, - GF_PATH_COMPLETE); + &src_brickinfo); if (ret) { gf_log ("", GF_LOG_DEBUG, "Unable to get src-brickinfo"); goto out; @@ -1742,8 +1736,7 @@ glusterd_do_replace_brick (void *data) } ret = glusterd_volume_brickinfo_get_by_brick (src_brick, volinfo, - &src_brickinfo, - GF_PATH_COMPLETE); + &src_brickinfo); if (ret) { gf_log ("", GF_LOG_DEBUG, "Unable to get src-brickinfo"); goto out; |