mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 16:53:55 -06:00
Migration/colo.c: Add new COLOExitReason to handle all failover state
In this patch we add the processing state for COLOExitReason, because we have to identify COLO in the failover processing state or failover error state. In the way, we can handle all the failover state. We have improved the description of the COLOExitReason by the way. Signed-off-by: Zhang Chen <chen.zhang@intel.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
1fe6ab267f
commit
3a43ac4757
2 changed files with 22 additions and 17 deletions
|
@ -267,7 +267,11 @@ COLOStatus *qmp_query_colo_status(Error **errp)
|
|||
s->reason = COLO_EXIT_REASON_REQUEST;
|
||||
break;
|
||||
default:
|
||||
s->reason = COLO_EXIT_REASON_ERROR;
|
||||
if (migration_in_colo_state()) {
|
||||
s->reason = COLO_EXIT_REASON_PROCESSING;
|
||||
} else {
|
||||
s->reason = COLO_EXIT_REASON_ERROR;
|
||||
}
|
||||
}
|
||||
|
||||
return s;
|
||||
|
@ -579,16 +583,13 @@ out:
|
|||
* or the user triggered failover.
|
||||
*/
|
||||
switch (failover_get_state()) {
|
||||
case FAILOVER_STATUS_NONE:
|
||||
qapi_event_send_colo_exit(COLO_MODE_PRIMARY,
|
||||
COLO_EXIT_REASON_ERROR);
|
||||
break;
|
||||
case FAILOVER_STATUS_COMPLETED:
|
||||
qapi_event_send_colo_exit(COLO_MODE_PRIMARY,
|
||||
COLO_EXIT_REASON_REQUEST);
|
||||
break;
|
||||
default:
|
||||
abort();
|
||||
qapi_event_send_colo_exit(COLO_MODE_PRIMARY,
|
||||
COLO_EXIT_REASON_ERROR);
|
||||
}
|
||||
|
||||
/* Hope this not to be too long to wait here */
|
||||
|
@ -850,17 +851,18 @@ out:
|
|||
error_report_err(local_err);
|
||||
}
|
||||
|
||||
/*
|
||||
* There are only two reasons we can get here, some error happened
|
||||
* or the user triggered failover.
|
||||
*/
|
||||
switch (failover_get_state()) {
|
||||
case FAILOVER_STATUS_NONE:
|
||||
qapi_event_send_colo_exit(COLO_MODE_SECONDARY,
|
||||
COLO_EXIT_REASON_ERROR);
|
||||
break;
|
||||
case FAILOVER_STATUS_COMPLETED:
|
||||
qapi_event_send_colo_exit(COLO_MODE_SECONDARY,
|
||||
COLO_EXIT_REASON_REQUEST);
|
||||
break;
|
||||
default:
|
||||
abort();
|
||||
qapi_event_send_colo_exit(COLO_MODE_SECONDARY,
|
||||
COLO_EXIT_REASON_ERROR);
|
||||
}
|
||||
|
||||
if (fb) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue