libvirt/src/qemu
Peter Krempa 55d175c073 qemuBackupJobTerminate: Fix job termination for inactive VMs
Commit cb29e4e801 didn't take into account that the VM can be inactive
when it's destroyed. This means that the job would remain active also
when the VM became inactive.

To fix this properly:

1) Remove the bogus VM liveness check and early return
    (reverts the aforementioned commit)

2) Conditionalize the stats assignment only when the stats object is
   present
    (properly fix the crash when VM dies when reconnecting)

3) end the asyncjob only when it was already set
   (prevent corruption of priv->jobs_queued)

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1937598
Fixes: cb29e4e801
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2021-03-12 10:59:05 +01:00
..
EVENTHANDLERS.txt
libvirt_qemu_probes.d
libvirtd_qemu.aug qemu: conf: Introduce "migrate_tls_force" qemu.conf option 2020-11-24 17:59:26 +01:00
meson.build build: Remove unused 'conflicts' key from virt_daemon_unit 2021-02-10 09:30:41 -07:00
MIGRATION.txt
qemu_agent.c glib: Use safe glib event workaround in other event loops 2021-03-05 10:17:26 +01:00
qemu_agent.h qemu: Drop has_ccw_address from _qemuAgentDiskAddress 2021-01-04 14:53:08 +01:00
qemu_alias.c qemu_alias: introduce qemuDomainGetVhostUserAlias helper 2021-02-03 18:56:33 +01:00
qemu_alias.h qemu_alias: introduce qemuDomainGetVhostUserAlias helper 2021-02-03 18:56:33 +01:00
qemu_backup.c qemuBackupJobTerminate: Fix job termination for inactive VMs 2021-03-12 10:59:05 +01:00
qemu_backup.h util: hash: Retire 'virHashTable' in favor of 'GHashTable' 2020-11-06 10:40:51 +01:00
qemu_block.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
qemu_block.h qemu: implement vhost-user-blk support 2021-02-03 18:56:34 +01:00
qemu_blockjob.c qemu: blockjob: Use qemuMonitorBitmapRemove for single bitmap removal 2021-02-20 13:21:21 +01:00
qemu_blockjob.h
qemu_capabilities.c virQEMUCapsInitQMPArch: Refactor cleanup 2021-03-10 19:57:49 +01:00
qemu_capabilities.h qemu: probe for -vnc audiodev property 2021-03-09 22:58:33 +00:00
qemu_capspriv.h qemu: report whether a machine type is deprecated in capabilities 2021-02-03 17:30:52 +00:00
qemu_cgroup.c cgroup: use virCgroupSetCpuShares instead of virCgroupSetupCpuShares 2021-03-04 11:13:28 +01:00
qemu_cgroup.h
qemu_checkpoint.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
qemu_checkpoint.h qemu: rename: support renaming checkpoints directory 2020-11-13 14:49:50 +03:00
qemu_command.c qemu: wire up support for backend specific audio settings 2021-03-09 22:58:53 +00:00
qemu_command.h qemu: Do not Use canonical path for system memory 2021-02-11 08:43:14 +01:00
qemu_conf.c Replace virStringListLength by g_strv_length 2021-02-11 17:05:34 +01:00
qemu_conf.h qemu: Don't cache NUMA caps 2020-12-07 11:32:40 +01:00
qemu_dbus.c qemu: Convert 'priv->dbusVMStateIds' to a GSList 2021-02-11 17:05:32 +01:00
qemu_dbus.h qemu: Convert 'priv->dbusVMStateIds' to a GSList 2021-02-11 17:05:32 +01:00
qemu_domain_address.c qemu: Release <memory/> device address on failed hotplug 2021-02-08 20:05:08 +01:00
qemu_domain_address.h qemu: Release <memory/> device address on failed hotplug 2021-02-08 20:05:08 +01:00
qemu_domain.c qemu: populate <audio> element with default config 2021-03-09 22:58:30 +00:00
qemu_domain.h qemu: domain: Store list of temporary bitmaps for migration in status XML 2021-02-20 13:21:21 +01:00
qemu_domainjob.c qemu_domainjob: Make copy of owner API 2021-02-25 09:55:31 +01:00
qemu_domainjob.h
qemu_driver.c qemu: add per-vcpu delay stats 2021-03-09 13:35:05 +01:00
qemu_driver.h
qemu_extdevice.c qemu_tpm: Generate log file path among with storage path 2021-03-02 09:45:49 +01:00
qemu_extdevice.h
qemu_firmware.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
qemu_firmware.h
qemu_hostdev.c hostdevmgr: remove unneeded oldStateDir 2021-02-02 00:27:58 -05:00
qemu_hostdev.h
qemu_hotplug.c qemu_hotplug: Don't dereference NULL pointer @newb in qemuDomainChangeNet() 2021-02-16 09:05:33 +01:00
qemu_hotplug.h
qemu_interface.c qemu: remove redundant code that adds "template" netdev name 2020-12-16 21:31:57 -05:00
qemu_interface.h qemu: honour fatal errors dealing with qemu slirp helper 2020-10-27 12:03:19 +00:00
qemu_interop_config.c qemuInteropFetchConfigs: Don't use 'virStringListAdd' to construct list 2021-02-11 17:05:32 +01:00
qemu_interop_config.h
qemu_migration_cookie.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
qemu_migration_cookie.h qemu: migration_cookie: Add helpers for transforming the cookie into migration params 2021-02-20 13:21:21 +01:00
qemu_migration_params.c virJSONValueArrayAppend: Clear pointer when taking ownership of passed value 2021-02-20 13:26:37 +01:00
qemu_migration_params.h qemu: migration_params: Add infrastructure for 'dirty-bitmaps' migration feature 2021-02-20 13:21:21 +01:00
qemu_migration_paramspriv.h
qemu_migration.c qemuMigrationSrcRun: Don't jump to 'exit_monitor' from outside of the monitor 2021-03-09 13:27:43 +01:00
qemu_migration.h
qemu_monitor_json.c Use g_steal_pointer where possible 2021-03-01 15:54:42 +01:00
qemu_monitor_json.h qemu: monitor: Introduce qemuMonitorBitmapRemove 2021-02-20 13:21:21 +01:00
qemu_monitor_priv.h
qemu_monitor_text.c
qemu_monitor_text.h
qemu_monitor.c glib: Use safe glib event workaround in other event loops 2021-03-05 10:17:26 +01:00
qemu_monitor.h qemu: monitor: Introduce qemuMonitorBitmapRemove 2021-02-20 13:21:21 +01:00
qemu_namespace.c lib: Replace virFileMakePath() with g_mkdir_with_parents() 2021-03-04 20:52:23 +01:00
qemu_namespace.h
qemu_process.c backup: Store 'apiFlags' in private section of virDomainBackupDef 2021-03-12 10:59:05 +01:00
qemu_process.h
qemu_processpriv.h
qemu_qapi.c Replace virStringSplit with g_strsplit 2021-02-11 17:05:34 +01:00
qemu_qapi.h util: hash: Retire 'virHashTable' in favor of 'GHashTable' 2020-11-06 10:40:51 +01:00
qemu_saveimage.c qemu: saveimage: only steal domXML on success 2021-02-18 17:14:47 +01:00
qemu_saveimage.h
qemu_security.c
qemu_security.h
qemu_shim.c qemu_shim: URI escape root directory 2021-02-12 17:59:42 +01:00
qemu_slirp.c qemu: Convert 'priv->dbusVMStateIds' to a GSList 2021-02-11 17:05:32 +01:00
qemu_slirp.h
qemu_snapshot.c qemuSnapshotFSFreeze: Don't return -2 2021-02-16 12:25:30 +01:00
qemu_snapshot.h
qemu_tpm.c virCommandSetSendBuffer: Provide saner semantics 2021-03-05 15:33:34 +01:00
qemu_tpm.h
qemu_validate.c qemu: wire up support for backend specific audio settings 2021-03-09 22:58:53 +00:00
qemu_validate.h virDomainDefValidate: Add per-run 'opaque' data 2020-12-09 09:33:47 +01:00
qemu_vhost_user_gpu.c
qemu_vhost_user_gpu.h
qemu_vhost_user.c Replace virStringListLength by g_strv_length 2021-02-11 17:05:34 +01:00
qemu_vhost_user.h
qemu_virtiofs.c
qemu_virtiofs.h
qemu.conf qemu: conf: Introduce "migrate_tls_force" qemu.conf option 2020-11-24 17:59:26 +01:00
test_libvirtd_qemu.aug.in qemu: conf: Introduce "migrate_tls_force" qemu.conf option 2020-11-24 17:59:26 +01:00
THREADS.txt
virtqemud.init.in
virtqemud.service.in
virtqemud.sysconf