[libvirt] [PATCH] qemu: Need to check for machine.os when using ADDRESS_TYPE_CCW
Ján Tomko
jtomko at redhat.com
Wed Sep 2 13:47:45 UTC 2015
On Mon, Aug 31, 2015 at 01:00:25PM -0400, John Ferlan wrote:
> https://bugzilla.redhat.com/show_bug.cgi?id=1258361
>
> When attaching a disk or rng when providing an address type ccw, we need
> to ensure the machine.os is valid for the target guest. Checks are made
> when the address type is not provided, but if provided the os.machine
> check is bypassed.
Incomplete, attaching a scsi controller with a ccw address on an x86_64
still crashes the daemon after this patch.
>
> For an inactive guest, an addition followed by a start would cause the
> startup to fail after qemu_command builds the command line and attempts
> to start the guest. For an active guest, libvirtd would crash.
>
> Signed-off-by: John Ferlan <jferlan at redhat.com>
> ---
>
> NOTE:
> For 'rng' in qemu_command - rather than change each of the if..else if..
> conditions to have the {}, I just made the check up front.
>
> Also while I could separate these into disk and rng - since it's the same
> fix for the same problem it just seem "proper" to include both in same patch
>
> src/qemu/qemu_command.c | 15 +++++++++++++++
> src/qemu/qemu_hotplug.c | 21 ++++++++++++++++++---
> 2 files changed, 33 insertions(+), 3 deletions(-)
>
> diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
> index abc57d7..ecdec2c 100644
> --- a/src/qemu/qemu_command.c
> +++ b/src/qemu/qemu_command.c
> @@ -4296,6 +4296,13 @@ qemuBuildDriveDevStr(virDomainDefPtr def,
>
> case VIR_DOMAIN_DISK_BUS_VIRTIO:
> if (disk->info.type == VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) {
> + if (!STREQLEN(def->os.machine, "s390-ccw", 8)) {
Maybe we need a 'qemuDomainMachineIsS390CCW' helper?
Jan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20150902/e55ac23f/attachment-0001.sig>
More information about the libvir-list
mailing list