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
This commit is contained in:
ps 2005-07-21 16:19:02 +00:00
parent 6ef35a9033
commit 21b8a6b2f6

View File

@ -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);