]> git.ipfire.org Git - thirdparty/libvirt.git/commit
qemuDomainDeviceNetDefPostParse: Switch order of conditions
authorMichal Privoznik <mprivozn@redhat.com>
Thu, 25 Jun 2020 07:27:30 +0000 (09:27 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 25 Jun 2020 14:21:26 +0000 (16:21 +0200)
commitfe3840eac792a6eeacef42429e66e42f10b2e299
tree5f91e2e6e024dec37fa2c6efbff0aa0b996cd8e1
parentd95eeb97a3157ba996b1067a0cc792df15b52f39
qemuDomainDeviceNetDefPostParse: Switch order of conditions

A few commits back (in v6.4.0-131-gbdb8f2e418) the post parse
function for domain interface was changed so that it doesn't fill
in model for hostdev types of interfaces (including network type
interfaces which would end up hostdevs).

While the idea is sound, the execution can be a bit better:
virDomainNetResolveActualType() which is used to determine
runtime type of given interface is heavy gun - it connects to
network driver, fetches network XML, parses it. This all is
followed by check whether the interface doesn't already have
model set (from domain XML).

If we switch the order of these two checks then the short circuit
evaluation will ensure the expensive check is done only if really
needed.

This commit in fact fixes qemuxml2xmltest which due to lacking
fake network driver tries to connect to network:///session and
start the virtnetworkd. Fortunately, because of
v6.3.0-25-gf28fbb05d3 it fails to do so and
virDomainNetResolveActualType() returns -1. The only reason we
don't see the test failing is because our input XMLs have model
and thus we are saved by the latter (now former) check.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Laine Stump <laine@redhat.com>
src/qemu/qemu_domain.c