e7a346
From bf8ca8c73df0a114b9728150934d6b7ecd3cbd6f Mon Sep 17 00:00:00 2001
e7a346
From: Anoop C S <anoopcs@redhat.com>
e7a346
Date: Thu, 6 Dec 2018 15:05:20 +0530
e7a346
Subject: [PATCH 484/493] extras: New group volume set command for Samba
e7a346
 integration
e7a346
e7a346
 # gluster volume set <VOLNAME> group samba
e7a346
e7a346
List of volume set options from group-samba are aimed at improving the below
e7a346
workloads which consumes time and network hops in SMB world:
e7a346
e7a346
* Listing of large directories
e7a346
* Negative lookups during creation of files
e7a346
e7a346
Caching the necessary metadata required for these workloads saves us time and
e7a346
network hops. On the other side we have to ensure correctness(avoiding stale
e7a346
cache) in caching(via md-cache) with the help of cache invalidation in an
e7a346
environment where multiple client access is expected.
e7a346
e7a346
upstream ref: https://review.gluster.org/c/glusterfs/+/21814
e7a346
e7a346
Change-Id: Icdd2d8e5eb290e12bc509105418c668f432f4eae
e7a346
BUG: 1655385
e7a346
Signed-off-by: Anoop C S <anoopcs@redhat.com>
e7a346
Reviewed-on: https://code.engineering.redhat.com/gerrit/158723
e7a346
Tested-by: RHGS Build Bot <nigelb@redhat.com>
e7a346
Reviewed-by: Sunil Kumar Heggodu Gopala Acharya <sheggodu@redhat.com>
e7a346
---
e7a346
 extras/Makefile.am |  4 +++-
e7a346
 extras/group-samba | 10 ++++++++++
e7a346
 glusterfs.spec.in  |  1 +
e7a346
 3 files changed, 14 insertions(+), 1 deletion(-)
e7a346
 create mode 100644 extras/group-samba
e7a346
e7a346
diff --git a/extras/Makefile.am b/extras/Makefile.am
e7a346
index e0e05b5..f898245 100644
e7a346
--- a/extras/Makefile.am
e7a346
+++ b/extras/Makefile.am
e7a346
@@ -14,7 +14,7 @@ confdir = $(sysconfdir)/glusterfs
e7a346
 conf_DATA = glusterfs-logrotate gluster-rsyslog-7.2.conf gluster-rsyslog-5.8.conf \
e7a346
 	logger.conf.example glusterfs-georep-logrotate group-virt.example \
e7a346
 	group-metadata-cache group-gluster-block group-nl-cache group-db-workload \
e7a346
-	group-distributed-virt
e7a346
+	group-distributed-virt group-samba
e7a346
 
e7a346
 voldir = $(sysconfdir)/glusterfs
e7a346
 vol_DATA = glusterd.vol
e7a346
@@ -53,3 +53,5 @@ install-data-local:
e7a346
 		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/db-workload
e7a346
 	$(INSTALL_DATA) $(top_srcdir)/extras/group-distributed-virt \
e7a346
 		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/distributed-virt
e7a346
+	$(INSTALL_DATA) $(top_srcdir)/extras/group-samba \
e7a346
+		$(DESTDIR)$(GLUSTERD_WORKDIR)/groups/samba
e7a346
diff --git a/extras/group-samba b/extras/group-samba
e7a346
new file mode 100644
e7a346
index 0000000..ee39202
e7a346
--- /dev/null
e7a346
+++ b/extras/group-samba
e7a346
@@ -0,0 +1,10 @@
e7a346
+features.cache-invalidation=on
e7a346
+features.cache-invalidation-timeout=600
e7a346
+performance.cache-samba-metadata=on
e7a346
+performance.stat-prefetch=on
e7a346
+performance.cache-invalidation=on
e7a346
+performance.md-cache-timeout=600
e7a346
+network.inode-lru-limit=200000
e7a346
+performance.nl-cache=on
e7a346
+performance.nl-cache-timeout=600
e7a346
+performance.parallel-readdir=on
e7a346
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
e7a346
index a4accd9..16dc5d7 100644
e7a346
--- a/glusterfs.spec.in
e7a346
+++ b/glusterfs.spec.in
e7a346
@@ -1524,6 +1524,7 @@ exit 0
e7a346
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/db-workload
e7a346
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/distributed-virt
e7a346
             %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/nl-cache
e7a346
+            %attr(0644,-,-) %{_sharedstatedir}/glusterd/groups/samba
e7a346
        %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind
e7a346
        %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glusterfind/.keys
e7a346
 %ghost %dir %attr(0755,-,-) %{_sharedstatedir}/glusterd/glustershd
e7a346
-- 
e7a346
1.8.3.1
e7a346