From: Pavel Hrdina Date: Mon, 9 May 2016 12:20:08 +0000 (+0200) Subject: qemu_process: separate graphics port reservation X-Git-Tag: v1.3.5-rc1~318 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=446aebbcf6124799f2fb376bc1b83ba8c6e4bd3a;p=thirdparty%2Flibvirt.git qemu_process: separate graphics port reservation Signed-off-by: Pavel Hrdina --- diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 22b27b35a5..f110a66ad3 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -4348,12 +4348,10 @@ qemuProcessStartHook(virQEMUDriverPtr driver, static int -qemuProcessSetupGraphics(virQEMUDriverPtr driver, - virDomainObjPtr vm) +qemuProcessGraphicsReservePorts(virQEMUDriverPtr driver, + virDomainObjPtr vm) { - virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); size_t i; - int ret = -1; for (i = 0; i < vm->def->ngraphics; ++i) { virDomainGraphicsDefPtr graphics = vm->def->graphics[i]; @@ -4362,7 +4360,7 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver, if (virPortAllocatorSetUsed(driver->remotePorts, graphics->data.vnc.port, true) < 0) - goto cleanup; + return -1; graphics->data.vnc.portReserved = true; } else if (graphics->type == VIR_DOMAIN_GRAPHICS_TYPE_SPICE && @@ -4371,7 +4369,7 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver, if (virPortAllocatorSetUsed(driver->remotePorts, graphics->data.spice.port, true) < 0) - goto cleanup; + return -1; graphics->data.spice.portReserved = true; } @@ -4379,12 +4377,27 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver, if (virPortAllocatorSetUsed(driver->remotePorts, graphics->data.spice.tlsPort, true) < 0) - goto cleanup; + return -1; graphics->data.spice.tlsPortReserved = true; } } } + return 0; +} + + +static int +qemuProcessSetupGraphics(virQEMUDriverPtr driver, + virDomainObjPtr vm) +{ + virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver); + size_t i; + int ret = -1; + + if (qemuProcessGraphicsReservePorts(driver, vm) < 0) + goto cleanup; + for (i = 0; i < vm->def->ngraphics; ++i) { virDomainGraphicsDefPtr graphics = vm->def->graphics[i];