We are going to create a new function for multifd latest in the series. Signed-off-by: Juan Quintela <quint...@redhat.com> Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration/ram.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/migration/ram.c b/migration/ram.c index 85d89d61ac..499d9b2a90 100644 --- a/migration/ram.c +++ b/migration/ram.c @@ -310,6 +310,9 @@ typedef struct { bool preempted; } PostcopyPreemptState; +typedef struct RAMState RAMState; +typedef struct PageSearchStatus PageSearchStatus; + /* State of RAM for migration */ struct RAMState { /* QEMUFile used for this migration */ @@ -372,8 +375,9 @@ struct RAMState { * is enabled. */ unsigned int postcopy_channel; + + int (*ram_save_target_page)(RAMState *rs, PageSearchStatus *pss); }; -typedef struct RAMState RAMState; static RAMState *ram_state; @@ -2255,14 +2259,14 @@ static bool save_compress_page(RAMState *rs, RAMBlock *block, ram_addr_t offset) } /** - * ram_save_target_page: save one target page + * ram_save_target_page_legacy: save one target page * * Returns the number of pages written * * @rs: current RAM state * @pss: data about the page we want to send */ -static int ram_save_target_page(RAMState *rs, PageSearchStatus *pss) +static int ram_save_target_page_legacy(RAMState *rs, PageSearchStatus *pss) { RAMBlock *block = pss->block; ram_addr_t offset = ((ram_addr_t)pss->page) << TARGET_PAGE_BITS; @@ -2469,7 +2473,7 @@ static int ram_save_host_page(RAMState *rs, PageSearchStatus *pss) /* Check the pages is dirty and if it is send it */ if (migration_bitmap_clear_dirty(rs, pss->block, pss->page)) { - tmppages = ram_save_target_page(rs, pss); + tmppages = rs->ram_save_target_page(rs, pss); if (tmppages < 0) { return tmppages; } @@ -3223,6 +3227,7 @@ static int ram_save_setup(QEMUFile *f, void *opaque) ram_control_before_iterate(f, RAM_CONTROL_SETUP); ram_control_after_iterate(f, RAM_CONTROL_SETUP); + (*rsp)->ram_save_target_page = ram_save_target_page_legacy; ret = multifd_send_sync_main(f); if (ret < 0) { return ret; -- 2.37.1