Skip to content
  • Paolo Bonzini's avatar
    vl: allow other threads to do qemu_system_vmstop_request · 74892d24
    Paolo Bonzini authored
    
    
    There patch protects vmstop_requested with a lock and introduces
    qemu_system_vmstop_request_prepare.
    
    Together with the new call to qemu_vmstop_requested in vm_start,
    qemu_system_vmstop_request_prepare avoids a race where the VM could remain
    stopped even though the iostatus of a block device has already been set
    (for example).
    
    qemu_system_vmstop_request_prepare however also lets the caller thread
    delay observation of the state change until it has itself communicated
    that change to the user.  This delay avoids any possibility of a wrong
    reordering of the BLOCK_IO_ERROR event and the subsequent STOP event.
    
    Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
    Reviewed-by: default avatarEric Blake <eblake@redhat.com>
    Signed-off-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
    74892d24