Skip to content
Commits on Jun 22, 2010
  1. @juanquintela

    Factorize common migration incoming code

    juanquintela committed with Anthony Liguori
    Signed-off-by: Juan Quintela <>
    Signed-off-by: Anthony Liguori <>
Commits on Mar 17, 2010
  1. @juanquintela

    migration: unix migration should obey autostart are the other ones

    juanquintela committed with Anthony Liguori
    This was the only incoming migration without autostart check
    Signed-off-by: Juan Quintela <>
    Signed-off-by: Anthony Liguori <>
  2. @juanquintela

    migration: Clear fd also in error cases

    juanquintela committed with Anthony Liguori
    Not clearing the fd and closing the file makes qemu spin using 100%CPU
    after incoming migration error.
    See for instance bug:
    Signed-off-by: Juan Quintela <>
    Signed-off-by: Anthony Liguori <>
Commits on Feb 6, 2010
  1. @moosotc

    Do not use dprintf

    moosotc committed
    dprintf is already claimed by POSIX[1], and on at least one system
    is implemented as a macro
    Signed-off-by: malc <>
Commits on Dec 18, 2009
  1. @berrange

    Avoid permanently disabled QEMU monitor when UNIX migration fails

    berrange committed with Anthony Liguori
    If a UNIX migration command is attempt to a UNIX socket which does
    not exist, then the monitor is suspended, but never resumed. This
    prevents any further use of the monitor
    * migration-unix.c: Only call migrate_fd_monitor_suspend() once
      connected to the UNIX socket.
       Signed-off-by: Daniel P. Berrange <>
    Signed-off-by: Anthony Liguori <>
Commits on Dec 3, 2009
  1. Don't leak file descriptors

    Kevin Wolf committed with Anthony Liguori
    We're leaking file descriptors to child processes. Set FD_CLOEXEC on file
    descriptors that don't need to be passed to children to stop this misbehaviour.
    Signed-off-by: Kevin Wolf <>
    Signed-off-by: Anthony Liguori <>
  2. @jan-kiszka

    live migration: Propagate output monitor to callback handler

    jan-kiszka committed with Anthony Liguori
    In order to allow proper progress reporting to the monitor that
    initiated the migration, forward the monitor reference through the
    migration layer down to SaveLiveStateHandler.
    Signed-off-by: Jan Kiszka <>
    Signed-off-by: Anthony Liguori <>
Commits on Nov 17, 2009
  1. @liranschour

    Block live migration

    liranschour committed with Anthony Liguori
    This patch introduces block migration called during live migration. Block
    are being copied to the destination in an async way. First the code will
    transfer the whole disk and then transfer all dirty blocks accumulted during
    the migration.
    Still need to improve transition from the iterative phase of migration to the
    end phase. For now transition will take place when all blocks transfered once,
    all the dirty blocks will be transfered during the end phase (guest is
    Changes from v4:
    - Global variabels moved to a global state structure allocated dynamically.
    - Minor coding style issues.
    - Poll block.c for tracking of dirty blocks instead of manage it here.
    Signed-off-by: Liran Schour <>
    Signed-off-by: Anthony Liguori <>
Commits on Aug 24, 2009
  1. Migration via unix sockets.

    Chris Lalancette committed with Anthony Liguori
    Implement migration via unix sockets.  While you can fake this using
    exec and netcat, this involves forking another process and is
    generally not very nice.  By doing this directly in qemu, we can avoid
    the copy through the external nc command.  This is useful for
    implementations (such as libvirt) that want to do "secure" migration;
    we pipe the data on the sending side into the unix socket, libvirt
    picks it up, encrypts it, and transports it, and then on the remote
    side libvirt decrypts it, dumps it to another unix socket, and
    feeds it into qemu.
    The implementation is straightforward and looks very similar to
    migration-exec.c and migration-tcp.c
    Signed-off-by: Chris Lalancette <>
    Signed-off-by: Anthony Liguori <>
Something went wrong with that request. Please try again.