summary refs log tree commit diff stats
path: root/migration/ram.c
diff options
context:
space:
mode:
authorChenyi Qiang <chenyi.qiang@intel.com>2025-06-12 16:27:43 +0800
committerPeter Xu <peterx@redhat.com>2025-06-23 16:03:59 -0400
commitff1211154c45c9f7f82116ae9a8c72a848e4a8b5 (patch)
tree3a98fc18ec47c6188428bde5b22586e196707293 /migration/ram.c
parentf47a672a72acd6e2712031f0bc4d4f3ae4b6302c (diff)
downloadfocaccia-qemu-ff1211154c45c9f7f82116ae9a8c72a848e4a8b5.tar.gz
focaccia-qemu-ff1211154c45c9f7f82116ae9a8c72a848e4a8b5.zip
memory: Change memory_region_set_ram_discard_manager() to return the result
Modify memory_region_set_ram_discard_manager() to return -EBUSY if a
RamDiscardManager is already set in the MemoryRegion. The caller must
handle this failure, such as having virtio-mem undo its actions and fail
the realize() process. Opportunistically move the call earlier to avoid
complex error handling.

This change is beneficial when introducing a new RamDiscardManager
instance besides virtio-mem. After
ram_block_coordinated_discard_require(true) unlocks all
RamDiscardManager instances, only one instance is allowed to be set for
one MemoryRegion at present.

Suggested-by: David Hildenbrand <david@redhat.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Pankaj Gupta <pankaj.gupta@amd.com>
Tested-by: Alexey Kardashevskiy <aik@amd.com>
Reviewed-by: Alexey Kardashevskiy <aik@amd.com>
Reviewed-by: Xiaoyao Li <xiaoyao.li@intel.com>
Signed-off-by: Chenyi Qiang <chenyi.qiang@intel.com>
Link: https://lore.kernel.org/r/20250612082747.51539-3-chenyi.qiang@intel.com
Signed-off-by: Peter Xu <peterx@redhat.com>
Diffstat (limited to 'migration/ram.c')
0 files changed, 0 insertions, 0 deletions