diff options
author | Pranith Kumar K <pkarampu@redhat.com> | 2015-04-08 21:42:49 +0530 |
---|---|---|
committer | Vijay Bellur <vbellur@redhat.com> | 2015-04-11 09:11:15 +0000 |
commit | 4797cb1c9dbf3910952f9d28d8272ff83cd25e7b (patch) | |
tree | 8efcdc1b2057166fcd53101824d64a05f095aead /xlators/cluster/ec/src/ec.h | |
parent | af569aaf6ee69ed77be8afc82b4c496041a7bd1b (diff) |
cluster/ec: Fix readdir de-itransform
Problem:
gf_deitransform returns the glbal client-id in the complete graph. So except
for the first disperse subvolume under dht, all the other disperse subvolumes
will return a client-id greater than ec->nodes, so readdir will always error
out in those subvolumes.
Fix:
Get the client subvolume whose client-id matches the client-id returned by
gf_deitransform of offset.
Change-Id: I26aa17504352d48d7ff14b390b62f49d7ab2d699
BUG: 1209113
Signed-off-by: Pranith Kumar K <pkarampu@redhat.com>
Reviewed-on: http://review.gluster.org/10165
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Xavier Hernandez <xhernandez@datalab.es>
Diffstat (limited to 'xlators/cluster/ec/src/ec.h')
-rw-r--r-- | xlators/cluster/ec/src/ec.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/xlators/cluster/ec/src/ec.h b/xlators/cluster/ec/src/ec.h index d565bf8fcb4..54c13077993 100644 --- a/xlators/cluster/ec/src/ec.h +++ b/xlators/cluster/ec/src/ec.h @@ -47,5 +47,6 @@ struct _ec struct mem_pool * lock_pool; ec_self_heald_t shd; char vol_uuid[UUID_SIZE + 1]; + dict_t *leaf_to_subvolid; }; #endif /* __EC_H__ */ |