From 21b8a6b2f610cb7ec0b05053f2282250afd6f240 Mon Sep 17 00:00:00 2001 From: ps Date: Thu, 21 Jul 2005 16:19:02 +0000 Subject: [PATCH] MFC: rev 1.127 Fix for a NFS soft mounts bug where if the number of retries exceeds the max rexmits, the request was not being bounced back with a ETIMEDOUT error. Approved by: re --- sys/nfsclient/nfs_socket.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sys/nfsclient/nfs_socket.c b/sys/nfsclient/nfs_socket.c index 9bd1332397ee..8f919daeab71 100644 --- a/sys/nfsclient/nfs_socket.c +++ b/sys/nfsclient/nfs_socket.c @@ -580,7 +580,8 @@ nfs_reply(struct nfsreq *rep) if (rep->r_nmp->nm_flag & NFSMNT_INT) slpflag = PCATCH; mtx_lock(&nfs_reply_mtx); - while ((rep->r_mrep == NULL) && (error == 0) && + while ((rep->r_mrep == NULL) && (error == 0) && + ((rep->r_flags & R_SOFTTERM) == 0) && ((sotype == SOCK_DGRAM) || ((rep->r_flags & R_MUSTRESEND) == 0))) error = msleep((caddr_t)rep, &nfs_reply_mtx, slpflag | (PZERO - 1), "nfsreq", 0);