At 01/19/2011 12:51 AM, Eric Blake Write: > Fixes regression introduced in commit 2211518, where all qemu 0.12.x > fails to start, as does qemu 0.13.x lacking the pci-assign device. > > * src/qemu/qemu_capabilities.c (qemuCapsExtractVersionInfo): Check > for -device driver,? support. > (qemuCapsExtractDeviceStr): Avoid failure if all probed devices > are unsupported. > Reported by Ken Congyang. s/Ken/Wen/ This patch seems fine to me. > --- > > src/qemu/qemu_capabilities.c | 13 ++++++++++--- > 1 files changed, 10 insertions(+), 3 deletions(-) > > diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c > index 1f0a3c2..faf7d44 100644 > --- a/src/qemu/qemu_capabilities.c > +++ b/src/qemu/qemu_capabilities.c > @@ -1048,10 +1048,14 @@ qemuCapsExtractDeviceStr(const char *qemu, > > /* Cram together all device-related queries into one invocation; > * the output format makes it possible to distinguish what we > - * need. Unrecognized '-device bogus,?' cause an error in > - * isolation, but are silently ignored in combination with > - * '-device ?'. */ > + * need. With qemu 0.13.0 and later, unrecognized '-device > + * bogus,?' cause an error in isolation, but are silently ignored > + * in combination with '-device ?'. Qemu 0.12.x doesn't > + * understand '-device name,?', and always exits with status 1 for > + * the simpler '-device ?', so this function is really only useful > + * for parsing out features added in 0.13.0 or later. */ > cmd = virCommandNewArgList(qemu, > + "-device", "?", > "-device", "pci-assign,?", > "-device", "virtio-blk-pci,?", > NULL); > @@ -1119,7 +1123,10 @@ int qemuCapsExtractVersionInfo(const char *qemu, > &version, &is_kvm, &kvm_version) == -1) > goto cleanup; > > + /* Only call qemuCapsExtractDeviceStr for qemu 0.13.0+, since it > + * won't set any additional flags for qemu 0.12.x. */ > if ((flags & QEMUD_CMD_FLAG_DEVICE) && > + strstr(help, "-device driver,?") && > qemuCapsExtractDeviceStr(qemu, &flags) < 0) > goto cleanup; > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list