On (Tue) Mar 09 2010 [14:15:45], Juan Quintela wrote: > > Hi Amit Hey Juan,
> Checking migration, I just found this problem: > > I don't know what to put there. a return -EINVAL or continue? > Looking more at the code, I am not sure what checks: > > a- that bus->max_nr_ports is the same in both sides (or at least bigger > on migration destination) Yes, we should check for this. > b- We sent the value of config.nr_ports, but ... we assign it back on > destination, instead of checking that they are the same. This is done to accomodate for hot-plug/unplug. nr_ports will go up / down after those operations. (Current implementation only increases this value, on hotplug operations. On hot-unplug, this value is not decremented.) > c- port->id is taken from nr_ports again, and nothing checks that ports > appear in the same order in source and destination. Actually, this has me thinking about how would this work: - start vm with 3 ports - hotplug 2 more ports - migrate Would the destination have 5 ports, or would it have 3? I thought qdev would take care of this scenario (hotplug). I don't think I've tested this, so I'll do this soon, but in case anyone knows the answer, please let me know. [snipped patch that's necessary in case qdev doesn't handle this kind of hotplug] Amit -- http://log.amitshah.net/