The virNetworkPortDef config stores the 'managed' attribute
as the virTristate type.
The virDomainDef config stores the 'managed' attribute as
the bool type.
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
src/conf/domain_conf.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 3dc638f0de..ae196cac52 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -30688,7 +30688,15 @@ virDomainNetDefActualFromNetworkPort(virDomainNetDefPtr iface,
actual->data.hostdev.def.parentnet = iface;
actual->data.hostdev.def.info = &iface->info;
actual->data.hostdev.def.mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS;
- actual->data.hostdev.def.managed = port->plug.hostdevpci.managed;
+ switch (port->plug.hostdevpci.managed) {
+ case VIR_TRISTATE_BOOL_YES:
+ actual->data.hostdev.def.managed = true;
+ break;
+ case VIR_TRISTATE_BOOL_ABSENT:
+ case VIR_TRISTATE_BOOL_NO:
+ actual->data.hostdev.def.managed = false;
+ break;
+ }
actual->data.hostdev.def.source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI;
actual->data.hostdev.def.source.subsys.u.pci.addr = port->plug.hostdevpci.addr;
switch ((virNetworkForwardDriverNameType)port->plug.hostdevpci.driver) {
@@ -30820,7 +30828,10 @@ virDomainNetDefActualToNetworkPort(virDomainDefPtr dom,
iface->ifname);
goto error;
}
- port->plug.hostdevpci.managed = actual->data.hostdev.def.managed;
+ if (actual->data.hostdev.def.managed)
+ port->plug.hostdevpci.managed = VIR_TRISTATE_BOOL_YES;
+ else
+ port->plug.hostdevpci.managed = VIR_TRISTATE_BOOL_NO;
port->plug.hostdevpci.addr = actual->data.hostdev.def.source.subsys.u.pci.addr;
switch ((virDomainHostdevSubsysPCIBackendType)actual->data.hostdev.def.source.subsys.u.pci.backend) {
case VIR_DOMAIN_HOSTDEV_PCI_BACKEND_DEFAULT:
--
2.21.0
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
On 9/12/19 5:05 PM, Daniel P. Berrangé wrote: > The virNetworkPortDef config stores the 'managed' attribute > as the virTristate type. > > The virDomainDef config stores the 'managed' attribute as > the bool type. > > Signed-off-by: Daniel P. Berrangé <berrange@redhat.com> > --- > src/conf/domain_conf.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) > > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c > index 3dc638f0de..ae196cac52 100644 > --- a/src/conf/domain_conf.c > +++ b/src/conf/domain_conf.c > @@ -30688,7 +30688,15 @@ virDomainNetDefActualFromNetworkPort(virDomainNetDefPtr iface, > actual->data.hostdev.def.parentnet = iface; > actual->data.hostdev.def.info = &iface->info; > actual->data.hostdev.def.mode = VIR_DOMAIN_HOSTDEV_MODE_SUBSYS; > - actual->data.hostdev.def.managed = port->plug.hostdevpci.managed; > + switch (port->plug.hostdevpci.managed) { > + case VIR_TRISTATE_BOOL_YES: > + actual->data.hostdev.def.managed = true; > + break; > + case VIR_TRISTATE_BOOL_ABSENT: > + case VIR_TRISTATE_BOOL_NO: > + actual->data.hostdev.def.managed = false; > + break; > + } > actual->data.hostdev.def.source.subsys.type = VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI; > actual->data.hostdev.def.source.subsys.u.pci.addr = port->plug.hostdevpci.addr; > switch ((virNetworkForwardDriverNameType)port->plug.hostdevpci.driver) { > @@ -30820,7 +30828,10 @@ virDomainNetDefActualToNetworkPort(virDomainDefPtr dom, > iface->ifname); > goto error; > } > - port->plug.hostdevpci.managed = actual->data.hostdev.def.managed; > + if (actual->data.hostdev.def.managed) > + port->plug.hostdevpci.managed = VIR_TRISTATE_BOOL_YES; > + else > + port->plug.hostdevpci.managed = VIR_TRISTATE_BOOL_NO; Or just use virTristateBoolFromBool(). Unfortunately, we don't have a counterpart to use in the first hunk. Reviewed-by: Michal Privoznik <mprivozn@redhat.com> Michal -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
© 2016 - 2024 Red Hat, Inc.