Module Name: src Committed By: pooka Date: Fri Oct 16 23:36:06 UTC 2009
Modified Files: src/sys/nfs: nfs_socket.c Log Message: If send fails with EMSGSIZE for whatever reason, it's unlikely to succeed no matter how hard we retry. So just fail the request. To generate a diff of this commit: cvs rdiff -u -r1.180 -r1.181 src/sys/nfs/nfs_socket.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/nfs/nfs_socket.c diff -u src/sys/nfs/nfs_socket.c:1.180 src/sys/nfs/nfs_socket.c:1.181 --- src/sys/nfs/nfs_socket.c:1.180 Sat Mar 14 21:04:25 2009 +++ src/sys/nfs/nfs_socket.c Fri Oct 16 23:36:05 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: nfs_socket.c,v 1.180 2009/03/14 21:04:25 dsl Exp $ */ +/* $NetBSD: nfs_socket.c,v 1.181 2009/10/16 23:36:05 pooka Exp $ */ /* * Copyright (c) 1989, 1991, 1993, 1995 @@ -39,7 +39,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: nfs_socket.c,v 1.180 2009/03/14 21:04:25 dsl Exp $"); +__KERNEL_RCSID(0, "$NetBSD: nfs_socket.c,v 1.181 2009/10/16 23:36:05 pooka Exp $"); #ifdef _KERNEL_OPT #include "fs_nfs.h" @@ -523,7 +523,7 @@ */ if (rep->r_flags & R_SOFTTERM) error = EINTR; - else + else if (error != EMSGSIZE) rep->r_flags |= R_MUSTRESEND; } } else { @@ -540,7 +540,8 @@ * Handle any recoverable (soft) socket errors here. (? ? ?) */ if (error != EINTR && error != ERESTART && - error != EWOULDBLOCK && error != EPIPE) + error != EWOULDBLOCK && error != EPIPE && + error != EMSGSIZE) error = 0; } return (error);