Keep nfsd from exiting when seeing recv() errors
Subsystems (3)
PATCH 1/1 Keep nfsd from exiting when seeing recv() errors
Hi,
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
Olaf
------------------------------------------------------------------
Subject: Keep nfsd from exiting when seeing recv() errors
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 <[email protected]>
net/sunrpc/svcsock.c +1 -1
@@ -894,7 +894,7 @@ svc_tcp_recvfrom(struct svc_rqst *rqstp) }else {printk (KERN_NOTICE "%s: recvfrom returned errno %d\n" , svsk->sk_server->sv_name, -len); -svc_sock_received (svsk); + goto err_delete; }return len;
Signature · 12 lines
Olaf Kirch | --- o --- Nous sommes du soleil we love when we play [email protected] | / | \ sol.dhoop.naytheet.ah kin.ir.samse.qurax ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today Register for a JBoss Training Course. Free Certification Exam for All Training Attendees Through End of 2005. For more info visit: http://ads.osdn.com/?ad_id=7628&alloc_id=16845&op=click _______________________________________________ NFS maillist - [email protected] https://lists.sourceforge.net/lists/listinfo/nfs