[PATCH] libxl: Defer starting job until migration perform phase

Jim Fehlig jfehlig at suse.com
Wed Jul 12 22:09:27 UTC 2023


On 7/10/23 17:00, Jim Fehlig wrote:
> On 7/7/23 14:17, Jim Fehlig wrote:
>> Currently the libxl driver calls virDomainObjBeginJob in the begin
>> phase of migration on the source host, expecting to call virDomainObjEndJob
>> in the confirm phase. But the confirm phase is never executed if the
>> prepare or perform phases fail. The job was already being terminated
>> in the perform phase in case of failure, but there is no way to do that
>> if the prepare phase fails since it runs on the destination host.
>>
>> Move the call to virDomainObjBeginJob to the perform phase. It can be
>> terminated there in the event of failure. On success, the confirm phase
>> will be executed, ensuring the job is terminated.
> 
> After taking another look at the job handling code in libxl_migration.c, and 
> reviewing the documentation for VIR_MIGRATE_CHANGE_PROTECTION, I realize the 
> libxl driver is making a weak attempt at implementing CHANGE_PROTECTION without 
> advertising it. I need to do a bit more thinking/testing if the current attempt 
> is strong enough, and if so drop this patch in favor of simply advertising 
> support for CHANGE_PROTECTION.

FTR, self-NACK this patch in favor of

https://listman.redhat.com/archives/libvir-list/2023-July/240681.html

Regards,
Jim



More information about the libvir-list mailing list