diff options
author | Xavier Hernandez <xhernandez@datalab.es> | 2015-07-22 17:08:02 +0200 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-11-24 19:03:17 -0800 |
commit | 69e74432ee1ab29ba7caf483450997a95920b729 (patch) | |
tree | 88b66dcffed86ccd87dc8c6ffa924eff061812b0 /xlators/cluster/ec/src/ec-data.c | |
parent | b8c56ebe617327d570c252f8c411c85a84e727e6 (diff) |
cluster/ec: Allow read fops to be processed in parallel
Currently ec only sends a single read request at a time for a given
inode. Since reads do not interfere between them, this patch allows
multiple concurrent read requests to be sent in parallel.
This is a backport of these patches:
> Change-Id: If853430482a71767823f39ea70ff89797019d46b
> BUG: 1245689
> Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
> Reviewed-on: http://review.gluster.org/11742
> Tested-by: NetBSD Build System <jenkins@build.gluster.org>
> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
> Tested-by: Gluster Build System <jenkins@build.gluster.com>
>
> Change-Id: I6042129f09082497b80782b5704a52c35c78f44d
> BUG: 1276031
> Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
Change-Id: I1b1146d1fd1828b12bfc566cd76e5ea110f8909b
BUG: 1251467
Signed-off-by: Xavier Hernandez <xhernandez@datalab.es>
Reviewed-on: http://review.gluster.org/12447
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Tested-by: NetBSD Build System <jenkins@build.gluster.org>
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Diffstat (limited to 'xlators/cluster/ec/src/ec-data.c')
-rw-r--r-- | xlators/cluster/ec/src/ec-data.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec-data.c b/xlators/cluster/ec/src/ec-data.c index 474246ec32a..73e7ad84d14 100644 --- a/xlators/cluster/ec/src/ec-data.c +++ b/xlators/cluster/ec/src/ec-data.c @@ -139,7 +139,9 @@ ec_fop_data_t * ec_fop_data_allocate(call_frame_t * frame, xlator_t * this, INIT_LIST_HEAD(&fop->healer); INIT_LIST_HEAD(&fop->answer_list); INIT_LIST_HEAD(&fop->pending_list); + INIT_LIST_HEAD(&fop->locks[0].owner_list); INIT_LIST_HEAD(&fop->locks[0].wait_list); + INIT_LIST_HEAD(&fop->locks[1].owner_list); INIT_LIST_HEAD(&fop->locks[1].wait_list); fop->xl = this; |