Re: [PATCH] qemu: Don't leave beingDestroyed=true on inactive domain

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Jul 11, 2024 at 14:55:17 +0200, Jiri Denemark wrote:
> Recent commit v10.4.0-87-gd9935a5c4f made a reasonable change to only
> reset beingDestroyed back to false when vm->def->id is reset to make
> sure other code can detect a domain is (about to become) inactive. It
> even added a comment saying any caller of qemuProcessBeginStopJob is
> supposed to call qemuProcessStop to clear beingDestroyed. But not every
> caller really does so because they first call qemuProcessBeginStopJob
> and then check whether a domain is still running. If not the
> qemuProcessStop call is skipped leaving beingDestroyed=true. In case of
> a persistent domain this may block incoming migrations of such domain as
> the migration code would think the domain died unexpectedly (even though
> it's still running).
> 
> The qemuProcessBeginStopJob function is a wrapper around
> virDomainObjBeginJob, but virDomainObjEndJob was used directly for
> cleanup. This patch introduces a new qemuProcessEndStopJob wrapper
> around virDomainObjEndJob to properly undo everything
> qemuProcessBeginStopJob did.
> 
> https://issues.redhat.com/browse/RHEL-43309
> 
> Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx>
> ---
>  src/qemu/qemu_driver.c  |  4 ++--
>  src/qemu/qemu_process.c | 20 ++++++++++++++++----
>  src/qemu/qemu_process.h |  1 +
>  3 files changed, 19 insertions(+), 6 deletions(-)

For consistency you should also fix qemuProcessAutoDestroy which uses
qemuProcessBeginStopJob even when it doesn't jump out before calling
qemuProcessStop.

Reviewed-by: Peter Krempa <pkrempa@xxxxxxxxxx>



[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux