On Fri, Feb 16, 2024 at 07:46:01 -0800, Andrea Bolognani wrote: > On Fri, Feb 16, 2024 at 04:09:12PM +0100, Peter Krempa wrote: > > On Wed, Feb 14, 2024 at 18:11:16 +0100, Andrea Bolognani wrote: > > > + /* Make sure the 'none' USB controller doesn't have an address > > > + * associated with it, as that would trip up later checks */ > > > + if (cont->model == VIR_DOMAIN_CONTROLLER_MODEL_USB_NONE) > > > + cont->info.type = VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE; > > > > One thing I'm slightly unsure about is whether the removal of address > > won't have effect on generation of other addresses and thus in certain > > very weird situations could trip up the virDomainDefCheckABIStability check. > > > > Since the usb controller itself was never seen by the guest ABI that > > part will be okay, but not reserving the address for it could cause > > issues. > > > > Now for migration this shouldn't be a problem unless somebody is passing > > very weird migration XMLs. > > > > For new VMs it can theoretically cause re-ordering of devices on the PCI > > bus. > > For new VMs, the guest ABI has not been set in stone yet so even if > devices and controllers were to be shuffled around it wouldn't > matter. > > For existing VMs, all addressess will have been recorded in the > domain XML and libvirt would never attempt to change them. Note that historically we've considered that in most cases a partial XML to be freshly defined or used with virDomainCreateXML() should be ABI compatible with how we've treated it historically. It is in certain cases not practical/possible, but generally this should be kept as much as possible. Basically we can't decide to remove an auto-added device. For shuffling addresses around, while we shouldn't do just for the heck of it, it can be a reasonable change. If a user cares about the address they should put it into the XML. > The point about migration is potentially a good one though. The > incoming XML will have the (default) model and address, but after > parsing they will be gone. Will that trip the ABI stability check? No, unless you're providing a custom migration XML there's no ABI stability check happening. The XML formatted by libvirt is considered to be authoritative and well-enough defined. Additionally there's nothing to check the ABI against, as the source of the migration is simply declaring what's happening. > I'm never sure at what point of the process that gets executed, and > on which inputs. _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx