On Mon, May 10, 2021 at 02:24:49PM +0100, Daniel P. Berrangé wrote:
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(a)redhat.com>
> Signed-off-by: Pavel Hrdina <phrdina(a)redhat.com>
> ---
> 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'"
That's better, thanks, I'll change it before pushing.
> + 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(a)redhat.com>
Pavel