summaryrefslogtreecommitdiffstats
path: root/rpc/rpc-lib/src/autoscale-threads.c
diff options
context:
space:
mode:
authorKaleb S. KEITHLEY <kkeithle@redhat.com>2018-03-02 17:04:49 -0500
committerKaleb S. KEITHLEY <kkeithle@redhat.com>2018-03-05 09:25:17 -0500
commit2bb17551a597b382d77bb5ebc2671b45565cd542 (patch)
tree2743fc73f99ec97f40591d850792c54ed97428f9 /rpc/rpc-lib/src/autoscale-threads.c
parent2347debbaf229707b1d957d67cefbe999cbd52d4 (diff)
build: address linkage issues
We have the following undefined symbol error from protocol/server.so: glusterfs_mgmt_pmap_signout glusterfs_autoscale_threads See https://review.gluster.org/19225 (bz#1532238) and https://review.gluster.org/19657 (bz#1550895) (why are there two different bzs for the same bug?) IMO this is a cleaner solution. I.e. moving the above two functions to libgfrpc (.../rpc/rpc-lib/...) I would also, for (foolish) consistency sake, like to see glusterfs_mgmt_pmap_signin() moved from glusterfsd to libgfrpc as well. This works on f28/rawhide, with its new, more restrictive run-time link semantics. The smoke and regression tests on earlier fedora and centos will confirm that it works on those platforms too. Change-Id: I9cfbd1cc15e7ebd9fc31b56ac791287fa2c584de BUG: 1550895 Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
Diffstat (limited to 'rpc/rpc-lib/src/autoscale-threads.c')
-rw-r--r--rpc/rpc-lib/src/autoscale-threads.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/rpc/rpc-lib/src/autoscale-threads.c b/rpc/rpc-lib/src/autoscale-threads.c
new file mode 100644
index 00000000000..33ba58c490b
--- /dev/null
+++ b/rpc/rpc-lib/src/autoscale-threads.c
@@ -0,0 +1,23 @@
+/*
+ Copyright (c) 2018 Red Hat, Inc. <http://www.redhat.com>
+ This file is part of GlusterFS.
+
+ This file is licensed to you under your choice of the GNU Lesser
+ General Public License, version 3 or any later version (LGPLv3 or
+ later), or the GNU General Public License, version 2 (GPLv2), in all
+ cases as published by the Free Software Foundation.
+*/
+
+#include "event.h"
+#include "rpcsvc.h"
+
+void
+rpcsvc_autoscale_threads (glusterfs_ctx_t *ctx, rpcsvc_t *rpc, int incr)
+{
+ struct event_pool *pool = ctx->event_pool;
+ int thread_count = pool->eventthreadcount;
+
+ pool->auto_thread_count += incr;
+ (void) event_reconfigure_threads (pool, thread_count+incr);
+ rpcsvc_ownthread_reconf (rpc, pool->eventthreadcount);
+}