Ok, I think this might actually make everyone happy, but I've been known to be wrong about that many times before. Juan challenged me to find an rtl8139 migration scenario that fails when hotplug is not involved (and not switch device creation order since that's a usage bug). I couldn't come up with one. We had been arguing that a subsection didn't make sense for the change to rtl8139 vmstate because the needed function would be {return 1}. but what if we could detect if the VM had done any other hotplugs and only include the subsection in those cases. That's what this short series does.
So, I hope Juan is happy because this preserves the migration ABI for the majority of the use cases, and I hope Michael is happy because it does so using a subsection. Thanks, Alex --- Alex Williamson (2): rtl8139: Use subsection to restrict migration after hotplug qdev: Track runtime machine modifications hw/qdev.c | 10 ++++++++++ hw/qdev.h | 1 + hw/rtl8139.c | 28 +++++++++++++++++++++++++++- 3 files changed, 38 insertions(+), 1 deletions(-)