summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
Diffstat (limited to 'xlators')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-op-sm.c156
1 files changed, 70 insertions, 86 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
index 19bc73e15fa..a70df3ed364 100644
--- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c
+++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c
@@ -1722,52 +1722,38 @@ rb_do_operation_start (glusterd_volinfo_t *volinfo,
{
char start_value[8192] = {0,};
int ret = -1;
- gf_boolean_t src_host = _gf_false;
- gf_boolean_t dst_host = _gf_false;
- if (!glusterd_is_local_addr (src_brickinfo->hostname)) {
- gf_log ("", GF_LOG_NORMAL,
- "I AM THE SOURCE HOST");
- ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Could not spawn maintainence "
- "client");
- goto out;
- }
+ gf_log ("", GF_LOG_NORMAL,
+ "replace-brick sending start xattr");
- snprintf (start_value, 8192, "%s:%s:",
- dst_brickinfo->hostname,
- dst_brickinfo->path);
+ ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Could not spawn maintainence "
+ "client");
+ goto out;
+ }
- src_host = _gf_true;
+ snprintf (start_value, 8192, "%s:%s:",
+ dst_brickinfo->hostname,
+ dst_brickinfo->path);
- }
- if (!src_host && !dst_host) {
+ ret = rb_send_xattr_command (volinfo, src_brickinfo,
+ dst_brickinfo, RB_PUMP_START_CMD,
+ start_value);
+ if (ret) {
gf_log ("", GF_LOG_DEBUG,
- "Not a source or destination brick");
- ret = 0;
+ "Failed to send command to pump");
goto out;
}
- if (src_host) {
- ret = rb_send_xattr_command (volinfo, src_brickinfo,
- dst_brickinfo, RB_PUMP_START_CMD,
- start_value);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to send command to pump");
- goto out;
- }
-
- ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to destroy maintainence "
- "client");
- goto out;
- }
+ ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Failed to destroy maintainence "
+ "client");
+ goto out;
}
ret = 0;
@@ -1783,33 +1769,32 @@ rb_do_operation_pause (glusterd_volinfo_t *volinfo,
{
int ret = -1;
- if (!glusterd_is_local_addr (src_brickinfo->hostname)) {
- gf_log ("", GF_LOG_NORMAL,
- "I AM THE SOURCE HOST");
- ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Could not spawn maintainence "
- "client");
- goto out;
- }
+ gf_log ("", GF_LOG_NORMAL,
+ "replace-brick send pause xattr");
- ret = rb_send_xattr_command (volinfo, src_brickinfo,
- dst_brickinfo, RB_PUMP_PAUSE_CMD,
- "jargon");
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to send command to pump");
- goto out;
- }
+ ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Could not spawn maintainence "
+ "client");
+ goto out;
+ }
- ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to destroy maintainence "
- "client");
- goto out;
- }
+ ret = rb_send_xattr_command (volinfo, src_brickinfo,
+ dst_brickinfo, RB_PUMP_PAUSE_CMD,
+ "jargon");
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Failed to send command to pump");
+ goto out;
+ }
+
+ ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Failed to destroy maintainence "
+ "client");
+ goto out;
}
ret = 0;
@@ -1876,33 +1861,32 @@ rb_do_operation_abort (glusterd_volinfo_t *volinfo,
{
int ret = -1;
- if (!glusterd_is_local_addr (src_brickinfo->hostname)) {
+ gf_log ("", GF_LOG_DEBUG,
+ "replace-brick sending abort xattr");
+
+ ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
gf_log ("", GF_LOG_DEBUG,
- "I AM THE SOURCE HOST");
- ret = rb_spawn_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Could not spawn maintainence "
- "client");
- goto out;
- }
+ "Could not spawn maintainence "
+ "client");
+ goto out;
+ }
- ret = rb_send_xattr_command (volinfo, src_brickinfo,
- dst_brickinfo, RB_PUMP_ABORT_CMD,
- "jargon");
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to send command to pump");
- goto out;
- }
+ ret = rb_send_xattr_command (volinfo, src_brickinfo,
+ dst_brickinfo, RB_PUMP_ABORT_CMD,
+ "jargon");
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Failed to send command to pump");
+ goto out;
+ }
- ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
- if (ret) {
- gf_log ("", GF_LOG_DEBUG,
- "Failed to destroy maintainence "
- "client");
- goto out;
- }
+ ret = rb_destroy_maintainence_client (volinfo, src_brickinfo);
+ if (ret) {
+ gf_log ("", GF_LOG_DEBUG,
+ "Failed to destroy maintainence "
+ "client");
+ goto out;
}
ret = 0;