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 complition of a migration. However, if this function is executed when the migration status is still 'setup' (the status before 'active'), migration command returns immediately even if the user does not specify -d option.
Signed-off-by: Soramichi Akiyama <akiy...@nii.ac.jp> --- hmp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hmp.c b/hmp.c index 1af0809..eb887bf 100644 --- a/hmp.c +++ b/hmp.c @@ -1234,7 +1234,7 @@ 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; -- 1.7.10.4