On 12/13/2012 07:44 PM, Eric Blake wrote: > On 12/13/2012 05:40 PM, Laine Stump wrote: >> When a network device's bridge connection is changed by >> virDomainUpdateDevice, libvirt first removes the netdev's tap from its >> old bridge, then adds it to the new bridge. Sometimes, due to a >> network being destroyed while a guest device is still attached, the >> tap may already be "removed" from the old bridge (or the old bridge >> may not even exist any more); the existing code was needlessly failing >> the update when this happened, making it impossible to recover from >> the situation without completely detaching (i.e. removing) the netdev >> from the guest and re-attaching. >> >> Instead of failing the entire operation when removal of the tap from >> the old bridge fails, this patch changes qemuDomainChangeNetBridge to >> just log a warning and continue, allowing a reasonable recover from >> the situation. >> >> (you'll appreciate this change if you ever accidentally destroy a >> network while your guests are still using it). > Hmm, I think that may have happened to me while testing dnsmasq fixes > lately, and I probably just chalked it up to user error... Depends on your definition of user error :-) If you stop and start a network that has guests attached, the guests will not be reattached to the bridge. In order to restore proper operation, you'll need to update-device each network device moving it to a different bridge, then back to the original. >> --- >> src/qemu/qemu_hotplug.c | 10 ++++++++-- >> 1 file changed, 8 insertions(+), 2 deletions(-) > Matches the commit message, which makes sense. ACK. Pushed. Thanks! -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list