Skip to content
  • Alexander Graf's avatar
    8118f095
    migration: Append JSON description of migration stream · 8118f095
    Alexander Graf authored
    
    
    One of the annoyances of the current migration format is the fact that
    it's not self-describing. In fact, it's not properly describing at all.
    Some code randomly scattered throughout QEMU elaborates roughly how to
    read and write a stream of bytes.
    
    We discussed an idea during KVM Forum 2013 to add a JSON description of
    the migration protocol itself to the migration stream. This patch
    adds a section after the VM_END migration end marker that contains
    description data on what the device sections of the stream are composed of.
    
    This approach is backwards compatible with any QEMU version reading the
    stream, because QEMU just stops reading after the VM_END marker and ignores
    any data following it.
    
    With an additional external program this allows us to decipher the
    contents of any migration stream and hopefully make migration bugs easier
    to track down.
    
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
    8118f095
    migration: Append JSON description of migration stream
    Alexander Graf authored
    
    
    One of the annoyances of the current migration format is the fact that
    it's not self-describing. In fact, it's not properly describing at all.
    Some code randomly scattered throughout QEMU elaborates roughly how to
    read and write a stream of bytes.
    
    We discussed an idea during KVM Forum 2013 to add a JSON description of
    the migration protocol itself to the migration stream. This patch
    adds a section after the VM_END migration end marker that contains
    description data on what the device sections of the stream are composed of.
    
    This approach is backwards compatible with any QEMU version reading the
    stream, because QEMU just stops reading after the VM_END marker and ignores
    any data following it.
    
    With an additional external program this allows us to decipher the
    contents of any migration stream and hopefully make migration bugs easier
    to track down.
    
    Signed-off-by: default avatarAlexander Graf <agraf@suse.de>
    Signed-off-by: default avatarAmit Shah <amit.shah@redhat.com>
    Signed-off-by: default avatarJuan Quintela <quintela@redhat.com>
Loading