On 04/04/2013 02:10 PM, Peter Krempa wrote: > This patch implements the devices post parse cllback and uses it to fill > the default qemu network card model into the XML if none is specified. > > Libvirt assumes that the network card model for qemu is the "rtl8139". > Record this in the XML using the new callback to avoid user > confusion. > + if (dev->type == VIR_DOMAIN_DEVICE_NET && > + dev->data.net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV) { > + if (!dev->data.net->model && > + !(dev->data.net->model = strdup("rtl8139"))) > + goto no_memory; > + } Not sure about other architectures, but this will break s390. You should squash in something similar to (hope t-bird isn't breaking format again): diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index e5e9223..c3a7aff 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -678,7 +678,7 @@ qemuDomainDefPostParse(virDomainDefPtr def, static int qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, - virDomainDefPtr def ATTRIBUTE_UNUSED, + virDomainDefPtr def, virCapsPtr caps ATTRIBUTE_UNUSED, void *opaque) { @@ -688,9 +688,15 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev, if (dev->type == VIR_DOMAIN_DEVICE_NET && dev->data.net->type != VIR_DOMAIN_NET_TYPE_HOSTDEV) { + const char *model = NULL; + if (def->os.arch == VIR_ARCH_S390 || + def->os.arch == VIR_ARCH_S390X) + model = "virtio"; + else + model = "rtl8139"; if (!dev->data.net->model && - !(dev->data.net->model = strdup("rtl8139"))) - goto no_memory; + !(dev->data.net->model = strdup(model))) + goto no_memory; } /* set default disk types and drivers */ -- Mit freundlichen Grüßen/Kind Regards Viktor Mihajlovski IBM Deutschland Research & Development GmbH Vorsitzender des Aufsichtsrats: Martina Köderitz Geschäftsführung: Dirk Wittkopp Sitz der Gesellschaft: Böblingen Registergericht: Amtsgericht Stuttgart, HRB 243294 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list