mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 21:55:25 +00:00
qemu_process: graphics: extract port allocation into function
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
This commit is contained in:
parent
eaa20e68b3
commit
675f9bde2b
@ -4047,6 +4047,44 @@ qemuProcessGraphicsReservePorts(virQEMUDriverPtr driver,
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuProcessGraphicsAllocatePorts(virQEMUDriverPtr driver,
|
||||
virDomainGraphicsDefPtr graphics,
|
||||
bool allocate)
|
||||
{
|
||||
virDomainGraphicsListenDefPtr glisten;
|
||||
|
||||
if (graphics->nListens <= 0)
|
||||
return 0;
|
||||
|
||||
glisten = &graphics->listens[0];
|
||||
|
||||
if (glisten->type != VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS &&
|
||||
glisten->type != VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK)
|
||||
return 0;
|
||||
|
||||
switch (graphics->type) {
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
|
||||
if (qemuProcessVNCAllocatePorts(driver, graphics, allocate) < 0)
|
||||
return -1;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
if (qemuProcessSPICEAllocatePorts(driver, graphics, allocate) < 0)
|
||||
return -1;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
qemuProcessGraphicsSetupNetworkAddress(virDomainGraphicsListenDefPtr glisten,
|
||||
const char *listenAddr)
|
||||
@ -4176,27 +4214,8 @@ qemuProcessSetupGraphics(virQEMUDriverPtr driver,
|
||||
for (i = 0; i < vm->def->ngraphics; ++i) {
|
||||
virDomainGraphicsDefPtr graphics = vm->def->graphics[i];
|
||||
|
||||
if (graphics->nListens > 0 &&
|
||||
(graphics->listens[0].type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_ADDRESS ||
|
||||
graphics->listens[0].type == VIR_DOMAIN_GRAPHICS_LISTEN_TYPE_NETWORK)) {
|
||||
switch (graphics->type) {
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_VNC:
|
||||
if (qemuProcessVNCAllocatePorts(driver, graphics, allocate) < 0)
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SPICE:
|
||||
if (qemuProcessSPICEAllocatePorts(driver, graphics, allocate) < 0)
|
||||
goto cleanup;
|
||||
break;
|
||||
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_SDL:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_RDP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_DESKTOP:
|
||||
case VIR_DOMAIN_GRAPHICS_TYPE_LAST:
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (qemuProcessGraphicsAllocatePorts(driver, graphics, allocate) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (qemuProcessGraphicsSetupListen(driver, graphics, vm) < 0)
|
||||
goto cleanup;
|
||||
|
Loading…
Reference in New Issue
Block a user