Solution to my read problem 'Broken pipe' 'write_socket_data'

Urban Widmark urban at teststation.com
Tue Mar 6 08:57:11 GMT 2001


On Mon, 5 Mar 2001, Lei Zhang wrote:

> # Most people will find that this option gives better performance.
> # See speed.txt and the manual pages for details
> # Rather, the options do NOT work in some cases
>    socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
> 
> After several trials, I modified the socket options to:
> 
>  socket options = TCP_NODELAY SO_RCVBUF=8192
> ie, simply deleted the SO_SNDBUF=8192
> 
> Then, everything works perfectly now!

(So it wasn't just me and my compilers then ...)

Which kernel version do you run this on?

I've seen this too, but I though it was a matter of me using broken
compilers (RH7 gcc-2.96-54, -69 is supposedly better ...). I'd like some
details on your setup (compilers used, glibc, kernel) and forward it to
the proper authorities.

It works fine for me on 2.2.19pre16 but it fails like this on 2.4.x, if
and only if I have these *BUF settings. It doesn't matter which client I
use, if something needs to send a lot of data (a long dir listing) it will
hang.

This is either a samba bug if you are not allowed to set a buffer size of
8192 and then attempt to send 60k of data, or it is a kernel bug where it
doesn't handle this case.

/Urban





More information about the samba mailing list