Commit 6e1dea46 authored by Juan Quintela's avatar Juan Quintela
Browse files

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: default avatarJuan Quintela <quintela@redhat.com>
Reviewed-by: default avatarAmit Shah <amit.shah@redhat.com>
parent bf1ae1f4
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -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++;
            }
        }
+1 −1
Original line number Diff line number Diff line
@@ -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
+1 −1
Original line number Diff line number Diff line
@@ -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
+2 −1
Original line number Diff line number Diff line
@@ -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,
+1 −1
Original line number Diff line number Diff line
@@ -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;