mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
migration: ram block cpr blockers
Unlike cpr-reboot mode, cpr-transfer mode cannot save volatile ram blocks in the migration stream file and recreate them later, because the physical memory for the blocks is pinned and registered for vfio. Add a blocker for volatile ram blocks. Also add a blocker for RAM_GUEST_MEMFD. Preserving guest_memfd may be sufficient for CPR, but it has not been tested yet. Signed-off-by: Steve Sistare <steven.sistare@oracle.com> Reviewed-by: Fabiano Rosas <farosas@suse.de> Reviewed-by: Peter Xu <peterx@redhat.com> Reviewed-by: David Hildenbrand <david@redhat.com> Message-ID: <1740667681-257312-1-git-send-email-steven.sistare@oracle.com> Signed-off-by: Fabiano Rosas <farosas@suse.de>
This commit is contained in:
parent
d657a14de5
commit
094a3dbc55
4 changed files with 72 additions and 0 deletions
|
@ -3514,12 +3514,14 @@ void vmstate_register_ram(MemoryRegion *mr, DeviceState *dev)
|
|||
qemu_ram_set_idstr(mr->ram_block,
|
||||
memory_region_name(mr), dev);
|
||||
qemu_ram_set_migratable(mr->ram_block);
|
||||
ram_block_add_cpr_blocker(mr->ram_block, &error_fatal);
|
||||
}
|
||||
|
||||
void vmstate_unregister_ram(MemoryRegion *mr, DeviceState *dev)
|
||||
{
|
||||
qemu_ram_unset_idstr(mr->ram_block);
|
||||
qemu_ram_unset_migratable(mr->ram_block);
|
||||
ram_block_del_cpr_blocker(mr->ram_block);
|
||||
}
|
||||
|
||||
void vmstate_register_ram_global(MemoryRegion *mr)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue