If we get an ENOBUFS from the network, it's normally transient network

interface congestion (eg: nfs over a ppp link, etc).  Don't log these
for UDP mounts, and don't cause syscalls to fail with EINTR.
This stops the 'nfs send error 55' warnings.

If the error is because the system is really hosed, this is the least
of your problems...
This commit is contained in:
Peter Wemm 1998-08-01 09:04:02 +00:00
parent 9de9737f47
commit c5fa8d1a2c
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=37997
3 changed files with 33 additions and 3 deletions

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_socket.c 8.5 (Berkeley) 3/30/95
* $Id: nfs_socket.c,v 1.41 1998/06/07 17:12:28 dfr Exp $
* $Id: nfs_socket.c,v 1.42 1998/07/15 02:32:24 bde Exp $
*/
/*
@ -432,6 +432,16 @@ nfs_send(so, nam, top, rep)
error = so->so_proto->pr_usrreqs->pru_sosend(so, sendnam, 0, top, 0,
flags, curproc /*XXX*/);
/*
* ENOBUFS for dgram sockets is transient and non fatal.
* No need to log, and no need to break a soft mount.
*/
if (error == ENOBUFS && so->so_type == SOCK_DGRAM) {
error = 0;
if (rep) /* do backoff retransmit on client */
rep->r_flags |= R_MUSTRESEND;
}
if (error) {
if (rep) {
log(LOG_INFO, "nfs send error %d for server %s\n",error,

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_socket.c 8.5 (Berkeley) 3/30/95
* $Id: nfs_socket.c,v 1.41 1998/06/07 17:12:28 dfr Exp $
* $Id: nfs_socket.c,v 1.42 1998/07/15 02:32:24 bde Exp $
*/
/*
@ -432,6 +432,16 @@ nfs_send(so, nam, top, rep)
error = so->so_proto->pr_usrreqs->pru_sosend(so, sendnam, 0, top, 0,
flags, curproc /*XXX*/);
/*
* ENOBUFS for dgram sockets is transient and non fatal.
* No need to log, and no need to break a soft mount.
*/
if (error == ENOBUFS && so->so_type == SOCK_DGRAM) {
error = 0;
if (rep) /* do backoff retransmit on client */
rep->r_flags |= R_MUSTRESEND;
}
if (error) {
if (rep) {
log(LOG_INFO, "nfs send error %d for server %s\n",error,

View File

@ -34,7 +34,7 @@
* SUCH DAMAGE.
*
* @(#)nfs_socket.c 8.5 (Berkeley) 3/30/95
* $Id: nfs_socket.c,v 1.41 1998/06/07 17:12:28 dfr Exp $
* $Id: nfs_socket.c,v 1.42 1998/07/15 02:32:24 bde Exp $
*/
/*
@ -432,6 +432,16 @@ nfs_send(so, nam, top, rep)
error = so->so_proto->pr_usrreqs->pru_sosend(so, sendnam, 0, top, 0,
flags, curproc /*XXX*/);
/*
* ENOBUFS for dgram sockets is transient and non fatal.
* No need to log, and no need to break a soft mount.
*/
if (error == ENOBUFS && so->so_type == SOCK_DGRAM) {
error = 0;
if (rep) /* do backoff retransmit on client */
rep->r_flags |= R_MUSTRESEND;
}
if (error) {
if (rep) {
log(LOG_INFO, "nfs send error %d for server %s\n",error,