migration: add trace point when vm_stop_force_state fails
This is a critical failure scenario for migration that is hard to diagnose from existing probes. Most likely it is caused by an error from bdrv_flush(), but we're not logging the errno anywhere, hence this new probe. Reviewed-by: Connor Kuehl <ckuehl@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
213de8a2fb
commit
626ff6515d
@ -3115,6 +3115,7 @@ static void migration_completion(MigrationState *s)
|
|||||||
if (!ret) {
|
if (!ret) {
|
||||||
bool inactivate = !migrate_colo_enabled();
|
bool inactivate = !migrate_colo_enabled();
|
||||||
ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
|
ret = vm_stop_force_state(RUN_STATE_FINISH_MIGRATE);
|
||||||
|
trace_migration_completion_vm_stop(ret);
|
||||||
if (ret >= 0) {
|
if (ret >= 0) {
|
||||||
ret = migration_maybe_pause(s, ¤t_active_state,
|
ret = migration_maybe_pause(s, ¤t_active_state,
|
||||||
MIGRATION_STATUS_DEVICE);
|
MIGRATION_STATUS_DEVICE);
|
||||||
|
@ -149,6 +149,7 @@ migrate_pending(uint64_t size, uint64_t max, uint64_t pre, uint64_t compat, uint
|
|||||||
migrate_send_rp_message(int msg_type, uint16_t len) "%d: len %d"
|
migrate_send_rp_message(int msg_type, uint16_t len) "%d: len %d"
|
||||||
migrate_send_rp_recv_bitmap(char *name, int64_t size) "block '%s' size 0x%"PRIi64
|
migrate_send_rp_recv_bitmap(char *name, int64_t size) "block '%s' size 0x%"PRIi64
|
||||||
migration_completion_file_err(void) ""
|
migration_completion_file_err(void) ""
|
||||||
|
migration_completion_vm_stop(int ret) "ret %d"
|
||||||
migration_completion_postcopy_end(void) ""
|
migration_completion_postcopy_end(void) ""
|
||||||
migration_completion_postcopy_end_after_complete(void) ""
|
migration_completion_postcopy_end_after_complete(void) ""
|
||||||
migration_rate_limit_pre(int ms) "%d ms"
|
migration_rate_limit_pre(int ms) "%d ms"
|
||||||
|
Loading…
Reference in New Issue
Block a user