diff options
author | Anuradha Talur <atalur@redhat.com> | 2015-10-21 16:49:49 +0530 |
---|---|---|
committer | Pranith Kumar Karampuri <pkarampu@redhat.com> | 2015-11-18 05:17:32 -0800 |
commit | cb76371a56eb90a6f2ac126c876d7a2dc203e16c (patch) | |
tree | ac5595f508a47cfa148a530b9211ca1c6cf2d8ff /xlators/mgmt/glusterd/src/glusterd-volgen.c | |
parent | e06adccb38f3dc91a4534232237e07589cd07426 (diff) |
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 <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>
Diffstat (limited to 'xlators/mgmt/glusterd/src/glusterd-volgen.c')
-rw-r--r-- | xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 |
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 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; } |