Commit ff0769a4 authored by Dr. David Alan Gilbert's avatar Dr. David Alan Gilbert
Browse files

migration: Fixes for non-migratable RAMBlocks



There are still a few cases where migration code is using the macros
and functions that do all RAMBlocks rather than just the migratable
blocks; fix those up.

Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20180605162545.80778-2-dgilbert@redhat.com>
Reviewed-by: default avatarPeter Xu <peterx@redhat.com>
Reviewed-by: default avatarCédric Le Goater <clg@kaod.org>
Signed-off-by: default avatarDr. David Alan Gilbert <dgilbert@redhat.com>
parent ea134caa
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -2516,7 +2516,7 @@ static void ram_state_resume_prepare(RAMState *rs, QEMUFile *out)
     * about dirty page logging as well.
     */

    RAMBLOCK_FOREACH(block) {
    RAMBLOCK_FOREACH_MIGRATABLE(block) {
        pages += bitmap_count_one(block->bmap,
                                  block->used_length >> TARGET_PAGE_BITS);
    }
@@ -3431,7 +3431,7 @@ static int ram_dirty_bitmap_sync_all(MigrationState *s, RAMState *rs)

    trace_ram_dirty_bitmap_sync_start();

    RAMBLOCK_FOREACH(block) {
    RAMBLOCK_FOREACH_MIGRATABLE(block) {
        qemu_savevm_send_recv_bitmap(file, block->idstr);
        trace_ram_dirty_bitmap_request(block->idstr);
        ramblock_count++;
+1 −1
Original line number Diff line number Diff line
@@ -635,7 +635,7 @@ static int qemu_rdma_init_ram_blocks(RDMAContext *rdma)

    assert(rdma->blockmap == NULL);
    memset(local, 0, sizeof *local);
    qemu_ram_foreach_block(qemu_rdma_init_one_block, rdma);
    qemu_ram_foreach_migratable_block(qemu_rdma_init_one_block, rdma);
    trace_qemu_rdma_init_ram_blocks(local->nb_blocks);
    rdma->dest_blocks = g_new0(RDMADestBlock,
                               rdma->local_ram_blocks.nb_blocks);