since v3:
- fixed some indentation problem in 10/11
- for some reason daemon-side APIs did not follow our function signature
conventions, e.g. if the function name starts with virAdmServer (adminServer
for server-side version), it means that first argument is going to be
virAdmServerPtr (virNetServerPtr for server side), etc., but for some reason, I
named the server-side version adminDaemon, while passing virNetServerPtr as the
first argument
- fixed a bug when setting parameters would return error stating that
minWorkers cannot be larger than maxWorkers for configuration:
maxWorkers = 14 and minWorkers = 13
- replaced srv-workertune command with two commands srv-threadpool-info and
srv-threadpool-set, since it's much easier to extend the set of options for
each command separately than to do some black magic to determine which options
make the command behave as a getter and which ones make it behave as a setter
since v2:
- all getters are now protected by threadpool mutex to prevent torn reads in
concurrent execution
- some checks in adminDispatchServerGetThreadpoolParameters were redundant,
thus were optimizes out
- fixed memory leak in adminDispatchServerGetThreadpoolParameters when
allocating a newlist although typed params serialization already does that
- fixed some cosmetic issues like exporting a function prototype one patch
earlier than it should actually be introduced - a mistake that got there by
interactive rebase
Erik Skultety (11):
po: Fix record ordering in POTFILES.in
libvirt-host: Move virTypedParam* to libvirt-common
admin: Enable usage of typed parameters
util: Refactor thread creation by introducing virThreadPoolExpand
util: Report system error when virThreadCreateFull fails
util: Use a mutex when retrieving threadpool data
util: Add more getters to threadpool parameters
admin: Prepare admin protocol for future worker related procedures
admin: Introduce virAdmServerGethreadPoolParameters
admin: Introduce virAdmServerSetThreadPoolParameters
virt-admin: Introduce srv-threadpool-info and srv-threadpool-set
commands
cfg.mk | 2 +-
daemon/admin.c | 88 +++++++++++++
daemon/admin_server.c | 110 ++++++++++++++++
daemon/admin_server.h | 11 ++
include/libvirt/libvirt-admin.h | 71 +++++++++++
include/libvirt/libvirt-common.h.in | 185 +++++++++++++++++++++++++++
include/libvirt/libvirt-host.h | 186 ----------------------------
po/POTFILES.in | 4 +-
src/admin/admin_protocol.x | 54 +++++++-
src/admin/admin_remote.c | 77 ++++++++++++
src/admin_protocol-structs | 45 +++++++
src/libvirt-admin.c | 83 +++++++++++++
src/libvirt_admin_private.syms | 3 +
src/libvirt_admin_public.syms | 2 +
src/libvirt_private.syms | 4 +
src/rpc/virnetserver.c | 37 ++++++
src/rpc/virnetserver.h | 13 ++
src/util/virthreadpool.c | 241 ++++++++++++++++++++++++++----------
src/util/virthreadpool.h | 8 ++
tools/virt-admin.c | 185 +++++++++++++++++++++++++++
20 files changed, 1152 insertions(+), 257 deletions(-)
--
2.4.11