Paolo Bonzini <pbonz...@redhat.com> writes:

> Il 13/03/2014 14:18, Markus Armbruster ha scritto:
>> Paolo Bonzini <pbonz...@redhat.com> writes:
>> 
>>> Il 12/03/2014 18:00, Markus Armbruster ha scritto:
>>>> +    } else if (!runstate_check(RUN_STATE_PRELAUNCH)
>>>> +            && !runstate_check(RUN_STATE_PAUSED)) { /* HACK */
>>>
>>> Why not "if (runstate_is_running())"?
>> 
>> The predicate actually wanted here is "monitor command 'cont' required
>> to get the guest running", because 'cont' is where the protection is.
>> My run state test is a crude approximation.
>> 
>
> Got it.  Then you need to add at least a check for
> "runstate_check(RUN_STATE_INMIGRATE)", otherwise you break incoming
> migration.

You're right: main() goes from RUN_STATE_PRELAUNCH to
RUN_STATE_INMIGRATE right when it sees -incoming.

>             Actually, I think only SAVE_VM/RESTORE_VM/DEBUG are 
> problematic, but I understand why you preferred a conservative
> test (sufficient condition, not necessary).

Exactly.

> You are singling out prelaunch and inmigrate because drive_init
> will reset autostart to 0 for an encrypted image, right?

Yes.

Reply via email to