libvirt/src/qemu
Daniel Henrique Barboza 9665b27dba qemuProcessRefreshCPU: skip 'host-model' logic for pSeries guests
Commit v3.10.0-182-g237f045d9a ("qemu: Ignore fallback CPU attribute
on reconnect") forced CPU 'fallback' to ALLOW, regardless of user
choice. This fixed a situation in which guests created with older
Libvirt versions, which used CPU mode 'host-model' in runtime, would
fail to launch in a newer Libvirt if the fallback was set to FORBID.
This would lead to a scenario where the CPU was translated to 'host-model'
to 'custom', but then the FORBID setting would make the translation
process fail.

PSeries can operate with 'host-model' in runtime due to specific PPC64
mechanics regarding compatibility mode. The update() implementation of
the cpuDriverPPC64 driver is a NO-OP if CPU mode is 'host-model', and
the driver does not implement translate(). The commit mentioned above
is causing PSeries guests to get their 'fallback' setting to ALLOW,
overwriting user choice, exposing a design problem in
qemuProcessRefreshCPU() - for PSeries guests, handling 'host-model'
as it is being done does not apply.

All other cpuArchDrivers implements update() and changes guest mode
to VIR_CPU_MODE_CUSTOM, meaning that PSeries is currently the only
exception to this logic. Let's make it official.

https://bugzilla.redhat.com/show_bug.cgi?id=1660711

Suggested-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20200525123945.4049591-2-danielhb413@gmail.com>
Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
2020-05-25 16:20:25 +02:00
..
EVENTHANDLERS.txt
libvirtd_qemu.aug qemu-conf: add configurable dbus-daemon location 2020-03-24 15:57:33 +01:00
Makefile.inc.am qemu: move qemuDomainDefValidateFeatures to qemu_validate.c 2020-04-03 16:25:30 +02:00
MIGRATION.txt
qemu_agent.c src: Fix boolean assignment 2020-05-05 13:08:57 +02:00
qemu_agent.h qemuAgentGetFSInfo: expose 'report_unsupported' argument 2020-03-25 13:13:18 +01:00
qemu_alias.c qemu_alias.c: fix qemuAssingDeviceMemballoonAlias() typo 2020-05-18 07:52:00 +02:00
qemu_alias.h qemu: add dbus-vmstate helper migration support 2020-03-24 15:57:33 +01:00
qemu_backup.c qemu: Refuse blockjobs on disk bus='sd' with -blockdev 2020-05-12 06:55:00 +02:00
qemu_backup.h backup: Store error message for failed backups 2020-04-24 08:56:57 +02:00
qemu_block.c qemuBlockStorageSourceCreateFormat: Force write access when formatting images 2020-05-12 06:56:09 +02:00
qemu_block.h qemu: block: Support VIR_DOMAIN_BLOCK_COMMIT/PULL/REBASE_RELATIVE with blockdev 2020-03-30 16:28:48 +02:00
qemu_blockjob.c qemuBlockJobDataDisposeJobdata: Free data.commit.disabledBitmapsBase 2020-05-14 11:45:29 +02:00
qemu_blockjob.h qemuBlockJobUpdate: Remove return value 2020-04-03 09:34:49 +02:00
qemu_capabilities.c qemu: Invalidate capabilities when host CPU changes 2020-05-25 16:10:04 +02:00
qemu_capabilities.h qemu: Track numa-mem-supported machine attribute 2020-05-18 10:23:05 +02:00
qemu_capspriv.h qemu: Invalidate capabilities when host CPU changes 2020-05-25 16:10:04 +02:00
qemu_cgroup.c qemu: do not allow /dev/rtc or /dev/hpet access via the devices cgroup 2020-05-19 10:04:06 +02:00
qemu_cgroup.h
qemu_checkpoint.c qemu: Refuse blockjobs on disk bus='sd' with -blockdev 2020-05-12 06:55:00 +02:00
qemu_checkpoint.h
qemu_command.c qemu: Prepare for testing of 'netdev_add' props via qemuxml2argvtest 2020-05-20 09:41:58 +02:00
qemu_command.h qemu: Prepare for testing of 'netdev_add' props via qemuxml2argvtest 2020-05-20 09:41:58 +02:00
qemu_conf.c qemu: only return two values in virQEMUDriverConfigLoadMemoryEntry 2020-05-20 14:47:56 +02:00
qemu_conf.h qemu: Make memory path generation embed driver aware 2020-04-07 15:26:32 +02:00
qemu_dbus.c qemu-dbus: register DBus bus to the VM cgroup 2020-04-22 09:58:10 +02:00
qemu_dbus.h qemu-dbus: register DBus bus to the VM cgroup 2020-04-22 09:58:10 +02:00
qemu_domain_address.c qemu/conf: set HOTPLUGGABLE connect flag during PCI address set init 2020-04-12 22:39:51 -04:00
qemu_domain_address.h
qemu_domain.c qemu: domain: Forbid unsupported 'tftp' protocol and handle tests 2020-05-20 09:41:57 +02:00
qemu_domain.h qemu: Refuse blockjobs on disk bus='sd' with -blockdev 2020-05-12 06:55:00 +02:00
qemu_driver.c qemu: Prepare for testing of 'netdev_add' props via qemuxml2argvtest 2020-05-20 09:41:58 +02:00
qemu_driver.h
qemu_extdevice.c qemu-dbus: register DBus bus to the VM cgroup 2020-04-22 09:58:10 +02:00
qemu_extdevice.h qemu: pass virDomainObjPtr to qemuExtDevicesSetupCgroup 2020-03-04 12:08:50 +01:00
qemu_firmware.c util: json: Convert virJSONValueNewObject() to g_new0 2020-03-05 11:31:38 +01:00
qemu_firmware.h
qemu_hostdev.c virsh: include virutil.h where used 2020-02-24 23:15:50 +01:00
qemu_hostdev.h
qemu_hotplug.c qemuMonitorAddNetdev: Convert to the native JSON props object 2020-05-20 09:41:58 +02:00
qemu_hotplug.h qemu: add dbus-vmstate helper migration support 2020-03-24 15:57:33 +01:00
qemu_interface.c qemu: Drop virQEMUDriverIsPrivileged() 2020-04-07 15:26:15 +02:00
qemu_interface.h
qemu_interop_config.c virsh: include virutil.h where used 2020-02-24 23:15:50 +01:00
qemu_interop_config.h
qemu_migration_cookie.c qemu: Add free and copy function for qemuDomainJobInfo and use it 2020-04-24 08:56:57 +02:00
qemu_migration_cookie.h
qemu_migration_params.c qemu: fix hang in p2p + xbzrle compression + parallel migration 2020-04-16 09:53:04 +02:00
qemu_migration_params.h
qemu_migration_paramspriv.h
qemu_migration.c qemu: Add free and copy function for qemuDomainJobInfo and use it 2020-04-24 08:56:57 +02:00
qemu_migration.h
qemu_monitor_json.c qemuMonitorAddNetdev: Convert to the native JSON props object 2020-05-20 09:41:58 +02:00
qemu_monitor_json.h qemuMonitorAddNetdev: Convert to the native JSON props object 2020-05-20 09:41:58 +02:00
qemu_monitor_priv.h
qemu_monitor_text.c qemu_monitor_text.c: Use g_autofree 2020-03-24 14:52:45 +01:00
qemu_monitor_text.h
qemu_monitor.c qemuMonitorAddNetdev: Convert to the native JSON props object 2020-05-20 09:41:58 +02:00
qemu_monitor.h qemuMonitorAddNetdev: Convert to the native JSON props object 2020-05-20 09:41:58 +02:00
qemu_process.c qemuProcessRefreshCPU: skip 'host-model' logic for pSeries guests 2020-05-25 16:20:25 +02:00
qemu_process.h qemu: Prepare for testing of 'netdev_add' props via qemuxml2argvtest 2020-05-20 09:41:58 +02:00
qemu_processpriv.h
qemu_qapi.c
qemu_qapi.h
qemu_security.c qemu: Label restore path outside of secdriver transactions 2020-04-17 16:24:30 +02:00
qemu_security.h qemu: Tell secdrivers which images are top parent 2020-03-09 14:14:55 +01:00
qemu_shim.c qemu_shim: Ignore SIGPIPE 2020-03-05 11:24:51 +01:00
qemu_slirp.c slirp: add helper to VM cgroup 2020-04-22 09:58:10 +02:00
qemu_slirp.h slirp: add helper to VM cgroup 2020-04-22 09:58:10 +02:00
qemu_tpm.c Drop needless variable 2020-05-05 11:19:34 +02:00
qemu_tpm.h
qemu_validate.c qemu: reject readonly attribute for virtiofs 2020-05-13 12:35:03 +02:00
qemu_validate.h qemu: validate: Validate blkdeviotune settings in the validator 2020-05-12 06:54:59 +02:00
qemu_vhost_user_gpu.c Remove virutil.h where possible 2020-02-24 23:15:49 +01:00
qemu_vhost_user_gpu.h
qemu_vhost_user.c util: json: Convert virJSONValueNewObject() to g_new0 2020-03-05 11:31:38 +01:00
qemu_vhost_user.h qemu: use the vhost-user schemas to find binary 2020-03-04 12:08:50 +01:00
qemu_virtiofs.c qemuVirtioFSStop: Simplify daemon kill 2020-03-24 15:54:31 +01:00
qemu_virtiofs.h qemu: use the vhost-user schemas to find binary 2020-03-04 12:08:50 +01:00
qemu.conf qemu: conf: fix stray comma 2020-05-19 10:59:33 +02:00
test_libvirtd_qemu.aug.in qemu: do not allow /dev/rtc or /dev/hpet access via the devices cgroup 2020-05-19 10:04:06 +02:00
THREADS.txt
virtqemud.init.in
virtqemud.service.in systemd: Move timeout from service files to sysconf files 2020-04-03 11:50:50 +02:00
virtqemud.sysconf qemu: Allow audio driver override in virtqemud 2020-04-03 11:50:57 +02:00