On Sun, Jun 05, 2016 at 02:36:04AM +0200, Martin Kletzander wrote: > Historically, we added heads=1 to videos, but for example for qxl, we > did not reflect that on the command line. Implementing that now could > mean that if user were to migrate from older to newer libvirt, the > command-line for qemu would differ. In order for that not to happen a > migration cookie flag is introduced. Remove the migration cookie from commit message. > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1283207 > > Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx> > --- > src/qemu/qemu_command.c | 8 ++++ > src/qemu/qemu_migration.c | 1 - > .../qemuxml2argv-video-qxl-heads.args | 28 +++++++++++++ > .../qemuxml2argv-video-qxl-heads.xml | 47 ++++++++++++++++++++++ > .../qemuxml2argv-video-qxl-noheads.args | 24 +++++++++++ > .../qemuxml2argv-video-qxl-noheads.xml | 39 ++++++++++++++++++ > tests/qemuxml2argvtest.c | 16 ++++++++ > .../qemuxml2xmlout-video-qxl-heads.xml | 47 ++++++++++++++++++++++ > .../qemuxml2xmlout-video-qxl-noheads.xml | 39 ++++++++++++++++++ > tests/qemuxml2xmltest.c | 3 ++ > 10 files changed, 251 insertions(+), 1 deletion(-) > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.args > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.xml > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.args > create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.xml > create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-qxl-heads.xml > create mode 100644 tests/qemuxml2xmloutdata/qemuxml2xmlout-video-qxl-noheads.xml > > diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c > index 368bd871f7e3..60b0049f3d22 100644 > --- a/src/qemu/qemu_command.c > +++ b/src/qemu/qemu_command.c > @@ -4199,6 +4199,14 @@ qemuBuildDeviceVideoStr(const virDomainDef *def, > /* QEMU accepts mebibytes for vgamem_mb. */ > virBufferAsprintf(&buf, ",vgamem_mb=%u", video->vgamem / 1024); > } > + > + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_VGA_MAX_OUTPUTS) && > + virQEMUCapsGet(qemuCaps, QEMU_CAPS_QXL_MAX_OUTPUTS)) { > + if (video->heads) > + virBufferAsprintf(&buf, ",max_outputs=%u", video->heads); > + } else { > + video->heads = 0; > + } Same as for the first patch, qxl and qxl-vga are different devices. Currently we have qxl-vga only as primary video device and qxl only as secondary. You should pair the capabilities with the correct video device like we do for vram64. > } else if (video->vram && > ((video->type == VIR_DOMAIN_VIDEO_TYPE_VGA && > virQEMUCapsGet(qemuCaps, QEMU_CAPS_VGA_VGAMEM)) || > diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c > index c5b2963d65b6..bed5f0b581b9 100644 > --- a/src/qemu/qemu_migration.c > +++ b/src/qemu/qemu_migration.c > @@ -3131,7 +3131,6 @@ qemuMigrationBeginPhase(virQEMUDriverPtr driver, > if (nmigrate_disks) { > if (has_drive_mirror) { > size_t i, j; > - Unrelated white space change. > /* Check user requested only known disk targets. */ > for (i = 0; i < nmigrate_disks; i++) { > for (j = 0; j < vm->def->ndisks; j++) { > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.args > new file mode 100644 > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.xml b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-heads.xml > new file mode 100644 > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.args b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.args > new file mode 100644 > diff --git a/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.xml b/tests/qemuxml2argvdata/qemuxml2argv-video-qxl-noheads.xml > new file mode 100644 > diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c > index db42b7bd71be..716755b39827 100644 > --- a/tests/qemuxml2argvtest.c > +++ b/tests/qemuxml2argvtest.c > @@ -1972,6 +1972,22 @@ mymain(void) > DO_TEST("ppc64-usb-controller-legacy", > QEMU_CAPS_PIIX3_USB_UHCI); > > + DO_TEST("video-qxl-heads", > + QEMU_CAPS_DEVICE_VIDEO_PRIMARY, > + QEMU_CAPS_VGA_QXL, > + QEMU_CAPS_DEVICE_QXL_VGA, > + QEMU_CAPS_DEVICE_QXL, > + QEMU_CAPS_QXL_MAX_OUTPUTS, > + QEMU_CAPS_QXL_VGA_MAX_OUTPUTS); > + > + DO_TEST("video-qxl-noheads", > + QEMU_CAPS_DEVICE_VIDEO_PRIMARY, > + QEMU_CAPS_VGA_QXL, > + QEMU_CAPS_DEVICE_QXL_VGA, > + QEMU_CAPS_DEVICE_QXL, > + QEMU_CAPS_QXL_MAX_OUTPUTS, > + QEMU_CAPS_QXL_VGA_MAX_OUTPUTS); > + Please move it next to other video-qxl tests. > DO_TEST_PARSE_FLAGS_ERROR("missing-machine", > VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS, > NONE); > diff --git a/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-qxl-heads.xml b/tests/qemuxml2xmloutdata/qemuxml2xmlout-video-qxl-heads.xml > new file mode 100644 ACK with the defect fixed. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list