mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
conf: Extend virDomainDeviceDefPostParse for parseOpaque
Just like virDomainDefPostParseCallback has gained new parseOpaque argument, we need to follow the logic with virDomainDeviceDefPostParse. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
2e056b5c51
commit
78ab5dcea0
@ -77,7 +77,8 @@ bhyveDomainDeviceDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -4423,13 +4423,15 @@ virDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps,
|
virCapsPtr caps,
|
||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
virDomainXMLOptionPtr xmlopt)
|
virDomainXMLOptionPtr xmlopt,
|
||||||
|
void *parseOpaque)
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (xmlopt->config.devicesPostParseCallback) {
|
if (xmlopt->config.devicesPostParseCallback) {
|
||||||
ret = xmlopt->config.devicesPostParseCallback(dev, def, caps, flags,
|
ret = xmlopt->config.devicesPostParseCallback(dev, def, caps, flags,
|
||||||
xmlopt->config.priv);
|
xmlopt->config.priv,
|
||||||
|
parseOpaque);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
@ -4447,6 +4449,7 @@ virDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
struct virDomainDefPostParseDeviceIteratorData {
|
struct virDomainDefPostParseDeviceIteratorData {
|
||||||
virCapsPtr caps;
|
virCapsPtr caps;
|
||||||
virDomainXMLOptionPtr xmlopt;
|
virDomainXMLOptionPtr xmlopt;
|
||||||
|
void *parseOpaque;
|
||||||
unsigned int parseFlags;
|
unsigned int parseFlags;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -4459,7 +4462,8 @@ virDomainDefPostParseDeviceIterator(virDomainDefPtr def,
|
|||||||
{
|
{
|
||||||
struct virDomainDefPostParseDeviceIteratorData *data = opaque;
|
struct virDomainDefPostParseDeviceIteratorData *data = opaque;
|
||||||
return virDomainDeviceDefPostParse(dev, def, data->caps,
|
return virDomainDeviceDefPostParse(dev, def, data->caps,
|
||||||
data->parseFlags, data->xmlopt);
|
data->parseFlags, data->xmlopt,
|
||||||
|
data->parseOpaque);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -4570,6 +4574,7 @@ virDomainDefPostParse(virDomainDefPtr def,
|
|||||||
.caps = caps,
|
.caps = caps,
|
||||||
.xmlopt = xmlopt,
|
.xmlopt = xmlopt,
|
||||||
.parseFlags = parseFlags,
|
.parseFlags = parseFlags,
|
||||||
|
.parseOpaque = parseOpaque,
|
||||||
};
|
};
|
||||||
|
|
||||||
/* this must be done before the hypervisor-specific callback,
|
/* this must be done before the hypervisor-specific callback,
|
||||||
@ -13559,7 +13564,7 @@ virDomainDeviceDefParse(const char *xmlStr,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* callback to fill driver specific device aspects */
|
/* callback to fill driver specific device aspects */
|
||||||
if (virDomainDeviceDefPostParse(dev, def, caps, flags, xmlopt) < 0)
|
if (virDomainDeviceDefPostParse(dev, def, caps, flags, xmlopt, NULL) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
/* validate the configuration */
|
/* validate the configuration */
|
||||||
|
@ -2371,12 +2371,16 @@ typedef int (*virDomainDefPostParseCallback)(virDomainDefPtr def,
|
|||||||
void *opaque,
|
void *opaque,
|
||||||
void *parseOpaque);
|
void *parseOpaque);
|
||||||
/* Called once per device, for adjusting per-device settings while
|
/* Called once per device, for adjusting per-device settings while
|
||||||
* leaving the overall domain otherwise unchanged. */
|
* leaving the overall domain otherwise unchanged.
|
||||||
|
* @parseOpaque is opaque data passed by virDomainDefParse* caller,
|
||||||
|
* @opaque is opaque data set by driver (usually pointer to driver
|
||||||
|
* private data). */
|
||||||
typedef int (*virDomainDeviceDefPostParseCallback)(virDomainDeviceDefPtr dev,
|
typedef int (*virDomainDeviceDefPostParseCallback)(virDomainDeviceDefPtr dev,
|
||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps,
|
virCapsPtr caps,
|
||||||
unsigned int parseFlags,
|
unsigned int parseFlags,
|
||||||
void *opaque);
|
void *opaque,
|
||||||
|
void *parseOpaque);
|
||||||
/* Drive callback for assigning device addresses, called at the end
|
/* Drive callback for assigning device addresses, called at the end
|
||||||
* of parsing, after all defaults and implicit devices have been added. */
|
* of parsing, after all defaults and implicit devices have been added. */
|
||||||
typedef int (*virDomainDefAssignAddressesCallback)(virDomainDef *def,
|
typedef int (*virDomainDefAssignAddressesCallback)(virDomainDef *def,
|
||||||
|
@ -285,7 +285,8 @@ libxlDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
@ -381,7 +381,8 @@ virLXCDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
@ -110,7 +110,8 @@ openvzDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
@ -1109,7 +1109,8 @@ phypDomainDeviceDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2557,7 +2557,8 @@ qemuDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps,
|
virCapsPtr caps,
|
||||||
unsigned int parseFlags,
|
unsigned int parseFlags,
|
||||||
void *opaque)
|
void *opaque,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
virQEMUDriverPtr driver = opaque;
|
virQEMUDriverPtr driver = opaque;
|
||||||
virQEMUCapsPtr qemuCaps = NULL;
|
virQEMUCapsPtr qemuCaps = NULL;
|
||||||
|
@ -410,7 +410,8 @@ umlDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
@ -266,7 +266,8 @@ vboxDomainDeviceDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -97,7 +97,8 @@ vmwareDomainDeviceDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -539,7 +539,8 @@ virVMXDomainDevicesDefPostParse(virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED,
|
|||||||
const virDomainDef *def ATTRIBUTE_UNUSED,
|
const virDomainDef *def ATTRIBUTE_UNUSED,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -288,7 +288,8 @@ vzDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_NET &&
|
if (dev->type == VIR_DOMAIN_DEVICE_NET &&
|
||||||
(dev->data.net->type == VIR_DOMAIN_NET_TYPE_NETWORK ||
|
(dev->data.net->type == VIR_DOMAIN_NET_TYPE_NETWORK ||
|
||||||
|
@ -325,7 +325,8 @@ xenDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
@ -49,7 +49,8 @@ xenapiDomainDeviceDefPostParse(virDomainDeviceDefPtr dev,
|
|||||||
const virDomainDef *def,
|
const virDomainDef *def,
|
||||||
virCapsPtr caps ATTRIBUTE_UNUSED,
|
virCapsPtr caps ATTRIBUTE_UNUSED,
|
||||||
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
unsigned int parseFlags ATTRIBUTE_UNUSED,
|
||||||
void *opaque ATTRIBUTE_UNUSED)
|
void *opaque ATTRIBUTE_UNUSED,
|
||||||
|
void *parseOpaque ATTRIBUTE_UNUSED)
|
||||||
{
|
{
|
||||||
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
if (dev->type == VIR_DOMAIN_DEVICE_CHR &&
|
||||||
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
dev->data.chr->deviceType == VIR_DOMAIN_CHR_DEVICE_TYPE_CONSOLE &&
|
||||||
|
Loading…
x
Reference in New Issue
Block a user