[Qemu-devel] [PULL 2/8] Migration: Split out ram part of qmp_query_migrate
From: "Dr. David Alan Gilbert" The RAM section of qmp_query_migrate is reasonably complex and repeated 3 times. Split it out into a helper. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Eric Blake Message-id: 1465816605-29488-3-git-send-email-dgilb...@redhat.com Reviwed-by: Denis V. Lunev Message-Id: <1465816605-29488-3-git-send-email-dgilb...@redhat.com> Signed-off-by: Amit Shah --- migration/migration.c | 57 --- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 7ecbade..1954987 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -602,6 +602,25 @@ static void get_xbzrle_cache_stats(MigrationInfo *info) } } +static void populate_ram_info(MigrationInfo *info, MigrationState *s) +{ +info->has_ram = true; +info->ram = g_malloc0(sizeof(*info->ram)); +info->ram->transferred = ram_bytes_transferred(); +info->ram->total = ram_bytes_total(); +info->ram->duplicate = dup_mig_pages_transferred(); +info->ram->skipped = skipped_mig_pages_transferred(); +info->ram->normal = norm_mig_pages_transferred(); +info->ram->normal_bytes = norm_mig_bytes_transferred(); +info->ram->mbps = s->mbps; +info->ram->dirty_sync_count = s->dirty_sync_count; + +if (s->state != MIGRATION_STATUS_COMPLETED) { +info->ram->remaining = ram_bytes_remaining(); +info->ram->dirty_pages_rate = s->dirty_pages_rate; +} +} + MigrationInfo *qmp_query_migrate(Error **errp) { MigrationInfo *info = g_malloc0(sizeof(*info)); @@ -626,18 +645,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = ram_bytes_remaining(); -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->dirty_pages_rate = s->dirty_pages_rate; -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); if (blk_mig_active()) { info->has_disk = true; @@ -665,18 +673,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = ram_bytes_remaining(); -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->dirty_pages_rate = s->dirty_pages_rate; -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); if (blk_mig_active()) { info->has_disk = true; @@ -699,17 +696,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = 0; -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); break; case MIGRATION_STATUS_FAILED: info->has_status = true; -- 2.7.4
[Qemu-devel] [PULL 2/8] Migration: Split out ram part of qmp_query_migrate
From: "Dr. David Alan Gilbert" The RAM section of qmp_query_migrate is reasonably complex and repeated 3 times. Split it out into a helper. Signed-off-by: Dr. David Alan Gilbert Reviewed-by: Eric Blake Reviwed-by: Denis V. Lunev Message-Id: <1463489755-30703-3-git-send-email-dgilb...@redhat.com> Signed-off-by: Amit Shah --- migration/migration.c | 57 --- 1 file changed, 22 insertions(+), 35 deletions(-) diff --git a/migration/migration.c b/migration/migration.c index 7ecbade..1954987 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -602,6 +602,25 @@ static void get_xbzrle_cache_stats(MigrationInfo *info) } } +static void populate_ram_info(MigrationInfo *info, MigrationState *s) +{ +info->has_ram = true; +info->ram = g_malloc0(sizeof(*info->ram)); +info->ram->transferred = ram_bytes_transferred(); +info->ram->total = ram_bytes_total(); +info->ram->duplicate = dup_mig_pages_transferred(); +info->ram->skipped = skipped_mig_pages_transferred(); +info->ram->normal = norm_mig_pages_transferred(); +info->ram->normal_bytes = norm_mig_bytes_transferred(); +info->ram->mbps = s->mbps; +info->ram->dirty_sync_count = s->dirty_sync_count; + +if (s->state != MIGRATION_STATUS_COMPLETED) { +info->ram->remaining = ram_bytes_remaining(); +info->ram->dirty_pages_rate = s->dirty_pages_rate; +} +} + MigrationInfo *qmp_query_migrate(Error **errp) { MigrationInfo *info = g_malloc0(sizeof(*info)); @@ -626,18 +645,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = ram_bytes_remaining(); -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->dirty_pages_rate = s->dirty_pages_rate; -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); if (blk_mig_active()) { info->has_disk = true; @@ -665,18 +673,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = ram_bytes_remaining(); -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->dirty_pages_rate = s->dirty_pages_rate; -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); if (blk_mig_active()) { info->has_disk = true; @@ -699,17 +696,7 @@ MigrationInfo *qmp_query_migrate(Error **errp) info->has_setup_time = true; info->setup_time = s->setup_time; -info->has_ram = true; -info->ram = g_malloc0(sizeof(*info->ram)); -info->ram->transferred = ram_bytes_transferred(); -info->ram->remaining = 0; -info->ram->total = ram_bytes_total(); -info->ram->duplicate = dup_mig_pages_transferred(); -info->ram->skipped = skipped_mig_pages_transferred(); -info->ram->normal = norm_mig_pages_transferred(); -info->ram->normal_bytes = norm_mig_bytes_transferred(); -info->ram->mbps = s->mbps; -info->ram->dirty_sync_count = s->dirty_sync_count; +populate_ram_info(info, s); break; case MIGRATION_STATUS_FAILED: info->has_status = true; -- 2.7.4