On 6/17/21 7:36 AM, Laine Stump wrote: > Originally qemuDomainAttachNetDevice() would wait until the cleanup at > the very end of the function to add newly hotplugged interfaces to the > domain's nets list. commit 7b8bec4560 modified it to add the new > interface to the nets list earlier (but not all the way at the > beginning of the function either, because there are some operations > (PCI address assignment in particular) that need the new device to not > yet be visible in the domaindef). > > But hostdev interfaces short-circuit past most of the body of > qemuDomainAttachNetDevice() (since none of it applies to hostdev > interfaces). In the past that was okay, but since the line that adds > the new interface to the domaindef's nets list is in that "most of the > body", after that commit hotplugged hostdev interfaces are no longer > being properly added to the domaindef nets list, so they don't show up > in the status XML or the virsh domiflist output. > > It really *is* important to add interfaces to the nets list earlier, > so we can't revert commit 7b8bec4560, and we also can't move the > insert to common code *earlier* in the function, so instead this patch > duplicates the VIR_APPEND_ELEMENT_COPY() just before the code path for > hostdev interfaces jumps to cleanup. > > Resolves: https://bugzilla.redhat.com/1972991 > Fixes: 7b8bec45601b6570f6a7413e94d291986d2663f1 > (any other tags I should add?) > No. > Signed-off-by: Laine Stump <laine@xxxxxxxxxx> > --- > src/qemu/qemu_hotplug.c | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) Reviewed-by: Michal Privoznik <mprivozn@xxxxxxxxxx> Michal