migration/rdma: Don't use imaginary transfers
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. Reviewed-by: Leonardo Bras <leobras@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com> Message-Id: <20230515195709.63843-14-quintela@redhat.com>
This commit is contained in:
parent
e33780351c
commit
2ebe5d4d5a
@ -332,13 +332,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;
|
||||
}
|
||||
|
||||
|
@ -1197,7 +1197,6 @@ static bool control_save_page(PageSearchStatus *pss, RAMBlock *block,
|
||||
}
|
||||
|
||||
if (bytes_xmit) {
|
||||
ram_transferred_add(bytes_xmit);
|
||||
*pages = 1;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user