Blob Blame History Raw
From bf8ca8c73df0a114b9728150934d6b7ecd3cbd6f Mon Sep 17 00:00:00 2001
From: Anoop C S <anoopcs@redhat.com>
Date: Thu, 6 Dec 2018 15:05:20 +0530
Subject: [PATCH 484/493] extras: New group volume set command for Samba
 integration

 # gluster volume set <VOLNAME> group samba

List of volume set options from group-samba are aimed at improving the below
workloads which consumes time and network hops in SMB world:

* Listing of large directories
* Negative lookups during creation of files

Caching the necessary metadata required for these workloads saves us time and
network hops. On the other side we have to ensure correctness(avoiding stale
cache) in caching(via md-cache) with the help of cache invalidation in an
environment where multiple client access is expected.

upstream ref: https://review.gluster.org/c/glusterfs/+/21814

Change-Id: Icdd2d8e5eb290e12bc509105418c668f432f4eae
BUG: 1655385
Signed-off-by: Anoop C S <anoopcs@redhat.com>
Reviewed-on: https://code.engineering.redhat.com/gerrit/158723
Tested-by: RHGS Build Bot <nigelb@redhat.com>
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
---
 extras/Makefile.am |  4 +++-
 extras/group-samba | 10 ++++++++++
 glusterfs.spec.in  |  1 +
 3 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 extras/group-samba

diff --git a/extras/Makefile.am b/extras/Makefile.am
index e0e05b5..f898245 100644
--- a/extras/Makefile.am
+++ b/extras/Makefile.am
@@ -14,7 +14,7 @@ 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 \
 	group-metadata-cache group-gluster-block group-nl-cache group-db-workload \
-	group-distributed-virt
+	group-distributed-virt group-samba
 
 voldir = $(sysconfdir)/glusterfs
 vol_DATA = glusterd.vol
@@ -53,3 +53,5 @@ install-data-local:
 		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/db-workload
 	$(INSTALL_DATA) $(top_srcdir)/extras/group-distributed-virt \
 		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/distributed-virt
+	$(INSTALL_DATA) $(top_srcdir)/extras/group-samba \
+		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/samba
diff --git a/extras/group-samba b/extras/group-samba
new file mode 100644
index 0000000..ee39202
--- /dev/null
+++ b/extras/group-samba
@@ -0,0 +1,10 @@
+features.cache-invalidation=on
+features.cache-invalidation-timeout=600
+performance.cache-samba-metadata=on
+performance.stat-prefetch=on
+performance.cache-invalidation=on
+performance.md-cache-timeout=600
+network.inode-lru-limit=200000
+performance.nl-cache=on
+performance.nl-cache-timeout=600
+performance.parallel-readdir=on
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index a4accd9..16dc5d7 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -1524,6 +1524,7 @@ exit 0
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache
+            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba
        %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
        %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
-- 
1.8.3.1