From a1aa8e72b026f4abbec743d6a12ab42263ccdaee 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. Backport of http://review.gluster.org/12540 > 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 Signed-off-by: Joseph Fernandes Change-Id: I986c319f0cc337b0692a1dd02f71254e786afac4 BUG: 1282315 Reviewed-on: http://review.gluster.org/12582 Tested-by: Gluster Build System Tested-by: NetBSD 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') diff --git a/xlators/mgmt/glusterd/src/glusterd-volume-set.c b/xlators/mgmt/glusterd/src/glusterd-volume-set.c index b942d9df944..e17a43dc835 100644 --- a/xlators/mgmt/glusterd/src/glusterd-volume-set.c +++ b/xlators/mgmt/glusterd/src/glusterd-volume-set.c @@ -2071,6 +2071,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