Revert "smbd: introduce sconn->sync_thread_pool"
authorRalph Boehme <slow@samba.org>
Sun, 23 Dec 2018 08:34:00 +0000 (09:34 +0100)
committerStefan Metzmacher <metze@samba.org>
Fri, 11 Jan 2019 22:11:12 +0000 (23:11 +0100)
This reverts commit 0c97226356f2ba5f01a58d361371055caf11e2a7.

See the discussion in

https://lists.samba.org/archive/samba-technical/2018-December/131731.html

for the reasoning behind this revert.

Signed-off-by: Ralph Boehme <slow@samba.org>
Reviewed-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/smbd/globals.h
source3/smbd/msdfs.c
source3/smbd/process.c

index 6ae5718..b6dc27d 100644 (file)
@@ -943,7 +943,6 @@ struct smbd_server_connection {
                } locks;
        } smb2;
 
-       struct pthreadpool_tevent *sync_thread_pool;
        struct pthreadpool_tevent *raw_thread_pool;
 
        struct smbXsrv_client *client;
index 9b0b2de..5283edb 100644 (file)
@@ -33,7 +33,6 @@
 #include "libcli/security/security.h"
 #include "librpc/gen_ndr/ndr_dfsblobs.h"
 #include "lib/tsocket/tsocket.h"
-#include "lib/pthreadpool/pthreadpool_tevent.h"
 
 /**********************************************************************
  Parse a DFS pathname of the form \hostname\service\reqpath
@@ -253,7 +252,6 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx,
        const char *vfs_user;
        struct smbd_server_connection *sconn;
        const char *servicename = lp_const_servicename(snum);
-       int ret;
 
        sconn = talloc_zero(ctx, struct smbd_server_connection);
        if (sconn == NULL) {
@@ -277,16 +275,6 @@ static NTSTATUS create_conn_struct_as_root(TALLOC_CTX *ctx,
                return NT_STATUS_NO_MEMORY;
        }
 
-       /*
-        * We only provide sync threadpools.
-        */
-       ret = pthreadpool_tevent_init(sconn, 0, &sconn->sync_thread_pool);
-       if (ret != 0) {
-               TALLOC_FREE(sconn);
-               return NT_STATUS_NO_MEMORY;
-       }
-       sconn->raw_thread_pool = sconn->sync_thread_pool;
-
        sconn->msg_ctx = msg;
 
        conn = conn_new(sconn);
index 35b5f4d..8e1fcea 100644 (file)
@@ -3907,7 +3907,6 @@ void smbd_process(struct tevent_context *ev_ctx,
        const char *locaddr = NULL;
        const char *remaddr = NULL;
        int ret;
-       size_t max_threads;
        NTSTATUS status;
        struct timeval tv = timeval_current();
        NTTIME now = timeval_to_nttime(&tv);
@@ -3953,20 +3952,7 @@ void smbd_process(struct tevent_context *ev_ctx,
        ret = pthreadpool_tevent_init(sconn, lp_aio_max_threads(),
                                      &sconn->raw_thread_pool);
        if (ret != 0) {
-               exit_server("pthreadpool_tevent_init(raw) failed.");
-       }
-
-       max_threads = pthreadpool_tevent_max_threads(sconn->raw_thread_pool);
-       if (max_threads == 0) {
-               /*
-                * We only have a sync pool, no need to create a 2nd one.
-                */
-               sconn->sync_thread_pool = sconn->raw_thread_pool;
-       } else {
-               ret = pthreadpool_tevent_init(sconn, 0, &sconn->sync_thread_pool);
-               if (ret != 0) {
-                       exit_server("pthreadpool_tevent_init(sync) failed.");
-               }
+               exit_server("pthreadpool_tevent_init() failed.");
        }
 
        if (lp_server_max_protocol() >= PROTOCOL_SMB2_02) {