summaryrefslogtreecommitdiff
path: root/sys/nfs4client
diff options
context:
space:
mode:
authorChuck Lever <cel@FreeBSD.org>2006-05-23 18:48:07 +0000
committerChuck Lever <cel@FreeBSD.org>2006-05-23 18:48:07 +0000
commit6d0699a5ba8d92e0826eb71f98881d6c849db1b3 (patch)
tree68e06f45da996223cc7b1442448c81d3941b537b /sys/nfs4client
parent94163ea283bac49154a617d91d9a2849742a889c (diff)
Notes
Diffstat (limited to 'sys/nfs4client')
-rw-r--r--sys/nfs4client/nfs4_vfsops.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/nfs4client/nfs4_vfsops.c b/sys/nfs4client/nfs4_vfsops.c
index d4fc2d6accc2..0eb113bcfeaa 100644
--- a/sys/nfs4client/nfs4_vfsops.c
+++ b/sys/nfs4client/nfs4_vfsops.c
@@ -245,12 +245,18 @@ nfs_decode_args(struct nfsmount *nmp, struct nfs_args *argp)
int maxio;
s = splnet();
+
/*
* Silently clear NFSMNT_NOCONN if it's a TCP mount, it makes
- * no sense in that context.
+ * no sense in that context. Also, set appropriate retransmit
+ * and soft timeout behavior.
*/
- if (argp->sotype == SOCK_STREAM)
+ if (argp->sotype == SOCK_STREAM) {
nmp->nm_flag &= ~NFSMNT_NOCONN;
+ nmp->nm_flag |= NFSMNT_DUMBTIMR;
+ nmp->nm_timeo = NFS_MAXTIMEO;
+ nmp->nm_retry = NFS_RETRANS_TCP;
+ }
nmp->nm_flag &= ~NFSMNT_RDIRPLUS;