2008-06-09 00:07:06

by Marcelo Leal

[permalink] [raw]
Subject: nfsd: accept failed (err 22)

Ok, Ok, it's an old GNU/Linux kernel(2.4.20), but it was working
pretty well for years! Just strong as a rock.
Now, after seeing the message:

nfsd: accept failed (err 22)!

in the logs, some clients start to behave very bad (slow)... most
some rhel tcp clients!
I think that can be a "tcp" problem, maybe some problem in the network.
Looking the code:
...
if (tcpflag && FD_ISSET(tcpsock, ready)) {
len = sizeof(inetpeer);
if ((msgsock = accept(tcpsock,
(struct sockaddr *)&inetpeer, &len)) < 0) {
syslog(LOG_ERR, "accept failed: %m");
return (1);
...
Seems like after restart the server, everything goes fine.
I just want to ask you the following:

1) Am i right, that is a problem with the "tcp" connections?
2) it's a bug in the NFS server (probably solved in newer versions),
or it's a network problem?
3) It's a network problem?
4) may be a client (rhel) problem?

ps.: Many clients stil working pretty well, just some clients show
the slow behavior.

Thanks a lot for your time!

Leal.

--
pOSix rules