* Michael S. Tsirkin (m...@redhat.com) wrote: > On Fri, Jan 03, 2020 at 11:44:27AM +0000, Dr. David Alan Gilbert wrote: > > > 1) Guest: writes to slot's pci config > > > 2) QEMU: pcie_cap_slot_write_config -> pcie_unplug_device > > > > > > So, it's only guest driven action and qdev_unplug doesn't help here. > > > > Hmm we need to find a way to stop that; lets see if Michael Tsirkin has > > any ideas (cc'd) - I'm thinking if we could defer the unplug until the > > end of the migration we'd be OK; but it feels racy as to whether the > > destination is started with the device that the guest is unplugging. > > > > Dave > > It's true - and same is possible with PCI, guest can remove device > at will. > > Also, while libvirt learned not to start device del while migration > is active, it's annoying to have to wait for device del > to complete before migration can be started. > > I guess we can make device invisible to guest - that concept > now exists because of failover, and can maybe be reused here. > > Alternatively or additionally - for a while now I wanted to only remove > the device if guest powered it out and removal was requested. Again it > might be easier now that we have a concept of an invisible device.
How do invisible devices wrok? Is that something that each device has to learn about? Would we only make them invisible for migration and then do a full hotunplug on the destination after the migration finishes? Dave > > > -- > MST > -- Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK