From 26ef697318a7fec5ed82b000e3be4e30cfb16b50 Mon Sep 17 00:00:00 2001 From: Joseph Fernandes Date: Sat, 20 Jun 2015 14:38:12 +0530 Subject: tier/ctr: Ignore creation of T file and Ctr Lookup heal improvememnts 1) Ignore creation of T file in ctr_mknod 2) Ignore lookup for T file in ctr_lookup 3) Ctr_lookup: a. If the gfid and pgfid in empty dont record b. Decreased log level for multiple heal attempts c. Inode/File heal happens after an expiry period, which is configurable. d. Hardlink heal happens after an expiry period, which is configurable. Change-Id: Id8eb5092e78beaec22d05f5283645081619e2452 BUG: 1235269 Signed-off-by: Joseph Fernandes Reviewed-on: http://review.gluster.org/11334 Tested-by: Gluster Build System Reviewed-by: Dan Lambright Tested-by: Dan Lambright --- xlators/mgmt/glusterd/src/glusterd-volgen.c | 8 ++++++++ xlators/mgmt/glusterd/src/glusterd-volume-set.c | 24 ++++++++++++++++++++++++ 2 files changed, 32 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 e618e2c7a35..75d19911333 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volgen.c +++ b/xlators/mgmt/glusterd/src/glusterd-volgen.c @@ -1689,6 +1689,14 @@ brick_graph_add_changetimerecorder (volgen_graph_t *graph, if (ret) goto out; + ret = xlator_set_option (xl, "ctr_hardlink_heal_expire_period", "300"); + if (ret) + goto out; + + ret = xlator_set_option (xl, "ctr_inode_heal_expire_period", "300"); + if (ret) + goto out; + ret = xlator_set_option (xl, "record-entry", "on"); if (ret) goto out; diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index b0ed33a812c..78220ef1db7 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -1900,6 +1900,30 @@ struct volopt_map_entry glusterd_volopt_map[] = { "updates by Change Time Recorder Xlator. When recording in a crash " "consistent way the data operations will experience more latency." }, + { .key = "features.ctr_hardlink_heal_expire_period", + .voltype = "features/changetimerecorder", + .value = "300", + .option = "ctr_hardlink_heal_expire_period", + .op_version = GD_OP_VERSION_3_7_2, + .description = "Defines the expiry period of in-memory " + "hardlink of an inode," + "used by lookup heal in Change Time Recorder." + "Once the expiry period" + "hits an attempt to heal the database per " + "hardlink is done and the " + "in-memory hardlink period is reset" + }, + { .key = "features.ctr_inode_heal_expire_period", + .voltype = "features/changetimerecorder", + .value = "300", + .option = "ctr_inode_heal_expire_period", + .op_version = GD_OP_VERSION_3_7_2, + .description = "Defines the expiry period of in-memory inode," + "used by lookup heal in Change Time Recorder. " + "Once the expiry period" + "hits an attempt to heal the database per " + "inode is done" + }, #endif /* USE_GFDB */ { .key = "locks.trace", .voltype = "features/locks", -- cgit