The Samba-Bugzilla – Attachment 6499 Details for
Bug 8186
Allows changing the maximum number of simultaneous clients in winbindd through an smb.conf option.
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch for 3.5
samba-3.5.4-winbind_max_clients.patch (text/plain), 5.09 KB, created by
Guenther Deschner
on 2011-05-30 19:57:24 UTC
(
hide
)
Description:
patch for 3.5
Filename:
MIME Type:
Creator:
Guenther Deschner
Created:
2011-05-30 19:57:24 UTC
Size:
5.09 KB
patch
obsolete
>From 2b640bba41c2feb61c38835771009f54b86b116b Mon Sep 17 00:00:00 2001 >From: Pierre Carrier <pcarrier@redhat.com> >Date: Tue, 14 Sep 2010 16:43:39 -0700 >Subject: [PATCH] Allows changing the maximum number of simultaneous clients in winbindd through an smb.conf option. > >Signed-off-by: Jeremy Allison <jra@samba.org> >--- > docs-xml/smbdotconf/winbind/winbindmaxclients.xml | 14 ++++++++++++++ > source3/include/local.h | 3 --- > source3/include/proto.h | 1 + > source3/param/loadparm.c | 13 ++++++++++++- > source3/winbindd/winbindd.c | 8 +++----- > 5 files changed, 30 insertions(+), 9 deletions(-) > create mode 100644 docs-xml/smbdotconf/winbind/winbindmaxclients.xml > >diff --git a/docs-xml/smbdotconf/winbind/winbindmaxclients.xml b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml >new file mode 100644 >index 0000000..ae49e45 >--- /dev/null >+++ b/docs-xml/smbdotconf/winbind/winbindmaxclients.xml >@@ -0,0 +1,14 @@ >+<samba:parameter name="winbind max clients" >+ context="G" >+ type="integer" >+ advanced="1" developer="1" >+ xmlns:samba="http://www.samba.org/samba/DTD/samba-doc"> >+<description> >+ <para>This parameter specifies the maximum number of clients >+ the <citerefentry><refentrytitle>winbindd</refentrytitle> >+ <manvolnum>8</manvolnum></citerefentry> daemon can connect with. >+ </para> >+</description> >+ >+<value type="default">200</value> >+</samba:parameter> >diff --git a/source3/include/local.h b/source3/include/local.h >index a88b17b..1b56199 100644 >--- a/source3/include/local.h >+++ b/source3/include/local.h >@@ -239,9 +239,6 @@ > /* Number in seconds for winbindd to wait for the mutex. Make this 2 * smbd wait time. */ > #define WINBIND_SERVER_MUTEX_WAIT_TIME (( ((NUM_CLI_AUTH_CONNECT_RETRIES) * ((CLI_AUTH_TIMEOUT)/1000)) + 5)*2) > >-/* Max number of simultaneous winbindd socket connections. */ >-#define WINBINDD_MAX_SIMULTANEOUS_CLIENTS 200 >- > /* Buffer size to use when printing backtraces */ > #define BACKTRACE_STACK_SIZE 64 > >diff --git a/source3/include/proto.h b/source3/include/proto.h >index 26fbb44..a4c66d4 100644 >--- a/source3/include/proto.h >+++ b/source3/include/proto.h >@@ -4248,6 +4248,7 @@ int lp_smb_encrypt(int ); > char lp_magicchar(const struct share_params *p ); > int lp_winbind_cache_time(void); > int lp_winbind_reconnect_delay(void); >+int lp_winbind_max_clients(void); > const char **lp_winbind_nss_info(void); > int lp_algorithmic_rid_base(void); > int lp_name_cache_timeout(void); >diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c >index f362c9b..38d132f 100644 >--- a/source3/param/loadparm.c >+++ b/source3/param/loadparm.c >@@ -251,7 +251,7 @@ struct global { > int oplock_break_wait_time; > int winbind_cache_time; > int winbind_reconnect_delay; >- int winbind_max_idle_children; >+ int winbind_max_clients; > char **szWinbindNssInfo; > int iLockSpinTime; > char *szLdapMachineSuffix; >@@ -4542,6 +4542,15 @@ static struct parm_struct parm_table[] = { > .flags = FLAG_ADVANCED, > }, > { >+ .label = "winbind max clients", >+ .type = P_INTEGER, >+ .p_class = P_GLOBAL, >+ .ptr = &Globals.winbind_max_clients, >+ .special = NULL, >+ .enum_list = NULL, >+ .flags = FLAG_ADVANCED, >+ }, >+ { > .label = "winbind enum users", > .type = P_BOOL, > .p_class = P_GLOBAL, >@@ -5167,6 +5176,7 @@ static void init_globals(bool first_time_only) > > Globals.winbind_cache_time = 300; /* 5 minutes */ > Globals.winbind_reconnect_delay = 30; /* 30 seconds */ >+ Globals.winbind_max_clients = 200; > Globals.bWinbindEnumUsers = False; > Globals.bWinbindEnumGroups = False; > Globals.bWinbindUseDefaultDomain = False; >@@ -5732,6 +5742,7 @@ FN_LOCAL_INTEGER(lp_smb_encrypt, ismb_encrypt) > FN_LOCAL_CHAR(lp_magicchar, magic_char) > FN_GLOBAL_INTEGER(lp_winbind_cache_time, &Globals.winbind_cache_time) > FN_GLOBAL_INTEGER(lp_winbind_reconnect_delay, &Globals.winbind_reconnect_delay) >+FN_GLOBAL_INTEGER(lp_winbind_max_clients, &Globals.winbind_max_clients) > FN_GLOBAL_LIST(lp_winbind_nss_info, &Globals.szWinbindNssInfo) > FN_GLOBAL_INTEGER(lp_algorithmic_rid_base, &Globals.AlgorithmicRidBase) > FN_GLOBAL_INTEGER(lp_name_cache_timeout, &Globals.name_cache_timeout) >diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c >index c0b42b8..79c3b7e 100644 >--- a/source3/winbindd/winbindd.c >+++ b/source3/winbindd/winbindd.c >@@ -891,17 +891,15 @@ static void winbindd_listen_fde_handler(struct tevent_context *ev, > struct winbindd_listen_state *s = talloc_get_type_abort(private_data, > struct winbindd_listen_state); > >- while (winbindd_num_clients() > >- WINBINDD_MAX_SIMULTANEOUS_CLIENTS - 1) { >+ while (winbindd_num_clients() > lp_winbind_max_clients() - 1) { > DEBUG(5,("winbindd: Exceeding %d client " > "connections, removing idle " >- "connection.\n", >- WINBINDD_MAX_SIMULTANEOUS_CLIENTS)); >+ "connection.\n", lp_winbind_max_clients())); > if (!remove_idle_client()) { > DEBUG(0,("winbindd: Exceeding %d " > "client connections, no idle " > "connection found\n", >- WINBINDD_MAX_SIMULTANEOUS_CLIENTS)); >+ lp_winbind_max_clients())); > break; > } > } >-- >1.7.3.1 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 8186
: 6499