Re: [PATCH v3 10/36] network: move fixup for domain actual net def out of network driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Mar 21, 2019 at 10:33:30PM -0400, Laine Stump wrote:
> On 3/19/19 8:46 AM, Daniel P. Berrangé wrote:
> > The hypervisor drivers are soon going to communicate with the network
> > driver via public APIs only. As such the network driver will not ever
> > see the domain actual network def. Thus the backwards compatibility
> > fixup logic must be moved out of the network driver.
> > 
> > Signed-off-by: Daniel P. Berrangé <berrange@xxxxxxxxxx
> > ---
> >   src/conf/domain_conf.c      | 25 +++++++++++++++++++++++++
> >   src/network/bridge_driver.c | 20 --------------------
> >   2 files changed, 25 insertions(+), 20 deletions(-)
> > 
> > diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
> > index 99b75e26f3..35d965d2a3 100644
> > --- a/src/conf/domain_conf.c
> > +++ b/src/conf/domain_conf.c
> > @@ -30210,6 +30210,7 @@ virDomainNetNotifyActualDevice(virConnectPtr conn,
> >                                  virDomainDefPtr dom,
> >                                  virDomainNetDefPtr iface)
> >   {
> > +    virDomainNetType actualType = virDomainNetGetActualType(iface);
> >       virNetworkPtr net = NULL;
> >       if (!netNotify)
> > @@ -30218,6 +30219,30 @@ virDomainNetNotifyActualDevice(virConnectPtr conn,
> >       if (!(net = virNetworkLookupByName(conn, iface->data.network.name)))
> >           return;
> > +    /* if we're restarting libvirtd after an upgrade from a version
> > +     * that didn't save bridge name in actualNetDef for
> > +     * actualType==network, we need to copy it in so that it will be
> > +     * available in all cases
> > +     */
> > +    if (actualType == VIR_DOMAIN_NET_TYPE_NETWORK &&
> > +        !iface->data.network.actual->data.bridge.brname) {
> > +        char *bridge = virNetworkGetBridgeName(net);
> > +        if (!bridge)
> > +            goto cleanup;
> > +        VIR_FREE(iface->data.network.actual->data.bridge.brname);
> > +        iface->data.network.actual->data.bridge.brname = bridge;
> > +    }
> > +
> 
> 
> The above code was added in libvirt 1.2.11 in December 2014. It seems nearly
> impossible that someone would be upgrading from a libvirt that was 1.2.10 or
> older straight to libvirt-5.2.0 *without rebooting their host*. For this
> reason, I think the above code can/should be retired.

Yeah, I think that's probably ok

> 
> 
> Reviewed-by: Laine Stump <laine@xxxxxxxxx>
> 
> 
> (either way, whether you decide to leave that code in or not.)
> 

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 :|

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux