[autofs] - dont prode rdma mounts.

Ian Kent iankent at fedoraproject.org
Mon May 27 07:02:41 UTC 2013


commit 02ce7ac156c662132151d509930f748a784e4796
Author: Ian Kent <raven at themaw.net>
Date:   Mon May 27 15:02:13 2013 +0800

    - dont prode rdma mounts.

 autofs-5.0.7-dont-prode-rdma-mounts.patch |   68 +++++++++++++++++++++++++++++
 autofs.spec                               |    7 +++-
 2 files changed, 74 insertions(+), 1 deletions(-)
---
diff --git a/autofs-5.0.7-dont-prode-rdma-mounts.patch b/autofs-5.0.7-dont-prode-rdma-mounts.patch
new file mode 100644
index 0000000..4635543
--- /dev/null
+++ b/autofs-5.0.7-dont-prode-rdma-mounts.patch
@@ -0,0 +1,68 @@
+autofs-5.0.7 - dont prode rdma mounts
+
+From: Ian Kent <raven at themaw.net>
+
+Since the change to pass text nfs mount options drectly to the kernel all autofs
+mount requests now probe server availability. This was because of long delays
+mounting from servers that aren't responding.
+
+This caused mounts requesting the rdma protocol to fail if udp or tcp was also
+not available from the server.
+
+Since, AFAICT the rmda protocol can't be used with RPC fromn userspace, the only
+way to work around it is to not probe servers when rdma is requested.
+---
+ CHANGELOG           |    1 +
+ modules/mount_nfs.c |   13 ++++++++++++-
+ 2 files changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/CHANGELOG b/CHANGELOG
+index 50e83d7..f9bc987 100644
+--- a/CHANGELOG
++++ b/CHANGELOG
+@@ -44,6 +44,7 @@
+ - document allowed map sources in auto.master.
+ - add enable sloppy mount option to configure.
+ - fix interface address null check.
++- dont prode rdma mounts.
+ 
+ 25/07/2012 autofs-5.0.7
+ =======================
+diff --git a/modules/mount_nfs.c b/modules/mount_nfs.c
+index e61320b..5424d74 100644
+--- a/modules/mount_nfs.c
++++ b/modules/mount_nfs.c
+@@ -71,6 +71,7 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ 	int nosymlink = 0;
+ 	int port = -1;
+ 	int ro = 0;            /* Set if mount bind should be read-only */
++	int rdma = 0;
+ 
+ 	if (ap->flags & MOUNT_FLAG_REMOUNT)
+ 		return 0;
+@@ -124,6 +125,11 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ 				end--;
+ 
+ 			o_len = end - cp + 1;
++
++			if (strncmp("proto=rdma", cp, o_len) == 0 ||
++				   strncmp("rdma", cp, o_len) == 0)
++				rdma = 1;
++
+ 			if (strncmp("nosymlink", cp, o_len) == 0) {
+ 				warn(ap->logopt, MODPREFIX
+ 				     "the \"nosymlink\" option is depricated "
+@@ -170,7 +176,12 @@ int mount_mount(struct autofs_point *ap, const char *root, const char *name, int
+ 		info(ap->logopt, MODPREFIX "no hosts available");
+ 		return 1;
+ 	}
+-	prune_host_list(ap->logopt, &hosts, vers, port);
++	/*
++	 * We can't probe protocol rdma so leave it to mount.nfs(8)
++	 * and and suffer the delay if a server isn't available.
++	 */
++	if (!rdma)
++		prune_host_list(ap->logopt, &hosts, vers, port);
+ 
+ 	if (!hosts) {
+ 		info(ap->logopt, MODPREFIX "no hosts available");
diff --git a/autofs.spec b/autofs.spec
index d89ec70..685e07c 100644
--- a/autofs.spec
+++ b/autofs.spec
@@ -8,7 +8,7 @@
 Summary: A tool for automatically mounting and unmounting filesystems
 Name: autofs
 Version: 5.0.7
-Release: 17%{?dist}
+Release: 18%{?dist}
 Epoch: 1
 License: GPLv2+
 Group: System Environment/Daemons
@@ -61,6 +61,7 @@ Patch45: autofs-5.0.7-make-dump-maps-check-for-duplicate-indirect-mounts.patch
 Patch46: autofs-5.0.7-document-allowed-map-sources-in-auto_master.patch
 Patch47: autofs-5.0.7-add-enable-sloppy-mount-option-to-configure.patch
 Patch48: autofs-5.0.7-fix-interface-address-null-check.patch
+Patch49: autofs-5.0.7-dont-prode-rdma-mounts.patch
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 %if %{with_systemd}
 BuildRequires: systemd-units
@@ -166,6 +167,7 @@ echo %{version}-%{release} > .version
 %patch46 -p1
 %patch47 -p1
 %patch48 -p1
+%patch49 -p1
 
 %build
 #CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --libdir=%{_libdir}
@@ -257,6 +259,9 @@ fi
 %dir /etc/auto.master.d
 
 %changelog
+* Mon May 27 2013 Ian Kent <ikent at redhat.com> - 1:5.0.7-18
+- dont prode rdma mounts.
+
 * Fri May 24 2013 Ian Kent <ikent at redhat.com> - 1:5.0.7-17
 - fix interface address null check.
 


More information about the scm-commits mailing list