On Fri, May 07, 2021 at 05:46:44PM +0800, Kunkun Jiang wrote: > Hi Dave, > > On 2021/5/6 21:05, Dr. David Alan Gilbert wrote: > > * Kunkun Jiang (jiangkun...@huawei.com) wrote: > > > Hi all, > > Hi, > > > > > Recently I am learning about the part of live migration. > > > I have a question about the last round. > > > > > > When the pending_size is less than the threshold, it will enter > > > the last round and call migration_completion(). It will stop the > > > source and sent the remaining dirty pages and devices' status > > > information to the destination. The destination will load these > > > information and start the VM. > > > > > > If there is an error at the destination at this time, it will exit > > > directly, and the source will not be able to detect the error > > > and recover. Because the source will not call > > > migration_detect_error(). > > > > > > Is my understanding correct? > > > Should the source wait the result of the last round of destination ? > > Try setting the 'return-path' migration capability on both the source > > and destination; I think it's that option will cause the destination to > > send an OK/error at the end and the source to wait for it. > Thank you for your reply! > The 'return-path' migration capability solved my question. 😁 > > But why not set it as the default? In my opinion, it is a basic ability > of live migration. We need it to judge whether the last round of the > destination is successful in the way of 'precopy'.
I think it should be enabled as long as both sides support it; though may not be suitable as default (at least in QEMU) so as to consider old binaries. Thanks, -- Peter Xu