summaryrefslogtreecommitdiff
path: root/hmp.c
diff options
context:
space:
mode:
authorSoramichi AKIYAMA <akiyama@nii.ac.jp>2014-01-27 19:46:11 +0900
committerLuiz Capitulino <lcapitulino@redhat.com>2014-02-17 11:57:22 -0500
commitdde3a2184074f5c4279fd7fbfc597b5dc5859fb8 (patch)
treea4f12cb3d4a26d7259316dbea89e88857df7ecb1 /hmp.c
parent933b19ea9784de7ed2eb6e10262b9363c5c03ed7 (diff)
downloadqemu-dde3a2184074f5c4279fd7fbfc597b5dc5859fb8.tar.gz
hmp: migrate command (without -d) now blocks correctly
This patch fixes a timing issue that migrate command (without -d) does not block in some cases. The original version of hmp.c:hmp_migrate_status_cb checks if the migration status is 'active' or not to detect the completion of a migration. However, if this function is executed when the migration status is stil 'setup' (the status before 'active'), migration command returns immediately even if the user does not specify -d option. Signed-off-by: Soramichi Akiyama <akiyama@nii.ac.jp> Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
Diffstat (limited to 'hmp.c')
-rw-r--r--hmp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hmp.c b/hmp.c
index 1af0809305..081c12145c 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1234,7 +1234,8 @@ static void hmp_migrate_status_cb(void *opaque)
MigrationInfo *info;
info = qmp_query_migrate(NULL);
- if (!info->has_status || strcmp(info->status, "active") == 0) {
+ if (!info->has_status || strcmp(info->status, "active") == 0 ||
+ strcmp(info->status, "setup") == 0) {
if (info->has_disk) {
int progress;