Re: write_sock stream errors
[email protected] (Peter T. Breuer)
| Newsgroups | gmane.linux.enbd.general |
|---|---|
| Message-ID | <[email protected]> |
Nikos Gkorogiannis <[email protected]> wrote: > I'm running 2.4.31 on 2.6.7 (server and client) and the server, very > shortly after connection with the client, gives these out: > > slave1 enbd-server: stream 548: <# 585> write_sock stream 0x8065734 > has closed socket > slave1 enbd-server: enbd-server 548: <#1957> talk_hello Introduction > failed: Invalid argument > slave1 enbd-server: stream 551: <# 585> write_sock stream 0x8065734 > has closed socket > slave1 enbd-server: enbd-server 551: <#1957> talk_hello Introduction > failed: Invalid argument Server with pids 548 and 551 complained about a closed socket when they tried to write. Line 1957 of enbd-server.c. Seems to be in negotiate(). I think the servers ought to die (?) and restart the negotiation. You can check the pids. It may be a race condition. It's the first write on the newly opened stream through the session port. The write attempt returned a negative number and errno=EINVAL was set. I know no more. Man page for "write" says: EINVAL fd is attached to an object which is unsuitable for writing. > slave1 enbd-server: enbd-server: server (0) set default signal handlers > for slave server 548 > slave1 enbd-server: enbd-server: server (0) set default signal handlers > for slave server 551 > > The client does not get any errors (at least under the IO load I'm > subjecting it). Here's nbdinfo: Well, maybe the protocol of having the server write the hello first is a bit silly :-). > It's not necessarily a show-stopper, as there are no errors generated on > the client, but could it be? And what do they mean? Could it be that the server is faster than the client? Peter