linux/net/sunrpc
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
..
auth_gss SUNRPC: Fix "EPIPE" error on mount of rpcsec_gss-protected partitions 2005-12-19 23:12:21 -05:00
Makefile
auth.c NFS,SUNRPC,NLM: fix unused variable warnings when CONFIG_SYSCTL is disabled 2005-11-04 15:39:48 -05:00
auth_null.c
auth_unix.c
cache.c
clnt.c [PATCH] SUNRPC: don't reencode when looping in call transmit. 2005-11-09 19:31:33 -08:00
pmap_clnt.c
rpc_pipe.c SUNRPC: Fix "EPIPE" error on mount of rpcsec_gss-protected partitions 2005-12-19 23:12:21 -05:00
sched.c
socklib.c [NET]: Detect hardware rx checksum faults correctly 2005-11-10 13:01:24 -08:00
stats.c
sunrpc_syms.c
svc.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
svcauth.c
svcauth_unix.c [PATCH] knfsd: fix hash function for IP addresses on 64bit little-endian machines. 2006-01-06 08:33:21 -08:00
svcsock.c [PATCH] Keep nfsd from exiting when seeing recv() errors 2006-01-06 08:33:59 -08:00
sysctl.c
timer.c
xdr.c [NET]: kfree cleanup 2005-11-08 09:41:34 -08:00
xprt.c
xprtsock.c RPC: Do not block on skb allocation 2005-12-19 23:11:54 -05:00