• D
    Avoid blocking all APIs during incoming migration · 755b53f9
    Daniel P. Berrange 提交于
    During incoming migration the QEMU monitor is not able to be
    used. The incoming migration code did not keep hold of the
    job lock because migration is split across multiple API calls.
    This meant that further monitor commands on the guest would
    hang until migration finished with no timeout.
    
    In this change the qemuDomainMigratePrepare method sets the
    job flag just before it returns. The qemuDomainMigrateFinish
    method checks for this job flag & clears it once done. This
    prevents any use of the monitor between prepare+finish steps.
    
    The qemuDomainGetJobInfo method is also updated to refresh
    the job elapsed time. This means that virsh domjobinfo can
    return time data during incoming migration
    
    * src/qemu/qemu_driver.c: Keep a job active during incoming
      migration. Refresh job elapsed time when returning job info
    755b53f9
qemu_driver.c 378.8 KB