kernel-ark/net
Olaf Kirch 93fbf1a5de [PATCH] Keep nfsd from exiting when seeing recv() errors
I submitted this one previously - svc_tcp_recvfrom currently returns
any errors to the caller, including ECONNRESET and the like.

This is something svc_recv isn't able to deal with:

	len = svsk->sk_recvfrom(rqstp);
	[...]
	if (len == 0 || len == -EAGAIN) {
		[...]
		return -EAGAIN;
	}

	[...]
	return len;

The nfsd main loop will exit when it sees an error code other than
EAGAIN.

The following patch fixes this problem

svc_recv is not equipped to deal with error codes other than EAGAIN,
and will propagate anything else (such as ECONNRESET) up to nfsd,
causing it to exit.

Signed-off-by: Olaf Kirch <okir@suse.de>
Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
Cc: Neil Brown <neilb@cse.unsw.edu.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-01-06 08:33:59 -08:00
..
802
8021q
appletalk [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
atm [NET]: move struct proto_ops to const 2006-01-03 13:11:15 -08:00
ax25 [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
bluetooth Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-01-04 18:44:12 -08:00
bridge [NET]: Change 1500 to ETH_DATA_LEN in some files 2006-01-05 16:48:56 -08:00
core Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-2.6 2006-01-04 18:44:12 -08:00
dccp [DCCP] ackvec: use u8 for the buf offsets 2006-01-04 01:46:34 -02:00
decnet [DECNET]: Only use local routers 2006-01-03 14:24:02 -08:00
econet [ECONET]: Use macro for spinlock_t definition. 2006-01-04 13:56:08 -08:00
ethernet [NET]: Change 1500 to ETH_DATA_LEN in some files 2006-01-05 16:48:56 -08:00
ieee80211 [IEEE80211] ipw2200: Simplify multicast checks. 2006-01-03 15:27:38 -08:00
ipv4 [NET]: Change 1500 to ETH_DATA_LEN in some files 2006-01-05 16:48:56 -08:00
ipv6 [NET]: Change 1500 to ETH_DATA_LEN in some files 2006-01-05 16:48:56 -08:00
ipx [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-01-04 16:34:57 -08:00
key [NET]: move struct proto_ops to const 2006-01-03 13:11:15 -08:00
lapb
llc [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
netfilter [NETFILTER]: Fix module_param types and permissions 2006-01-05 12:19:46 -08:00
netlink [NETLINK] genetlink: fix cmd type in genl_ops to be consistent to u8 2006-01-03 14:13:29 -08:00
netrom [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
packet [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
rose [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
rxrpc
sched [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
sctp [INET_SOCK]: Move struct inet_sock & helper functions to net/inet_sock.h 2006-01-03 13:11:21 -08:00
sunrpc [PATCH] Keep nfsd from exiting when seeing recv() errors 2006-01-06 08:33:59 -08:00
unix [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
wanrouter [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
x25 [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
xfrm
compat.c
Kconfig
Makefile
nonet.c [NET]: Fix sock_init() return value. 2006-01-03 13:11:17 -08:00
socket.c [NET]: Add a dev_ioctl() fallback to sock_ioctl() 2006-01-03 14:18:33 -08:00
sysctl_net.c
TUNABLE