summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKrishnan P <kp@gluster.com>2011-06-21 01:14:35 +0000
committerAnand Avati <avati@gluster.com>2011-06-22 08:41:53 -0700
commite2ac34fcc26e4e22d97aad8ac263d7a726f71bac (patch)
tree3cf4256ce6bacd790798c43192454c712db40320
parent0fbb8b3f4ce21d7313cf409fce68f7ccd8e9c3ee (diff)
pump: mark pending before notify to children to avoid race in single CPU.
Signed-off-by: Krishnan Parthasarathi <kp@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 3050 ('replace-brick' hangs on vm's) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=3050
-rw-r--r--xlators/cluster/afr/src/pump.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/xlators/cluster/afr/src/pump.c b/xlators/cluster/afr/src/pump.c
index 6a932e74e4c..c0490820cb8 100644
--- a/xlators/cluster/afr/src/pump.c
+++ b/xlators/cluster/afr/src/pump.c
@@ -840,13 +840,13 @@ pump_cmd_start_setxattr_cbk (call_frame_t *frame,
"Successfully initiated destination "
"brick connect");
+ pump_mark_start_pending (this);
+
/* send the PARENT_UP as pump is ready now */
prev = cookie;
if (prev && prev->this)
prev->this->notify (prev->this, GF_EVENT_PARENT_UP, this);
- pump_mark_start_pending (this);
-
out:
local->op_ret = ret;
pump_command_reply (frame, this);