You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
68 lines
2.2 KiB
68 lines
2.2 KiB
autofs-5.0.7 - dont probe rdma mounts |
|
|
|
From: Ian Kent <raven@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 probe 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");
|
|
|