From d4aaa00d77d7a10748a1ca9af82265ad9ac42598 Mon Sep 17 00:00:00 2001 From: Joseph Fernandes Date: Sun, 8 Nov 2015 15:33:15 +0530 Subject: tier/ctr: Providing option to record or ignore metadata heat Currently we heat up a file for both data and metadata write. Here we provide a ctr xlator option called "ctr-record-metadata-heat" were the admin can decide on recording metadata heat i.e heatup a file on metadata writes or not. Metadata data operation are a. setattr: explicit changing of atime/mtime using utimes, changing of posix permissions of the file b. rename: Renaming a file, c. unlink, link: adding or deleting hardlinks d. xattrs: setting or removal of xattrs. NOTE: atime, mtime and ctime change through writev, readv, truncate, mknod and create will not be considered here as these fops are data and primary metadata fops. Defaultly "ctr-record-metadata-heat" is off. Admin can switch it on using gluster volume set command. Change-Id: I91157509255dd5cb429cda2b6d4f64582e155e7b BUG: 1279166 Signed-off-by: Joseph Fernandes Reviewed-on: http://review.gluster.org/12540 Tested-by: NetBSD Build System Tested-by: Gluster Build System Reviewed-by: Dan Lambright Tested-by: Dan Lambright --- xlators/mgmt/glusterd/src/glusterd-volume-set.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'xlators/mgmt/glusterd/src') diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index ccf4b380ffb..e3110b060fe 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -2116,6 +2116,22 @@ struct volopt_map_entry glusterd_volopt_map[] = { "of writes (or reads) to a given file are needed " "before triggering migration." }, + { .key = "features.ctr-record-metadata-heat", + .voltype = "features/changetimerecorder", + .value = "off", + .option = "ctr-record-metadata-heat", + .op_version = GD_OP_VERSION_3_7_0, + /* Purposefully commenting the description so that this option remains + * hidden from the users as this is more of a developer option as of + * now. + * .description = "Its a Change Time Recorder Xlator option to " + * "enable recording write heat on metadata of the file. " + "The default is disabled. " + "Metadata is inode atttributes like atime, mtime," + " permissions etc and " + "extended attributes of a file ." + * */ + }, { .key = "features.ctr_link_consistency", .voltype = "features/changetimerecorder", .value = "off", -- cgit