summaryrefslogtreecommitdiffstats
path: root/xlators/cluster/ec/src/ec.h
diff options
context:
space:
mode:
authorPranith Kumar K <pkarampu@redhat.com>2015-09-08 16:23:36 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-10-29 04:52:49 -0700
commit6bbce9b1a48d5d50a2044b4518270e952331f159 (patch)
tree0c3cb1038b7b7b22a884e87897f1a1916f350cdc /xlators/cluster/ec/src/ec.h
parent73f8a582e365ef43b2454f263b5ca91a6de0475e (diff)
cluster/ec: Implement gfid-hash read-policy
Add a policy in ec to performs reads from same bricks as long as they are good. Based on the gfid of the file/directory it determines the bricks to be considered for reading. >Change-Id: Ic97b5c54c086a28b5e07a330a4fd448551b49376 >BUG: 1261260 >Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> >Reviewed-on: http://review.gluster.org/12133 >Tested-by: NetBSD Build System <jenkins@build.gluster.org> >Tested-by: Gluster Build System <jenkins@build.gluster.com> >Reviewed-by: Xavier Hernandez <xhernandez@datalab.es> BUG: 1270705 Change-Id: Ibf0d21d7210125fa7aaa12b3f98bcdf7cd89ef02 Signed-off-by: Pranith Kumar K <pkarampu@redhat.com> Reviewed-on: http://review.gluster.org/12456 Tested-by: NetBSD Build System <jenkins@build.gluster.org> 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.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec.h b/xlators/cluster/ec/src/ec.h
index f335fd52afc..4ee7983b289 100644
--- a/xlators/cluster/ec/src/ec.h
+++ b/xlators/cluster/ec/src/ec.h
@@ -25,6 +25,12 @@
#define EC_VERSION_SIZE 2
+typedef enum {
+ EC_ROUND_ROBIN,
+ EC_GFID_HASH,
+ EC_READ_POLICY_MAX
+} ec_read_policy_t;
+
struct _ec
{
xlator_t * xl;
@@ -58,6 +64,7 @@ struct _ec
ec_self_heald_t shd;
char vol_uuid[UUID_SIZE + 1];
dict_t *leaf_to_subvolid;
+ ec_read_policy_t read_policy;
};
void ec_pending_fops_completed(ec_t *ec);