summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/ec/src/ec-heal.c
diff options
context:
space:
mode:
authorSunil Kumar Acharya <sheggodu@redhat.com>2017-04-20 12:24:51 +0530
committerXavier Hernandez <xhernandez@datalab.es>2017-04-25 06:36:27 +0000
commitbf20b066c233a9fc7c82335a131a7969f356b89b (patch)
treefd587efb02d4213c56fa0678c15442334b16d651 /xlators/cluster/ec/src/ec-heal.c
parentf071d2a285ea4802fe8f328f9f275180983fbbba (diff)
cluster/ec: Implement self-heal-window_size option
Fix implements the heal window size option for EC. This option control the maximum size of read/write operation carried out in self-heal process. BUG: 1441491 Change-Id: I6c0ef65c9ca18b0828f91b319d4f52ac5b77d0d8 Signed-off-by: Sunil Kumar Acharya <sheggodu@redhat.com> Reviewed-on: https://review.gluster.org/17098 Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Smoke: Gluster Build System <jenkins@build.gluster.org> NetBSD-regression: NetBSD Build System <jenkins@build.gluster.org> CentOS-regression: Gluster Build System <jenkins@build.gluster.org>
Diffstat (limited to 'xlators/cluster/ec/src/ec-heal.c')
-rw-r--r--xlators/cluster/ec/src/ec-heal.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/xlators/cluster/ec/src/ec-heal.c b/xlators/cluster/ec/src/ec-heal.c
index e4f9c0e3539..afe7833f385 100644
--- a/xlators/cluster/ec/src/ec-heal.c
+++ b/xlators/cluster/ec/src/ec-heal.c
@@ -1897,7 +1897,6 @@ ec_rebuild_data (call_frame_t *frame, ec_t *ec, fd_t *fd, uint64_t size,
ec_heal_t *heal = NULL;
int ret = 0;
syncbarrier_t barrier;
- struct iobuf_pool *pool = NULL;
if (syncbarrier_init (&barrier))
return -ENOMEM;
@@ -1907,9 +1906,8 @@ ec_rebuild_data (call_frame_t *frame, ec_t *ec, fd_t *fd, uint64_t size,
heal->xl = ec->xl;
heal->data = &barrier;
syncbarrier_init (heal->data);
- pool = ec->xl->ctx->iobuf_pool;
heal->total_size = size;
- heal->size = iobpool_default_pagesize (pool);
+ heal->size = (128 * GF_UNIT_KB * (ec->self_heal_window_size));
/* We need to adjust the size to a multiple of the stripe size of the
* volume. Otherwise writes would need to fill gaps (head and/or tail)
* with existent data from the bad bricks. This could be garbage on a