[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 2/2] migration: add migrate_set_state(), add trac
From: |
Kazuya Saito |
Subject: |
[Qemu-devel] [PATCH v2 2/2] migration: add migrate_set_state(), add trace_migrate_set_state() |
Date: |
Wed, 20 Feb 2013 15:32:30 +0900 |
User-agent: |
Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130107 Thunderbird/17.0.2 |
Signed-off-by: Kazuya Saito <address@hidden>
---
include/migration/migration.h | 2 ++
migration.c | 19 +++++++++++++------
trace-events | 3 +++
3 files changed, 18 insertions(+), 6 deletions(-)
diff --git a/include/migration/migration.h b/include/migration/migration.h
index a8c9639..3d8b2a8 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -132,4 +132,6 @@ int migrate_use_xbzrle(void);
int64_t migrate_xbzrle_cache_size(void);
int64_t xbzrle_cache_resize(int64_t new_size);
+
+void migrate_set_state(MigrationState *s, int new_state);
#endif
diff --git a/migration.c b/migration.c
index b1ebb01..c52d634 100644
--- a/migration.c
+++ b/migration.c
@@ -23,6 +23,7 @@
#include "migration/block.h"
#include "qemu/thread.h"
#include "qmp-commands.h"
+#include "trace.h"
//#define DEBUG_MIGRATION
@@ -277,7 +278,7 @@ static int migrate_fd_cleanup(MigrationState *s)
void migrate_fd_error(MigrationState *s)
{
DPRINTF("setting error state\n");
- s->state = MIG_STATE_ERROR;
+ migrate_set_state(s, MIG_STATE_ERROR);
notifier_list_notify(&migration_state_notifiers, s);
migrate_fd_cleanup(s);
}
@@ -286,9 +287,9 @@ static void migrate_fd_completed(MigrationState *s)
{
DPRINTF("setting completed state\n");
if (migrate_fd_cleanup(s) < 0) {
- s->state = MIG_STATE_ERROR;
+ migrate_set_state(s, MIG_STATE_ERROR);
} else {
- s->state = MIG_STATE_COMPLETED;
+ migrate_set_state(s, MIG_STATE_COMPLETED);
runstate_set(RUN_STATE_POSTMIGRATE);
}
notifier_list_notify(&migration_state_notifiers, s);
@@ -320,7 +321,7 @@ static void migrate_fd_cancel(MigrationState *s)
DPRINTF("cancelling migration\n");
- s->state = MIG_STATE_CANCELLED;
+ migrate_set_state(s, MIG_STATE_CANCELLED);
notifier_list_notify(&migration_state_notifiers, s);
qemu_savevm_state_cancel();
@@ -381,7 +382,7 @@ static MigrationState *migrate_init(const
MigrationParams *params)
s->xbzrle_cache_size = xbzrle_cache_size;
s->bandwidth_limit = bandwidth_limit;
- s->state = MIG_STATE_SETUP;
+ migrate_set_state(s, MIG_STATE_SETUP);
s->total_time = qemu_get_clock_ms(rt_clock);
return s;
@@ -769,7 +770,7 @@ static const QEMUFileOps buffered_file_ops = {
void migrate_fd_connect(MigrationState *s)
{
- s->state = MIG_STATE_ACTIVE;
+ migrate_set_state(s, MIG_STATE_ACTIVE);
s->bytes_xfer = 0;
s->buffer = NULL;
s->buffer_size = 0;
@@ -784,3 +785,9 @@ void migrate_fd_connect(MigrationState *s)
QEMU_THREAD_DETACHED);
notifier_list_notify(&migration_state_notifiers, s);
}
+
+void migrate_set_state(MigrationState *s, int new_state)
+{
+ s->state = new_state;
+ trace_migrate_set_state(new_state);
+}
diff --git a/trace-events b/trace-events
index bf508f0..1be907e 100644
--- a/trace-events
+++ b/trace-events
@@ -1091,3 +1091,6 @@ css_io_interrupt(int cssid, int ssid, int schid,
uint32_t intparm, uint8_t isc,
# hw/s390x/virtio-ccw.c
virtio_ccw_interpret_ccw(int cssid, int ssid, int schid, int cmd_code)
"VIRTIO-CCW: %x.%x.%04x: interpret command %x"
virtio_ccw_new_device(int cssid, int ssid, int schid, int devno, const
char *devno_mode) "VIRTIO-CCW: add subchannel %x.%x.%04x, devno %04x (%s)"
+
+# migration.c
+migrate_set_state(int new_state) "new state %d"
--
1.7.1