summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/ec/src/ec.h
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2015-01-08 15:39:40 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-01-28 19:49:53 -0800
commita48b18d6f661f863371e625084a88a01aaf989f0 (patch)
treea45a7bad629f4c2b37670db79ab03e80ab1b0c30 /xlators/cluster/ec/src/ec.h
parentb17122ffc75c65bda2cf3b3d99832bbf2718e8d3 (diff)
cluster/ec: Handle CHILD UP/DOWN in all cases
Problem: When all the bricks are down at the time of mounting the volume, then mount command hangs. Fix: 1. Ignore all CHILD_CONNECTING events comming from subvolumes. 2. On timer expiration (without enough up or down childs) send CHILD_DOWN. 3. Once enough up or down subvolumes are detected, send the appropriate event. When rest of the subvols go up/down without changing the overall ec-up/ec-down send CHILD_MODIFIED to parent subvols. Change-Id: Ie0194dbadef2dce36ab5eb7beece84a6bf3c631c BUG: 1179180 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/9396 Reviewed-by: Xavier Hernandez <xhernandez@datalab.es> Tested-by: Gluster Build System <jenkins@build.gluster.com>
Diffstat (limited to 'xlators/cluster/ec/src/ec.h')
-rw-r--r--xlators/cluster/ec/src/ec.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec.h b/xlators/cluster/ec/src/ec.h
index cb3832ae097..e5b54b02966 100644
--- a/xlators/cluster/ec/src/ec.h
+++ b/xlators/cluster/ec/src/ec.h
@@ -36,6 +36,8 @@ struct _ec
uint32_t idx;
uint32_t xl_up_count;
uintptr_t xl_up;
+ uint32_t xl_notify_count;
+ uintptr_t xl_notify;
uintptr_t node_mask;
xlator_t ** xl_list;
gf_lock_t lock;