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
atm
ax25
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
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
irda Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial 2006-01-04 16:34:57 -08:00
key
lapb
llc
netfilter [NETFILTER]: Fix module_param types and permissions 2006-01-05 12:19:46 -08:00
netlink
netrom
packet
rose
rxrpc
sched
sctp
sunrpc [PATCH] Keep nfsd from exiting when seeing recv() errors 2006-01-06 08:33:59 -08:00
unix
wanrouter
x25
xfrm
compat.c
Kconfig
Makefile
nonet.c
socket.c
sysctl_net.c
TUNABLE