zhanghailiang <zhang.zhanghaili...@huawei.com> wrote: > Hi, > > If testing migration with '-S' for qemu command line, (migrate > directly without executing 'cont' command), > qemu process in the destination will abort with the follow message: > > ERROR: invalid runstate transition: 'inmigrate' -> 'prelaunch' > Aborted > > After the follow modification, it will be OK. Is this need to be fix ?
but this is a "werid" case. basically it means that - we start on host A - we start on host B (with -S) - we migrate from A to B - now we migrate from B to C without running at all on B Or I am missing something? Later, Juan. > > --- a/vl.c > +++ b/vl.c > @@ -583,6 +583,7 @@ static const RunStateTransition > runstate_transitions_def[] = { > { RUN_STATE_INMIGRATE, RUN_STATE_WATCHDOG }, > { RUN_STATE_INMIGRATE, RUN_STATE_GUEST_PANICKED }, > + { RUN_STATE_INMIGRATE, RUN_STATE_PRELAUNCH }, > > { RUN_STATE_INTERNAL_ERROR, RUN_STATE_PAUSED }, > { RUN_STATE_INTERNAL_ERROR, RUN_STATE_FINISH_MIGRATE }, > > > Thanks, > zhanghailiang > > On 2015/7/7 21:08, Juan Quintela wrote: >> Next commit would allow to move from incoming migration to error happening >> on source. >> >> Should we add more states to this transition? Luiz? >> >> Signed-off-by: Juan Quintela <quint...@redhat.com> >> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> >> --- >> vl.c | 8 +++++++- >> 1 file changed, 7 insertions(+), 1 deletion(-) >> >> diff --git a/vl.c b/vl.c >> index fec7e93..19a8737 100644 >> --- a/vl.c >> +++ b/vl.c >> @@ -573,8 +573,14 @@ static const RunStateTransition >> runstate_transitions_def[] = { >> { RUN_STATE_DEBUG, RUN_STATE_RUNNING }, >> { RUN_STATE_DEBUG, RUN_STATE_FINISH_MIGRATE }, >> >> - { RUN_STATE_INMIGRATE, RUN_STATE_RUNNING }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_INTERNAL_ERROR }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_IO_ERROR }, >> { RUN_STATE_INMIGRATE, RUN_STATE_PAUSED }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_RUNNING }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_SHUTDOWN }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_SUSPENDED }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_WATCHDOG }, >> + { RUN_STATE_INMIGRATE, RUN_STATE_GUEST_PANICKED }, >> >> { RUN_STATE_INTERNAL_ERROR, RUN_STATE_PAUSED }, >> { RUN_STATE_INTERNAL_ERROR, RUN_STATE_FINISH_MIGRATE }, >>