[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 1/4] savevm: teach qemu_fill_buffer to do partial re
From: |
Juan Quintela |
Subject: |
[Qemu-devel] [PATCH 1/4] savevm: teach qemu_fill_buffer to do partial refills |
Date: |
Tue, 4 Oct 2011 16:38:12 +0200 |
We will need on next patch to be able to lookahead on next patch
Signed-off-by: Juan Quintela <address@hidden>
---
savevm.c | 14 +++++++++++---
1 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/savevm.c b/savevm.c
index 46f2447..31131df 100644
--- a/savevm.c
+++ b/savevm.c
@@ -455,6 +455,7 @@ void qemu_fflush(QEMUFile *f)
static void qemu_fill_buffer(QEMUFile *f)
{
int len;
+ int used;
if (!f->get_buffer)
return;
@@ -462,10 +463,17 @@ static void qemu_fill_buffer(QEMUFile *f)
if (f->is_write)
abort();
- len = f->get_buffer(f->opaque, f->buf, f->buf_offset, IO_BUF_SIZE);
+ used = f->buf_size - f->buf_index;
+ if (used > 0) {
+ memmove(f->buf, f->buf + f->buf_index, used);
+ }
+ f->buf_index = 0;
+ f->buf_size = used;
+
+ len = f->get_buffer(f->opaque, f->buf + used, f->buf_offset,
+ IO_BUF_SIZE - used);
if (len > 0) {
- f->buf_index = 0;
- f->buf_size = len;
+ f->buf_size += len;
f->buf_offset += len;
} else if (len != -EAGAIN)
f->has_error = 1;
--
1.7.6.4
- [Qemu-devel] [PATCH 0/4] migration: Improve subsections detection, Juan Quintela, 2011/10/04
- [Qemu-devel] [PATCH 1/4] savevm: teach qemu_fill_buffer to do partial refills,
Juan Quintela <=
- [Qemu-devel] [PATCH 2/4] savevm: some coding style cleanups, Juan Quintela, 2011/10/04
- [Qemu-devel] [PATCH 4/4] Revert "savevm: fix corruption in vmstate_subsection_load().", Juan Quintela, 2011/10/04
- [Qemu-devel] [PATCH 3/4] savevm: improve subsections detection on load, Juan Quintela, 2011/10/04
- Re: [Qemu-devel] [PATCH 0/4] migration: Improve subsections detection, Paolo Bonzini, 2011/10/04
- Re: [Qemu-devel] [PATCH 0/4] migration: Improve subsections detection, Avi Kivity, 2011/10/04