diff options
author | Krishnan Parthasarathi <kp@gluster.com> | 2012-02-13 19:15:17 +0530 |
---|---|---|
committer | Vijay Bellur <vijay@gluster.com> | 2012-03-27 10:34:13 -0700 |
commit | c3c4ee24a64a2447f77788cb84559f1e07a21e04 (patch) | |
tree | 876b9712f91b6ee84d61d2a971756d0649524d03 /xlators/mgmt/glusterd/src/glusterd-op-sm.c | |
parent | 3184ad0f88255fdec5a33b29790f677848c422e3 (diff) |
glusterd: Fixed replace-brick commit_force algo.
- commit force subcommand of replace-brick (rb) should be allowed
even if source brick is (irrecoverably) offline.
- modified rb_timer to be active only for start subcommand. This is
important since, the rb timer event relies on src_brick and dst_brick
objects to be 'alive' when it 'happens'. In the case of
abort/commit/commit force it is very likely that src_brick and/or
dst_brick objects could have been destroyed.
Change-Id: Ib8b8a4d690fbdd6f99b8aff306490eb59c54a437
BUG: 772845
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com>
Reviewed-on: http://review.gluster.com/2620
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Reviewed-by: Vijay Bellur <vijay@gluster.com>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-op-sm.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-op-sm.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/xlators/mgmt/glusterd/src/glusterd-op-sm.c b/xlators/mgmt/glusterd/src/glusterd-op-sm.c index ce9581644b1..9718918f3df 100644 --- a/xlators/mgmt/glusterd/src/glusterd-op-sm.c +++ b/xlators/mgmt/glusterd/src/glusterd-op-sm.c @@ -1863,12 +1863,12 @@ glusterd_op_start_rb_timer (dict_t *dict) goto out; } - if (op == GF_REPLACE_OP_START || - op == GF_REPLACE_OP_ABORT) - timeout.tv_sec = 5; - else - timeout.tv_sec = 1; + if (op != GF_REPLACE_OP_START) { + ret = glusterd_op_sm_inject_all_acc (); + goto out; + } + timeout.tv_sec = 5; timeout.tv_usec = 0; |