[libvirt] [PATCH v4 12/20] conf: add privateData to virDomainVideoDef
Cole Robinson
crobinso at redhat.com
Fri Sep 20 20:42:33 UTC 2019
On 9/13/19 8:50 AM, marcandre.lureau at redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau at redhat.com>
>
> Signed-off-by: Marc-André Lureau <marcandre.lureau at redhat.com>
> ---
> src/conf/domain_conf.c | 26 +++++++++++++++++---------
> src/conf/domain_conf.h | 7 +++++--
> 2 files changed, 22 insertions(+), 11 deletions(-)
>
> diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> index 9e1c8babf8..e99e52dc5e 100644
> --- a/src/conf/domain_conf.c
> +++ b/src/conf/domain_conf.c
> @@ -2820,13 +2820,19 @@ void virDomainShmemDefFree(virDomainShmemDefPtr def)
>
>
> virDomainVideoDefPtr
> -virDomainVideoDefNew(void)
> +virDomainVideoDefNew(virDomainXMLOptionPtr xmlopt)
> {
> virDomainVideoDefPtr def;
>
> if (VIR_ALLOC(def) < 0)
> return NULL;
>
> + if (xmlopt && xmlopt->privateData.videoNew &&
> + !(def->privateData = xmlopt->privateData.videoNew())) {
> + VIR_FREE(def);
> + return NULL;
> + }
> +
> def->heads = 1;
> return def;
> }
> @@ -2858,6 +2864,7 @@ void virDomainVideoDefFree(virDomainVideoDefPtr def)
> return;
>
> virDomainVideoDefClear(def);
> + virObjectUnref(def->privateData);
> VIR_FREE(def);
> }
>
> @@ -5681,7 +5688,8 @@ virDomainDefPostParseVideo(virDomainDefPtr def,
>
> static int
> virDomainDefPostParseCommon(virDomainDefPtr def,
> - struct virDomainDefPostParseDeviceIteratorData *data)
> + struct virDomainDefPostParseDeviceIteratorData *data,
> + virDomainXMLOptionPtr xmlopt)
> {
> size_t i;
>
> @@ -5716,7 +5724,7 @@ virDomainDefPostParseCommon(virDomainDefPtr def,
> if (virDomainDefPostParseTimer(def) < 0)
> return -1;
>
> - if (virDomainDefAddImplicitDevices(def) < 0)
> + if (virDomainDefAddImplicitDevices(def, xmlopt) < 0)
> return -1;
>
> if (virDomainDefPostParseVideo(def, data) < 0)
> @@ -5842,7 +5850,7 @@ virDomainDefPostParse(virDomainDefPtr def,
> if (virDomainDefPostParseCheckFailure(def, parseFlags, ret) < 0)
> goto cleanup;
>
> - if ((ret = virDomainDefPostParseCommon(def, &data)) < 0)
> + if ((ret = virDomainDefPostParseCommon(def, &data, xmlopt)) < 0)
> goto cleanup;
>
> if (xmlopt->config.assignAddressesCallback) {
> @@ -15450,7 +15458,7 @@ virDomainVideoDefParseXML(virDomainXMLOptionPtr xmlopt,
> VIR_AUTOFREE(char *) vgamem = NULL;
> VIR_AUTOFREE(char *) primary = NULL;
>
> - if (!(def = virDomainVideoDefNew()))
> + if (!(def = virDomainVideoDefNew(xmlopt)))
> return NULL;
>
> ctxt->node = node;
> @@ -23771,7 +23779,7 @@ virDomainDefAddImplicitControllers(virDomainDefPtr def)
> }
>
> static int
> -virDomainDefAddImplicitVideo(virDomainDefPtr def)
> +virDomainDefAddImplicitVideo(virDomainDefPtr def, virDomainXMLOptionPtr xmlopt)
newline inbetween the arguments here, and all other similar locations
in src/vz there's a usage of virDomainDefAddImplicitDevices which will
need xmlopt passed in too. Otherwise:
Reviewed-by: Cole Robinson <crobinso at redhat.com>
- Cole
More information about the libvir-list
mailing list