mirror of https://gitee.com/openkylin/qemu.git
ram: make all save_page functions take a uint64_t parameter
It used to be an int, but then we can't pass directly the bytes_transferred parameter, that would happen later in the series. Signed-off-by: Juan Quintela <quintela@redhat.com> Reviewed-by: Amit Shah <amit.shah@redhat.com>
This commit is contained in:
parent
bf1ae1f4dc
commit
6e1dea46b8
11
arch_init.c
11
arch_init.c
|
@ -584,6 +584,7 @@ static int ram_save_page(QEMUFile *f, RAMBlock* block, ram_addr_t offset,
|
|||
bool last_stage)
|
||||
{
|
||||
int bytes_sent;
|
||||
uint64_t bytes_xmit;
|
||||
int cont;
|
||||
ram_addr_t current_addr;
|
||||
MemoryRegion *mr = block->mr;
|
||||
|
@ -597,17 +598,21 @@ static int ram_save_page(QEMUFile *f, RAMBlock* block, ram_addr_t offset,
|
|||
|
||||
/* In doubt sent page as normal */
|
||||
bytes_sent = -1;
|
||||
bytes_xmit = 0;
|
||||
ret = ram_control_save_page(f, block->offset,
|
||||
offset, TARGET_PAGE_SIZE, &bytes_sent);
|
||||
offset, TARGET_PAGE_SIZE, &bytes_xmit);
|
||||
if (bytes_xmit) {
|
||||
bytes_sent = bytes_xmit;
|
||||
}
|
||||
|
||||
XBZRLE_cache_lock();
|
||||
|
||||
current_addr = block->offset + offset;
|
||||
if (ret != RAM_SAVE_CONTROL_NOT_SUPP) {
|
||||
if (ret != RAM_SAVE_CONTROL_DELAYED) {
|
||||
if (bytes_sent > 0) {
|
||||
if (bytes_xmit > 0) {
|
||||
acct_info.norm_pages++;
|
||||
} else if (bytes_sent == 0) {
|
||||
} else if (bytes_xmit == 0) {
|
||||
acct_info.dup_pages++;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -169,6 +169,6 @@ void ram_control_load_hook(QEMUFile *f, uint64_t flags);
|
|||
|
||||
size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
|
||||
ram_addr_t offset, size_t size,
|
||||
int *bytes_sent);
|
||||
uint64_t *bytes_sent);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -82,7 +82,7 @@ typedef size_t (QEMURamSaveFunc)(QEMUFile *f, void *opaque,
|
|||
ram_addr_t block_offset,
|
||||
ram_addr_t offset,
|
||||
size_t size,
|
||||
int *bytes_sent);
|
||||
uint64_t *bytes_sent);
|
||||
|
||||
/*
|
||||
* Stop any read or write (depending on flags) on the underlying
|
||||
|
|
|
@ -161,7 +161,8 @@ void ram_control_load_hook(QEMUFile *f, uint64_t flags)
|
|||
}
|
||||
|
||||
size_t ram_control_save_page(QEMUFile *f, ram_addr_t block_offset,
|
||||
ram_addr_t offset, size_t size, int *bytes_sent)
|
||||
ram_addr_t offset, size_t size,
|
||||
uint64_t *bytes_sent)
|
||||
{
|
||||
if (f->ops->save_page) {
|
||||
int ret = f->ops->save_page(f, f->opaque, block_offset,
|
||||
|
|
|
@ -2654,7 +2654,7 @@ static int qemu_rdma_close(void *opaque)
|
|||
*/
|
||||
static size_t qemu_rdma_save_page(QEMUFile *f, void *opaque,
|
||||
ram_addr_t block_offset, ram_addr_t offset,
|
||||
size_t size, int *bytes_sent)
|
||||
size_t size, uint64_t *bytes_sent)
|
||||
{
|
||||
QEMUFileRDMA *rfile = opaque;
|
||||
RDMAContext *rdma = rfile->rdma;
|
||||
|
|
Loading…
Reference in New Issue