Signed-off-by: Juan Quintela <quint...@redhat.com> --- migration/rdma.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/migration/rdma.c b/migration/rdma.c index d6b4398620..4bc9c5cb91 100644 --- a/migration/rdma.c +++ b/migration/rdma.c @@ -3243,10 +3243,6 @@ static size_t qemu_rdma_save_page(QEMUFile *f, CHECK_ERROR_STATE(); - if (migration_in_postcopy()) { - return RAM_SAVE_CONTROL_NOT_SUPP; - } - qemu_fflush(f); /* @@ -3323,6 +3319,10 @@ size_t rdma_control_save_page(QEMUFile *f, ram_addr_t block_offset, return RAM_SAVE_CONTROL_NOT_SUPP; } + if (migration_in_postcopy()) { + return RAM_SAVE_CONTROL_NOT_SUPP; + } + int ret = qemu_rdma_save_page(f, block_offset, offset, size, bytes_sent); if (ret != RAM_SAVE_CONTROL_NOT_SUPP) { qemu_file_acct_rate_limit(f, size); @@ -3883,6 +3883,10 @@ int rdma_registration_start(QEMUFile *f, uint64_t flags) return 0; } + if (migration_in_postcopy()) { + return 0; + } + RCU_READ_LOCK_GUARD(); rdma = qatomic_rcu_read(&rioc->rdmaout); if (!rdma) { @@ -3891,10 +3895,6 @@ int rdma_registration_start(QEMUFile *f, uint64_t flags) CHECK_ERROR_STATE(); - if (migration_in_postcopy()) { - return 0; - } - trace_rdma_registration_start(flags); qemu_put_be64(f, RAM_SAVE_FLAG_HOOK); qemu_fflush(f); @@ -3917,6 +3917,10 @@ int rdma_registration_stop(QEMUFile *f, uint64_t flags) return 0; } + if (migration_in_postcopy()) { + return 0; + } + RCU_READ_LOCK_GUARD(); rdma = qatomic_rcu_read(&rioc->rdmaout); if (!rdma) { @@ -3925,10 +3929,6 @@ int rdma_registration_stop(QEMUFile *f, uint64_t flags) CHECK_ERROR_STATE(); - if (migration_in_postcopy()) { - return 0; - } - qemu_fflush(f); ret = qemu_rdma_drain_cq(f, rdma); -- 2.40.0