summaryrefslogtreecommitdiffstats
path: root/xlators/mgmt/glusterd/src
diff options
context:
space:
mode:
authorAnuradha Talur <atalur@redhat.com>2015-10-21 16:49:49 +0530
committerPranith Kumar Karampuri <pkarampu@redhat.com>2015-12-21 01:14:24 -0800
commit63b5f373c7bd7d78d49b06c4c03e43941ffbfbd9 (patch)
tree27c664690a8a925f2d9f2aa2d81059ad73315fe7 /xlators/mgmt/glusterd/src
parentabf6196e1faa00a83fc0dc26150f55ca275131a9 (diff)
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 <atalur@redhat.com> Reviewed-on: http://review.gluster.org/12467 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Krutika Dhananjay <kdhananj@redhat.com> Tested-by: NetBSD Build System <jenkins@build.gluster.org> Reviewed-by: Ravishankar N <ravishankar@redhat.com> Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com> Signed-off-by: Anuradha Talur <atalur@redhat.com> Reviewed-on: http://review.gluster.org/12848
Diffstat (limited to 'xlators/mgmt/glusterd/src')
-rw-r--r--xlators/mgmt/glusterd/src/glusterd-volgen.c17
1 files changed, 17 insertions, 0 deletions
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;
}