On Mon, May 10, 2021 at 03:16:11PM +0200, Pavel Hrdina wrote: > When QEMU introduces new firmware features libvirt will fail until we > list that feature in our code as well which doesn't sound right. > > We should simply ignore the new feature until we add a proper support > for it. > > Reported-by: Laszlo Ersek <lersek@xxxxxxxxxx> > Signed-off-by: Pavel Hrdina <phrdina@xxxxxxxxxx> > --- > src/qemu/qemu_firmware.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/src/qemu/qemu_firmware.c b/src/qemu/qemu_firmware.c > index 94e88ebe4b..e37a7edefa 100644 > --- a/src/qemu/qemu_firmware.c > +++ b/src/qemu/qemu_firmware.c > @@ -567,6 +567,7 @@ qemuFirmwareFeatureParse(const char *path, > virJSONValue *featuresJSON; > g_autoptr(qemuFirmwareFeature) features = NULL; > size_t nfeatures; > + size_t nparsed = 0; > size_t i; > > if (!(featuresJSON = virJSONValueObjectGetArray(doc, "features"))) { > @@ -586,17 +587,16 @@ qemuFirmwareFeatureParse(const char *path, > int tmp; > > if ((tmp = qemuFirmwareFeatureTypeFromString(tmpStr)) <= 0) { > - virReportError(VIR_ERR_INTERNAL_ERROR, > - _("unknown feature %s"), > - tmpStr); > - return -1; > + VIR_DEBUG("unknown feature %s", tmpStr) I'd suggest "ignoring unknown QEMU firmware feature '%s'" > + continue; > } > > - features[i] = tmp; > + features[nparsed] = tmp; > + nparsed++; > } > > fw->features = g_steal_pointer(&features); > - fw->nfeatures = nfeatures; > + fw->nfeatures = nparsed; > return 0; > } Reviewed-by: Daniel P. Berrangé <berrange@xxxxxxxxxx> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|