[PATCH] libxl: Set auto-allocated graphics ports to used on reconnect
Jim Fehlig
jfehlig at suse.com
Mon Feb 7 21:16:16 UTC 2022
On 2/7/22 06:38, Ján Tomko wrote:
> On a Friday in 2022, Jim Fehlig wrote:
>> The libxl driver reconnects to all running VMs when libvirtd is restarted,
>> but it failed to mark auto-allocated graphics ports as set in the port
>> allocator. If many VMs are running that use port auto-allocation and
>> libvirtd is restarted, the port allocator is likely to hand out a port
>> already in use when a new VM is created that uses auto-allocation. VM
>> creation will fail due to the port clash.
>>
>
> In the QEMU driver, we also mark user-specified ports in the allocator,
> to let it now it should skip them. But I suppose people worried about
> clashes do not use those.
On one hand I dislike the allocator keeping track of stuff it didn't allocated,
but on the other it is a resiliency improvement to consider.
>> When reconnecting to running VMs after a libvirtd restart, let the port
>> allocator know about previously allocated ports.
>>
>> Signed-off-by: Jim Fehlig <jfehlig at suse.com>
>> ---
>>
>> Like 31e937fb3b, another item unaccounted for when reconnecting to VMs
>> after a daemon restart.
>>
>> src/libxl/libxl_driver.c | 23 +++++++++++++++++++++++
>> 1 file changed, 23 insertions(+)
>>
>
> Reviewed-by: Ján Tomko <jtomko at redhat.com>
>
> However, I did not find a virPortAllocatorRelease call for the spice
> port in src/libxl (for VNC it's done in libxlDomainCleanup )
Thanks a lot for checking and bringing it to my attention! I've sent a patch to
improve the port release logic
https://listman.redhat.com/archives/libvir-list/2022-February/msg00252.html
Regards,
Jim
More information about the libvir-list
mailing list