[libvirt] [PATCH v3 02/36] network: pass a virNetworkPtr to port management APIs
Daniel P. Berrangé
berrange at redhat.com
Fri Mar 22 14:47:34 UTC 2019
On Thu, Mar 21, 2019 at 08:49:38PM -0400, Cole Robinson wrote:
> On 3/19/19 8:46 AM, Daniel P. Berrangé wrote:
> > The APIs for allocating/notifying/removing network ports just take
> > an internal domain interface struct right now. As a step towards
> > turning these into public facing APIs, add a virNetworkPtr argument
> > to all of them.
> >
> > Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> > ---
> > src/conf/domain_conf.c | 40 ++++++++++++++++++++----
> > src/conf/domain_conf.h | 18 +++++++----
> > src/libxl/libxl_domain.c | 30 +++++++++++++-----
> > src/libxl/libxl_driver.c | 26 +++++++++++-----
> > src/lxc/lxc_driver.c | 24 +++++++++++---
> > src/lxc/lxc_process.c | 24 +++++++++-----
> > src/network/bridge_driver.c | 54 ++++++++++++++++++--------------
> > src/qemu/qemu_hotplug.c | 62 +++++++++++++++++++++++++++----------
> > src/qemu/qemu_process.c | 30 +++++++++++++-----
> > 9 files changed, 223 insertions(+), 85 deletions(-)
> >
>
> Like I mentioned in patch #1, it seems like we could move the
> virConnectPtr conn = virGetConnectNetwork() into the domain_conf.c
> functions. virDomainNetResolveActualType in domain_conf.c already does
> similar.
>
> The only reason I can think of is that it saves double opening the
> connection in some error paths but that doesn't seem to be enough to
> justify the nastyness of sprinkling these calls everywhere
Avoiding opening the connection many times is exactly the reason.
It gets very inefficient when having many NICs. I don't think
this code is nasty as it is & we've done much the same for the
other drivers we've already split.
> Also I'd suggest naming the 'conn' variable consistently 'netconn' if
> only to make it more clear what driver we are talking about.
>
> One other side bit: virGetConnectNetwork() calls virConnectOpen() which
> is a public API, complete with calling ResetLastError and DispatchError.
> That seems wrong? Seems like it should call an internal function that
> doesn't skips those calls. Not the fault of this patch series though
Hmm, applies to all the other helpers too. Will have to think about
fixing that.
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 :|
More information about the libvir-list
mailing list