On 2015-01-15 17:11:49, Paolo Bonzini wrote: > > On 15/01/2015 04:54, Zhang Haoyu wrote: > >>>> > >> 2) Finer-grain control the parameters of block migration (dirty > >>>> > >> bitmap > >>>> > >> granularity). > >>>> > >> > >>>> > >> 3) Block and RAM migration do not share the same socket and thus can > >>>> > >> more easily be parallelized. > >>>> > >> > > drive_mirror job is done in main-thread, > > then how to accept the qmp_migrate request while drive_mirror is performing? > > If need to wait for the completion of drive_mirror, > > how to implement the parallelization between block and ram migration? > > drive_mirror runs in the background, using coroutines. > I see, when waiting the completion of drive_mirror IO, the coroutine will be switched back to main-thread to poll and process other events, like qmp request, then after the IO completed, coroutine will be switched back in main-loop process, right?
Another question: while starting to migrate storage, will the unused sector be allocated and transferred? regarding the thin-provisioning qcow2 disk, will extra large IO requests be performed, and more data be transferred for the unallocated clusters? Thanks, Zhang Haoyu > Paolo