diff options
author | Peter Xu <peterx@redhat.com> | 2018-05-02 18:47:28 +0800 |
---|---|---|
committer | Juan Quintela <quintela@redhat.com> | 2018-05-15 20:56:51 +0200 |
commit | a335debb35bb30ade46e0e62c0b2fbb3882c8448 (patch) | |
tree | fd354704a9547f76c0ae2ce78f2c966a7904b245 /migration/migration.h | |
parent | f25d42253ca137f79541f655dd915377ad596e28 (diff) |
migration: new message MIG_RP_MSG_RECV_BITMAP
Introducing new return path message MIG_RP_MSG_RECV_BITMAP to send
received bitmap of ramblock back to source.
This is the reply message of MIG_CMD_RECV_BITMAP, it contains not only
the header (including the ramblock name), and it was appended with the
whole ramblock received bitmap on the destination side.
When the source receives such a reply message (MIG_RP_MSG_RECV_BITMAP),
it parses it, convert it to the dirty bitmap by inverting the bits.
One thing to mention is that, when we send the recv bitmap, we are doing
these things in extra:
- converting the bitmap to little endian, to support when hosts are
using different endianess on src/dst.
- do proper alignment for 8 bytes, to support when hosts are using
different word size (32/64 bits) on src/dst.
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Peter Xu <peterx@redhat.com>
Message-Id: <20180502104740.12123-13-peterx@redhat.com>
Signed-off-by: Juan Quintela <quintela@redhat.com>
Diffstat (limited to 'migration/migration.h')
-rw-r--r-- | migration/migration.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/migration/migration.h b/migration/migration.h index 4ea5949104..2321ea37b3 100644 --- a/migration/migration.h +++ b/migration/migration.h @@ -260,6 +260,8 @@ void migrate_send_rp_pong(MigrationIncomingState *mis, uint32_t value); int migrate_send_rp_req_pages(MigrationIncomingState *mis, const char* rbname, ram_addr_t start, size_t len); +void migrate_send_rp_recv_bitmap(MigrationIncomingState *mis, + char *block_name); void dirty_bitmap_mig_before_vm_start(void); void init_dirty_bitmap_incoming_migration(void); |