[SCM] Samba Shared Repository - branch v3-5-test updated
Jeremy Allison
jra at samba.org
Wed Dec 2 11:06:58 MST 2009
The branch, v3-5-test has been updated
via 358cca7... Fix bug #6837 - "Too many open files" when trying to access large number of files from Windows 7. Original patch by me fixed up with the correct open files number by jmaggard10 at hotmail.com. Jeremy. (cherry picked from commit b6fdecd11210a3d2ff803bdc315aacd9f8b445a1)
from d09fd7e... Ensure we don't see the xattr used to store NT security (visible when xattr_tdb is used). Allows make test to pass with acl_xattr.so prepended to the vfs modules. Jeremy. (cherry picked from commit 8dda4cea660639190c1c7e84355186d07a6e064f)
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-5-test
- Log -----------------------------------------------------------------
commit 358cca77b2e09262e7e7bd41a782f46cff63922c
Author: Jeremy Allison <jra at samba.org>
Date: Wed Dec 2 10:01:14 2009 -0800
Fix bug #6837 - "Too many open files" when trying to access large number of files
from Windows 7. Original patch by me fixed up with the correct open files number
by jmaggard10 at hotmail.com.
Jeremy.
(cherry picked from commit b6fdecd11210a3d2ff803bdc315aacd9f8b445a1)
-----------------------------------------------------------------------
Summary of changes:
source3/include/local.h | 20 +++++++++++++++++++-
source3/param/loadparm.c | 16 ++++++++++++++++
source3/smbd/files.c | 2 --
3 files changed, 35 insertions(+), 3 deletions(-)
Changeset truncated at 500 lines:
diff --git a/source3/include/local.h b/source3/include/local.h
index 45767ad..de54ea5 100644
--- a/source3/include/local.h
+++ b/source3/include/local.h
@@ -66,7 +66,25 @@
#ifndef MAX_OPEN_FILES
#define MAX_OPEN_FILES 10000
#endif
-
+
+/*
+ * Fudgefactor required for open tdb's, etc.
+ */
+
+#ifndef MAX_OPEN_FUDGEFACTOR
+#define MAX_OPEN_FUDGEFACTOR 20
+#endif
+
+/*
+ * Minimum number of open files needed for Windows7 to
+ * work correctly. A little conservative but better that
+ * than run out of fd's.
+ */
+
+#ifndef MIN_OPEN_FILES_WINDOWS
+#define MIN_OPEN_FILES_WINDOWS 1050
+#endif
+
#define WORDMAX 0xFFFF
/* the maximum password length before we declare a likely attack */
diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c
index 9da853f..08bb654 100644
--- a/source3/param/loadparm.c
+++ b/source3/param/loadparm.c
@@ -4739,6 +4739,22 @@ static int max_open_files(void)
#endif
#endif
+ if (sysctl_max < MIN_OPEN_FILES_WINDOWS) {
+ DEBUG(2,("max_open_files: sysctl_max (%d) below "
+ "minimum Windows limit (%d)\n",
+ sysctl_max,
+ MIN_OPEN_FILES_WINDOWS));
+ sysctl_max = MIN_OPEN_FILES_WINDOWS;
+ }
+
+ if (rlimit_max < MIN_OPEN_FILES_WINDOWS) {
+ DEBUG(2,("rlimit_max: rlimit_max (%d) below "
+ "minimum Windows limit (%d)\n",
+ rlimit_max,
+ MIN_OPEN_FILES_WINDOWS));
+ rlimit_max = MIN_OPEN_FILES_WINDOWS;
+ }
+
return MIN(sysctl_max, rlimit_max);
}
diff --git a/source3/smbd/files.c b/source3/smbd/files.c
index 2bc5ba6..455666f 100644
--- a/source3/smbd/files.c
+++ b/source3/smbd/files.c
@@ -171,8 +171,6 @@ void file_close_pid(uint16 smbpid, int vuid)
Initialise file structures.
****************************************************************************/
-#define MAX_OPEN_FUDGEFACTOR 20
-
void file_init(void)
{
int request_max_open_files = lp_max_open_files();
--
Samba Shared Repository
More information about the samba-cvs
mailing list