From dccd2aca5adf93754e85dbe19788d6b947ca15da Mon Sep 17 00:00:00 2001 From: Poornima G Date: Wed, 1 Feb 2017 17:11:46 +0530 Subject: extras: Provide group set for md-cache and invalidation options To enable the integration of md-cache and invalidation features we need to perform 3 volume set options in a specific order. In order to ease this for user provide a group volume set option. Usage: gluster vol set group metadata-cache >Reviewed-on: https://review.gluster.org/16503 >Smoke: Gluster Build System >NetBSD-regression: NetBSD Build System >CentOS-regression: Gluster Build System >Reviewed-by: Rajesh Joseph >Reviewed-by: Atin Mukherjee Change-Id: I9bf0fd4217aa2a1c7ffbdc93e879b10f87addeac BUG: 1419306 Signed-off-by: Poornima G Reviewed-on: https://review.gluster.org/16546 Tested-by: Atin Mukherjee NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Smoke: Gluster Build System Reviewed-by: Shyamsundar Ranganathan --- extras/Makefile.am | 4 +++- extras/group-metadata-cache | 6 ++++++ glusterfs.spec.in | 4 ++++ tests/basic/md-cache/bug-1418249.t | 20 ++++++++++++++++++++ 4 files changed, 33 insertions(+), 1 deletion(-) create mode 100644 extras/group-metadata-cache create mode 100755 tests/basic/md-cache/bug-1418249.t diff --git a/extras/Makefile.am b/extras/Makefile.am index 091d7a9df3..53ac47679f 100644 --- a/extras/Makefile.am +++ b/extras/Makefile.am @@ -9,7 +9,7 @@ SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM \ confdir = $(sysconfdir)/glusterfs conf_DATA = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \ - logger.conf.example glusterfs-georep-logrotate group-virt.example + logger.conf.example glusterfs-georep-logrotate group-virt.example group-metadata-cache voldir = $(sysconfdir)/glusterfs vol_DATA = glusterd.vol @@ -33,3 +33,5 @@ install-data-local: $(mkdir_p) $(DESTDIR)$(GLUSTERD_WORKDIR)/groups $(INSTALL_DATA) $(top_srcdir)/extras/group-virt.example \ $(DESTDIR)$(GLUSTERD_WORKDIR)/groups/virt + $(INSTALL_DATA) $(top_srcdir)/extras/group-metadata-cache \ + $(DESTDIR)$(GLUSTERD_WORKDIR)/groups/metadata-cache diff --git a/extras/group-metadata-cache b/extras/group-metadata-cache new file mode 100644 index 0000000000..0f780eb91a --- /dev/null +++ b/extras/group-metadata-cache @@ -0,0 +1,6 @@ +features.cache-invalidation=on +features.cache-invalidation-timeout=600 +performance.stat-prefetch=on +performance.cache-invalidation=on +performance.md-cache-timeout=600 +network.inode-lru-limit=50000 diff --git a/glusterfs.spec.in b/glusterfs.spec.in index baae759ef0..b6643fa5ee 100644 --- a/glusterfs.spec.in +++ b/glusterfs.spec.in @@ -1172,6 +1172,7 @@ exit 0 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/bitd %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/groups %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/virt + %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/metadata-cache %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd @@ -1255,6 +1256,9 @@ exit 0 %endif %changelog +* Wed Feb 1 2017 Poornima G +- Install /var/lib/glusterd/groups/metadata-cache by default + * Fri Jan 20 2017 Kaleb S. KEITHLEY - python2 (versus python3) cleanup (#1415226) diff --git a/tests/basic/md-cache/bug-1418249.t b/tests/basic/md-cache/bug-1418249.t new file mode 100755 index 0000000000..119a6aecf8 --- /dev/null +++ b/tests/basic/md-cache/bug-1418249.t @@ -0,0 +1,20 @@ +#!/bin/bash + +. $(dirname $0)/../../include.rc +. $(dirname $0)/../../volume.rc + +cleanup; + +TEST glusterd + +TEST $CLI volume create $V0 $H0:$B0/$V0 +TEST $CLI volume start $V0 + +TEST $CLI volume set $V0 group metadata-cache +EXPECT 'on' volinfo_field $V0 'performance.cache-invalidation' +EXPECT '600' volinfo_field $V0 'performance.md-cache-timeout' +EXPECT 'on' volinfo_field $V0 'performance.stat-prefetch' +EXPECT '600' volinfo_field $V0 'features.cache-invalidation-timeout' +EXPECT 'on' volinfo_field $V0 'features.cache-invalidation' +EXPECT '50000' volinfo_field $V0 'network.inode-lru-limit' +cleanup; -- cgit