diff options
author | Luiz Capitulino <lcapitulino@redhat.com> | 2013-12-29 22:39:58 -0500 |
---|---|---|
committer | Luiz Capitulino <lcapitulino@redhat.com> | 2014-01-06 15:02:30 -0500 |
commit | c950114286ea358a93ce632db0421945e1008395 (patch) | |
tree | 0edaf2258112053a47ab7ebba377d0f461eecd32 /migration.c | |
parent | 594278718323ca7bffaab0fb7fc6c82fa2c1cd5f (diff) | |
download | qemu-c950114286ea358a93ce632db0421945e1008395.tar.gz qemu-c950114286ea358a93ce632db0421945e1008395.tar.bz2 qemu-c950114286ea358a93ce632db0421945e1008395.zip |
migration: qmp_migrate(): keep working after syntax error
If a user or QMP client enter a bad syntax for the migrate
command in QMP/HMP, then the migrate command will never succeed
from that point on.
For example, if you enter:
(qemu) migrate tcp;0:4444
migrate: Parameter 'uri' expects a valid migration protocol
Then the migrate command will always fail from now on:
(qemu) migrate tcp:0:4444
migrate: There's a migration process in progress
The problem is that qmp_migrate() sets the migration status to
MIG_STATE_SETUP and doesn't reset it on syntax error. This bug
was introduced by commit 29ae8a4133082e16970c9d4be09f4b6a15034617.
Reviewed-by: Michael R. Hines <mrhines@us.ibm.com>
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'migration.c')
-rw-r--r-- | migration.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/migration.c b/migration.c index 2b1ab20c54..557195a9d2 100644 --- a/migration.c +++ b/migration.c @@ -437,6 +437,7 @@ void qmp_migrate(const char *uri, bool has_blk, bool blk, #endif } else { error_set(errp, QERR_INVALID_PARAMETER_VALUE, "uri", "a valid migration protocol"); + s->state = MIG_STATE_ERROR; return; } |