summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/ec/src/ec.h
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2015-06-30 18:45:36 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-07-01 17:10:00 -0700
commitfb20db2078dd7fe1a202f8c0c6f8bd7ecc7ff875 (patch)
treec0a58d8fc848e3b78ac2a57da96b5bf8c4a96da4 /xlators/cluster/ec/src/ec.h
parentc66026b9bf521172f49ce36a5a7b94fae1bbf267 (diff)
cluster/ec: Add throttling in background healing
- 8 parallel heals can happen. - 128 heals will wait for their turn - Heals will be rejected if 128 heals are already waiting. Change-Id: I2e99bf064db7bce71838ed9901a59ffd565ac390 BUG: 1237381 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/11471 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Xavier Hernandez <xhernandez@datalab.es> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/ec/src/ec.h')
-rw-r--r--xlators/cluster/ec/src/ec.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec.h b/xlators/cluster/ec/src/ec.h
index fdedb89ec18..7f140204ece 100644
--- a/xlators/cluster/ec/src/ec.h
+++ b/xlators/cluster/ec/src/ec.h
@@ -28,6 +28,8 @@
struct _ec
{
xlator_t * xl;
+ int32_t healers;
+ int32_t heal_waiters;
int32_t nodes;
int32_t bits_for_nodes;
int32_t fragments;
@@ -46,6 +48,8 @@ struct _ec
gf_timer_t * timer;
gf_boolean_t shutdown;
struct list_head pending_fops;
+ struct list_head heal_waiting;
+ struct list_head healing;
struct mem_pool * fop_pool;
struct mem_pool * cbk_pool;
struct mem_pool * lock_pool;