From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53049) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZEbt5-0003FH-Go for qemu-devel@nongnu.org; Mon, 13 Jul 2015 07:27:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZEbt1-0006wy-2g for qemu-devel@nongnu.org; Mon, 13 Jul 2015 07:27:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50695) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZEbt0-0006wu-Sz for qemu-devel@nongnu.org; Mon, 13 Jul 2015 07:27:02 -0400 From: Juan Quintela In-Reply-To: <1434450415-11339-24-git-send-email-dgilbert@redhat.com> (David Alan Gilbert's message of "Tue, 16 Jun 2015 11:26:36 +0100") References: <1434450415-11339-1-git-send-email-dgilbert@redhat.com> <1434450415-11339-24-git-send-email-dgilbert@redhat.com> Date: Mon, 13 Jul 2015 13:27:00 +0200 Message-ID: <87y4ikjo1n.fsf@neno.neno> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH v7 23/42] MIGRATION_STATUS_POSTCOPY_ACTIVE: Add new migration state Reply-To: quintela@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Dr. David Alan Gilbert (git)" Cc: aarcange@redhat.com, yamahata@private.email.ne.jp, liang.z.li@intel.com, qemu-devel@nongnu.org, luis@cs.umu.se, amit.shah@redhat.com, pbonzini@redhat.com, david@gibson.dropbear.id.au "Dr. David Alan Gilbert (git)" wrote: > From: "Dr. David Alan Gilbert" > > 'MIGRATION_STATUS_POSTCOPY_ACTIVE' is entered after migrate_start_postcopy > > 'migration_postcopy_phase' is provided for other sections to know if > they're in postcopy. > > Signed-off-by: Dr. David Alan Gilbert > Reviewed-by: David Gibson > Reviewed-by: Eric Blake Reviewed-by: Juan Quintela But (there is always a but....) > @@ -358,6 +359,39 @@ MigrationInfo *qmp_query_migrate(Error **errp) > > get_xbzrle_cache_stats(info); > break; > + case MIGRATION_STATUS_POSTCOPY_ACTIVE: > + /* Mostly the same as active; TODO add some postcopy stats */ > + info->has_status = true; > + info->has_total_time = true; > + info->total_time = qemu_clock_get_ms(QEMU_CLOCK_REALTIME) > + - s->total_time; > + info->has_expected_downtime = true; > + info->expected_downtime = s->expected_downtime; > + 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; > + > + if (blk_mig_active()) { > + info->has_disk = true; > + info->disk = g_malloc0(sizeof(*info->disk)); > + info->disk->transferred = blk_mig_bytes_transferred(); > + info->disk->remaining = blk_mig_bytes_remaining(); > + info->disk->total = blk_mig_bytes_total(); > + } Can we have block migration active with postcopy? I would assume that this would get disk corruption, no? Or if you preffer the other question, what protects us from disk corruption? Once here, I guess we can get the migrate_already_active() bit without problem? Later, Juan.