• J
    qemu: Avoid dangling migration-in job on shutoff domains · 4f061ea6
    Jiri Denemark 提交于
    Destination daemon should not rely on the client or source daemon
    (depending on the type of migration) to call Finish when migration
    fails, because the client may crash before it can do so. The domain
    prepared for incoming migration is set to be destroyed (and migration
    job cleaned up) when connection with the client closes but this is not
    enough. If the associated qemu process crashes after Prepare step and
    the domain is cleaned up before the connection gets closed, autodestroy
    is not called for the domain and migration jobs remains set. In case the
    domain is defined on destination host (i.e., it is not completely
    removed once destroyed) we keep the job set for ever. To fix this, we
    register a cleanup callback which is responsible to clean migration-in
    job when a domain dies anywhere between Prepare and Finish steps. Note
    that we can't blindly clean any job when spotting EOF on monitor since
    normally an API is running at that time.
    4f061ea6
qemu_domain.c 53.5 KB