On Mon, 2023-05-15 at 21:57 +0200, Juan Quintela wrote: > RDMA protocol is completely asynchronous, so in qemu_rdma_save_page() > they "invent" that a byte has been transferred. And then they call > qemu_file_credit_transfer() and ram_transferred_add() with that byte. > Just remove that calls as nothing has been sent. > > Signed-off-by: Juan Quintela <quint...@redhat.com> > --- > migration/qemu-file.c | 5 +---- > migration/ram.c | 1 - > 2 files changed, 1 insertion(+), 5 deletions(-) > > diff --git a/migration/qemu-file.c b/migration/qemu-file.c > index acc282654a..23a21e2331 100644 > --- a/migration/qemu-file.c > +++ b/migration/qemu-file.c > @@ -346,13 +346,10 @@ size_t ram_control_save_page(QEMUFile *f, ram_addr_t > block_offset, > > if (ret != RAM_SAVE_CONTROL_DELAYED && > ret != RAM_SAVE_CONTROL_NOT_SUPP) { > - if (bytes_sent && *bytes_sent > 0) { > - qemu_file_credit_transfer(f, *bytes_sent); > - } else if (ret < 0) { > + if (ret < 0) { > qemu_file_set_error(f, ret); > } > } > - > return ret; > } > > diff --git a/migration/ram.c b/migration/ram.c > index 67ed49b387..2d3927a15f 100644 > --- a/migration/ram.c > +++ b/migration/ram.c > @@ -1184,7 +1184,6 @@ static bool control_save_page(PageSearchStatus *pss, > RAMBlock *block, > } > > if (bytes_xmit) { > - ram_transferred_add(bytes_xmit); > *pages = 1; > } >
Reviewed-by: Leonardo Bras <leob...@redhat.com>