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