From e3d9018f2ddc28548c0aa18960a3a524521c9ad7 Mon Sep 17 00:00:00 2001 From: Raghavendra Bhat Date: Thu, 12 May 2016 16:40:04 -0400 Subject: features/bit-rot-stub: bring in optional versioning * As of now bit-rot-stub does versioning always. This leads lots of getxattr calls being made in lookups. So make object versioning optional. Change-Id: I83713e45ae59fb28004bb3cfa008f2d69edebbfa BUG: 1359599 Signed-off-by: Raghavendra Bhat Signed-off-by: Kotresh HR Reviewed-on: https://review.gluster.org/14442 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Vijay Bellur --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (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 2577ad81fc7..77b7d55fa29 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1603,8 +1603,10 @@ static int brick_graph_add_bitrot_stub (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, dict_t *set_dict, glusterd_brickinfo_t *brickinfo) { - xlator_t *xl = NULL; - int ret = -1; + xlator_t *xl = NULL; + int ret = -1; + char *value = NULL; + xlator_t *this = THIS; if (!graph || !volinfo || !set_dict || !brickinfo) goto out; @@ -1614,6 +1616,17 @@ brick_graph_add_bitrot_stub (volgen_graph_t *graph, glusterd_volinfo_t *volinfo, goto out; ret = xlator_set_option (xl, "export", brickinfo->path); + if (ret) { + gf_log (this->name, GF_LOG_WARNING, "failed to set the export " + "option in bit-rot-stub"); + goto out; + } + + ret = glusterd_volinfo_get (volinfo, VKEY_FEATURES_BITROT, &value); + ret = xlator_set_option (xl, "bitrot", value); + if (ret) + gf_log (this->name, GF_LOG_WARNING, "failed to set bitrot " + "enable option in bit-rot-stub"); out: return ret; -- cgit