summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-12-25 13:44:11 +0100
committerVolker Lendecke <vl@samba.org>2008-12-31 19:33:25 +0100
commit98f830cdfc8258fb36fc856bef80d25ddedf5c31 (patch)
treea5d2fffbbf2a79ffeed0baff6da99b91d4f2298f
parente0fd61f0cbfb0a25c8e9603375c2eb98936c8345 (diff)
downloadsamba-98f830cdfc8258fb36fc856bef80d25ddedf5c31.tar.gz
samba-98f830cdfc8258fb36fc856bef80d25ddedf5c31.tar.bz2
samba-98f830cdfc8258fb36fc856bef80d25ddedf5c31.zip
Disable the use of splice(2)
On a debian lenny installation with a kernel that calls itself 2.6.28, I could repeatably block smbd using splice. According to the output of netstat, the recvq of the TCP connection was full and at the same time according to strace smbd was stuck in a splice syscall trying to read from that TCP connection. We can not protect ourselves from this condition, as nobody will ever notify us that something is broken. So sadly we can't use splice yet at all. Maybe in 2.6.29...
-rw-r--r--source3/lib/recvfile.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/source3/lib/recvfile.c b/source3/lib/recvfile.c
index 41f7213943..c9710a7ebe 100644
--- a/source3/lib/recvfile.c
+++ b/source3/lib/recvfile.c
@@ -146,7 +146,7 @@ ssize_t sys_recvfile(int fromfd,
size_t count)
{
static int pipefd[2] = { -1, -1 };
- static bool try_splice_call = true;
+ static bool try_splice_call = false;
size_t total_written = 0;
DEBUG(10,("sys_recvfile: from = %d, to = %d, "