[libvirt] [PATCH 0/3] libxl migration improvements
Michal Privoznik
mprivozn at redhat.com
Thu Nov 13 13:04:19 UTC 2014
On 13.11.2014 03:36, Jim Fehlig wrote:
> This series of patches fixes problems discovered in libxl migration.
>
> The first patch fixes an issue that went undetected while testing the
> initial implementation of migration. Receiving migration data occurs
> in the context of an event loop callback, effectively blocking the
> event loop during the entire migration process. The patch moves the
> work of receiving migration data to a thread.
>
> Interestingly, this issue manifested in a failed migration due to failed
> keepalives, which would kill virsh's connection to dst host. The dst host
> failed to respond to keepalives since its event loop was blocked on
> receiving migration data. Ultimately the migration perform phase would
> succeed leaving a running domain on dst. However, the subsequent finish
> phase would fail since virsh's connection to dst had been killed by the
> keepalive failure. Since finish failed, the confirm phase would resume
> the domain on src. Yikes! Same domain running on two different hosts :(.
>
> Patches 2 and 3 improve handling of errors in the event the perform or
> finish phases of migration fail. See the individual patches for details.
>
>
> Jim Fehlig (3):
> libxl: Receive migration data in a thread
> libxl: start domain paused on migration dst
> libxl: destroy domain in migration finish phase on failure
>
> src/libxl/libxl_migration.c | 75 ++++++++++++++++++++++++++++++---------------
> 1 file changed, 51 insertions(+), 24 deletions(-)
>
ACK series, but see my comment to 1/3.
Michal
More information about the libvir-list
mailing list