[libvirt] [PATCH v3 00/24] Add support for migration events

Jiri Denemark jdenemar at redhat.com
Fri Jun 19 13:52:02 UTC 2015


On Wed, Jun 10, 2015 at 17:13:12 +0200, Peter Krempa wrote:
> On Wed, Jun 10, 2015 at 15:42:34 +0200, Jiri Denemark wrote:
> > QEMU will soon (patches are available on qemu-devel) get support for
> > migration events which will finally allow us to get rid of polling
> > query-migrate every 50ms. However, we first need to be able to wait for
> > all events related to migration (migration status changes, block job
> > events, async abort requests) at once. This series prepares the
> > infrastructure and uses it to switch all polling loops in migration code
> > to pthread_cond_wait.
> > 
> > https://bugzilla.redhat.com/show_bug.cgi?id=1212077
> > 
> > Version 3 (see individual patches for details):
> > - most of the series has been ACKed in v2
> > - "qemu: Use domain condition for synchronous block jobs" was split in 3
> >   patches for easier review
> > - minor changes requested in v2 review
> > 
> > Version 2 (see individual patches for details):
> > - rewritten using per-domain condition variable
> > - enahnced to fully support the migration events
> > 
> > 
> > Jiri Denemark (24):
> >   conf: Introduce per-domain condition variable
> >   qemu: Introduce qemuBlockJobUpdate
> >   qemu: Properly report failed migration
> >   qemu: Use domain condition for synchronous block jobs
> >   qemu: Cancel storage migration in parallel
> >   qemu: Abort migration early if disk mirror failed
> >   qemu: Don't mess with disk->mirrorState
> >   Pass domain object to private data formatter/parser
> >   qemu: Make qemuMigrationCancelDriveMirror usable without async job
> >   qemu: Refactor qemuMonitorBlockJobInfo
> >   qemu: Cancel disk mirrors after libvirtd restart
> >   qemu: Use domain condition for asyncAbort
> >   qemu_monitor: Wire up SPICE_MIGRATE_COMPLETED event
> >   qemu: Do not poll for spice migration status
> >   qemu: Refactor qemuDomainGetJob{Info,Stats}
> >   qemu: Refactor qemuMigrationUpdateJobStatus
> >   qemu: Don't pass redundant job name around
> >   qemu: Refactor qemuMigrationWaitForCompletion
> >   qemu_monitor: Wire up MIGRATION event
> >   qemuDomainGetJobStatsInternal: Support migration events
> >   qemu: Update migration state according to MIGRATION event
> >   qemu: Wait for migration events on domain condition
> >   qemu: cancel drive mirrors when p2p connection breaks
> 
> ACK to the above ones once qemu accepts the event stuff.

Thanks, I pushed all patches which did not rely on the new MIGRATION
event, in other words, all except the following ones:

    qemu_monitor: Wire up MIGRATION event
    qemuDomainGetJobStatsInternal: Support migration events
    qemu: Update migration state according to MIGRATION event
    qemu: Wait for migration events on domain condition
    DO NOT APPLY: qemu: Work around weird migration status changes

Jirka




More information about the libvir-list mailing list