[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 12/14] buffered_file: unfold buffered_append in
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 12/14] buffered_file: unfold buffered_append in buffered_put_buffer |
Date: |
Fri, 21 Sep 2012 19:07:55 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1 |
Il 21/09/2012 16:08, Juan Quintela ha scritto:
> It was the only user, and now buffered_put_buffer just do the append
>
> Signed-off-by: Juan Quintela <address@hidden>
> ---
> buffered_file.c | 33 ++++++++++++++-------------------
> 1 file changed, 14 insertions(+), 19 deletions(-)
>
> diff --git a/buffered_file.c b/buffered_file.c
> index 929b911..1b261ec 100644
> --- a/buffered_file.c
> +++ b/buffered_file.c
> @@ -42,22 +42,6 @@ typedef struct QEMUFileBuffered
> do { } while (0)
> #endif
>
> -static void buffered_append(QEMUFileBuffered *s,
> - const uint8_t *buf, size_t size)
> -{
> - if (size > (s->buffer_capacity - s->buffer_size)) {
> - DPRINTF("increasing buffer capacity from %zu by %zu\n",
> - s->buffer_capacity, size + 1024);
> -
> - s->buffer_capacity += size + 1024;
> -
> - s->buffer = g_realloc(s->buffer, s->buffer_capacity);
> - }
> -
> - memcpy(s->buffer + s->buffer_size, buf, size);
> - s->buffer_size += size;
> -}
> -
> static int buffered_flush(QEMUFileBuffered *s)
> {
> size_t offset = 0;
> @@ -102,11 +86,22 @@ static int buffered_put_buffer(void *opaque, const
> uint8_t *buf, int64_t pos, in
> return error;
> }
>
> - if (size > 0) {
> - DPRINTF("buffering %d bytes\n", size - offset);
> - buffered_append(s, buf, size);
> + if (size <= 0) {
> + return size;
> }
>
> + if (size > (s->buffer_capacity - s->buffer_size)) {
> + DPRINTF("increasing buffer capacity from %zu by %zu\n",
> + s->buffer_capacity, size + 1024);
> +
> + s->buffer_capacity += size + 1024;
> +
> + s->buffer = g_realloc(s->buffer, s->buffer_capacity);
> + }
> +
> + memcpy(s->buffer + s->buffer_size, buf, size);
> + s->buffer_size += size;
> +
> return size;
> }
>
Ah, finally this arrived as well. :)
Reviewed-by: Paolo Bonzini <address@hidden>
- [Qemu-devel] [PATCH 08/14] migration: remove unfreeze logic, (continued)
- [Qemu-devel] [PATCH 08/14] migration: remove unfreeze logic, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 13/14] savevm: New save live migration method: pending, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 14/14] migration: print times for end phase, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 10/14] buffered_file: Unfold the trick to restart generating migration data, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 12/14] buffered_file: unfold buffered_append in buffered_put_buffer, Juan Quintela, 2012/09/21
- Re: [Qemu-devel] [PATCH 12/14] buffered_file: unfold buffered_append in buffered_put_buffer,
Paolo Bonzini <=
- [Qemu-devel] [PATCH 06/14] migration: stop all cpus correctly, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 11/14] buffered_file: don't flush on put buffer, Juan Quintela, 2012/09/21
- [Qemu-devel] [PATCH 07/14] migration: make writes blocking, Juan Quintela, 2012/09/21