From 9994a0349b3af6877f03ce3a2ead641e9917a6ed Mon Sep 17 00:00:00 2001 From: Chris Piazza Date: Fri, 24 Sep 1999 04:29:42 +0000 Subject: [PATCH] Add a patch to fix a problem with very low write speeds with samba on freebsd. Following is description made by one of the Samba developers: "The problem is we switched to using recv() with the MSG_WAITALL flag instead of read(). This makes Samba faster on most systems. On FreeBSD it causes a massive slowdown and I don't know why. To fix it, change the definition of MSG_WAITALL to be zero in lib/util_sock.c and recompile 2.0.5a. I'm hoping someone from FreeBSD will get back to me with some explanation. Regards, Jeremy Allison, Samba Team." This problem where observed by almost all samba-2.0.5a users and typically it led to 10-20x decrease in write speed. PR: 13894 Submitted by: Maxim Sobolev --- net/samba-devel/files/patch-ah | 12 ++++++++++++ net/samba/files/patch-ah | 12 ++++++++++++ net/samba3/files/patch-ah | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 net/samba-devel/files/patch-ah create mode 100644 net/samba/files/patch-ah create mode 100644 net/samba3/files/patch-ah diff --git a/net/samba-devel/files/patch-ah b/net/samba-devel/files/patch-ah new file mode 100644 index 000000000000..81b1f75158a4 --- /dev/null +++ b/net/samba-devel/files/patch-ah @@ -0,0 +1,12 @@ +--- lib/util_sock.c.orig Wed Sep 22 10:52:50 1999 ++++ lib/util_sock.c Wed Sep 22 11:30:18 1999 +@@ -28,6 +28,9 @@ + extern int sslFd; + #endif /* WITH_SSL */ + ++#undef MSG_WAITALL ++#define MSG_WAITALL 0 ++ + extern int DEBUGLEVEL; + + BOOL passive = False; diff --git a/net/samba/files/patch-ah b/net/samba/files/patch-ah new file mode 100644 index 000000000000..81b1f75158a4 --- /dev/null +++ b/net/samba/files/patch-ah @@ -0,0 +1,12 @@ +--- lib/util_sock.c.orig Wed Sep 22 10:52:50 1999 ++++ lib/util_sock.c Wed Sep 22 11:30:18 1999 +@@ -28,6 +28,9 @@ + extern int sslFd; + #endif /* WITH_SSL */ + ++#undef MSG_WAITALL ++#define MSG_WAITALL 0 ++ + extern int DEBUGLEVEL; + + BOOL passive = False; diff --git a/net/samba3/files/patch-ah b/net/samba3/files/patch-ah new file mode 100644 index 000000000000..81b1f75158a4 --- /dev/null +++ b/net/samba3/files/patch-ah @@ -0,0 +1,12 @@ +--- lib/util_sock.c.orig Wed Sep 22 10:52:50 1999 ++++ lib/util_sock.c Wed Sep 22 11:30:18 1999 +@@ -28,6 +28,9 @@ + extern int sslFd; + #endif /* WITH_SSL */ + ++#undef MSG_WAITALL ++#define MSG_WAITALL 0 ++ + extern int DEBUGLEVEL; + + BOOL passive = False;