From 63b5f373c7bd7d78d49b06c4c03e43941ffbfbd9 Mon Sep 17 00:00:00 2001 From: Anuradha Talur Date: Wed, 21 Oct 2015 16:49:49 +0530 Subject: glusterd/afr : Readdirp performance improvement Backport of http://review.gluster.org/#/c/12467/ Add xlator options to index xlator with xattrs that it needs to keep track of. Change-Id: If818673be5e626f77e65cc3a340f8cdd624179c2 BUG: 1287531 Signed-off-by: Anuradha Talur Reviewed-on: http://review.gluster.org/12467 Tested-by: Gluster Build System Reviewed-by: Krutika Dhananjay Tested-by: NetBSD Build System Reviewed-by: Ravishankar N Reviewed-by: Pranith Kumar Karampuri Signed-off-by: Anuradha Talur Reviewed-on: http://review.gluster.org/12848 --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'xlators/mgmt/glusterd/src/glusterd-volgen.c') diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 29e5fe9b3f9..f021aaec73c 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1834,6 +1834,7 @@ brick_graph_add_index (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, dict_t *set_dict, glusterd_brickinfo_t *brickinfo) { xlator_t *xl = NULL; + char *pending_xattr = NULL; char index_basepath[PATH_MAX] = {0}; int ret = -1; @@ -1855,7 +1856,23 @@ brick_graph_add_index (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, if (ret) goto out; } + if ((volinfo->type == GF_CLUSTER_TYPE_STRIPE_REPLICATE || + volinfo->type == GF_CLUSTER_TYPE_REPLICATE)) { + ret = xlator_set_option (xl, "xattrop-dirty-watchlist", + "trusted.afr.dirty"); + if (ret) + goto out; + ret = gf_asprintf (&pending_xattr, "trusted.afr.%s-", + volinfo->volname); + if (ret < 0) + goto out; + ret = xlator_set_option (xl, "xattrop-pending-watchlist", + pending_xattr); + if (ret) + goto out; + } out: + GF_FREE (pending_xattr); return ret; } -- cgit