Linux NFS development
 help / color / mirror / Atom feed
From: Olaf Kirch <okir@suse.de>
To: Johan van den Dorpe <johan.vandendorpe@framestore-cfc.com>
Cc: nfs@lists.sourceforge.net
Subject: Re: nfsd: terminating on error 104 problem
Date: Thu, 4 Mar 2004 12:11:38 +0100	[thread overview]
Message-ID: <20040304111138.GO22726@suse.de> (raw)
In-Reply-To: <404707BE.9070401@framestore-cfc.com>

[-- Attachment #1: Type: text/plain, Size: 654 bytes --]

On Thu, Mar 04, 2004 at 10:41:02AM +0000, Johan van den Dorpe wrote:
> So from my limited knowledge of the kernel source I can see that 
> "terminating on error 104" corresponds to line 221 of
> /usr/src/linux-2.4.25/fs/nfsd/nfssvc.c. So svc_recv on line 191 is 
> obviously returning -104.

104 is ECONNRESET, this means the client reset the connection.
The server should really clean up the socket in this case.

Does the attached patch help? 

Beware - totally untested, better not try this on a production
machine :)

Olaf
-- 
Olaf Kirch     |  Stop wasting entropy - start using predictable
okir@suse.de   |  tempfile names today!
---------------+ 

[-- Attachment #2: nfsd-handle-econnreset --]
[-- Type: text/plain, Size: 483 bytes --]

--- svcsock.c.orig	2004-03-04 12:08:51.000000000 +0100
+++ svcsock.c	2004-03-04 12:10:08.000000000 +0100
@@ -904,6 +904,10 @@
 	if (len == -EAGAIN) {
 		dprintk("RPC: TCP recvfrom got EAGAIN\n");
 		svc_sock_received(svsk);
+	} else if (len == -ECONNRESET) {
+		dprintk("RPC: TCP recvfrom got ECONNRESET\n");
+		svc_sock_received(svsk);
+		set_bit(SK_DEAD, &svsk->sk_flags);
 	} else {
 		printk(KERN_NOTICE "%s: recvfrom returned errno %d\n",
 					svsk->sk_server->sv_name, -len);

  reply	other threads:[~2004-03-04 11:17 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-03-04 10:41 nfsd: terminating on error 104 problem Johan van den Dorpe
2004-03-04 11:11 ` Olaf Kirch [this message]
2004-03-04 12:59   ` Johan van den Dorpe
2004-03-05 18:01     ` Johan van den Dorpe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040304111138.GO22726@suse.de \
    --to=okir@suse.de \
    --cc=johan.vandendorpe@framestore-cfc.com \
    --cc=nfs@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox