diff mbox

[1/6] ram: make all save_page functions take a uint64_t parameter

Message ID 1423778591-12590-2-git-send-email-quintela@redhat.com
State New
Headers show

Commit Message

Juan Quintela Feb. 12, 2015, 10:03 p.m. UTC
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>
---
 arch_init.c                   | 11 ++++++++---
 include/migration/migration.h |  2 +-
 include/migration/qemu-file.h |  2 +-
 migration/qemu-file.c         |  3 ++-
 migration/rdma.c              |  2 +-
 5 files changed, 13 insertions(+), 7 deletions(-)

Comments

Amit Shah Feb. 24, 2015, 9:53 a.m. UTC | #1
On (Thu) 12 Feb 2015 [23:03:06], Juan Quintela wrote:
> 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>
> ---
>  arch_init.c                   | 11 ++++++++---
>  include/migration/migration.h |  2 +-
>  include/migration/qemu-file.h |  2 +-
>  migration/qemu-file.c         |  3 ++-
>  migration/rdma.c              |  2 +-
>  5 files changed, 13 insertions(+), 7 deletions(-)

Reviewed-by: Amit Shah <amit.shah@redhat.com>

		Amit
diff mbox

Patch

diff --git a/arch_init.c b/arch_init.c
index 89c8fa4..0066cf5 100644
--- a/arch_init.c
+++ b/arch_init.c
@@ -580,6 +580,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;
@@ -593,17 +594,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++;
             }
         }
diff --git a/include/migration/migration.h b/include/migration/migration.h
index f37348b..bb3b1b3 100644
--- a/include/migration/migration.h
+++ b/include/migration/migration.h
@@ -173,6 +173,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
diff --git a/include/migration/qemu-file.h b/include/migration/qemu-file.h
index a923cec..94a8c97 100644
--- a/include/migration/qemu-file.h
+++ b/include/migration/qemu-file.h
@@ -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
diff --git a/migration/qemu-file.c b/migration/qemu-file.c
index e66e557..1a4f986 100644
--- a/migration/qemu-file.c
+++ b/migration/qemu-file.c
@@ -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,
diff --git a/migration/rdma.c b/migration/rdma.c
index 6bee30c..93f3e5c 100644
--- a/migration/rdma.c
+++ b/migration/rdma.c
@@ -2656,7 +2656,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;