From cb76371a56eb90a6f2ac126c876d7a2dc203e16c 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 Add xlator options to index xlator with xattrs that it needs to keep track of. Change-Id: If818673be5e626f77e65cc3a340f8cdd624179c2 BUG: 1250803 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 --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-volgen.c b/xlators/mgmt/glusterd/src/glusterd-volgen.c index 571b23f3519..43a9a6585d6 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1831,6 +1831,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; @@ -1852,7 +1853,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