From: Eric Blake <eblake@redhat.com>
To: Orit Wasserman <owasserm@redhat.com>
Cc: pbonzini@redhat.com, quintela@redhat.com, chegu_vinod@hp.com,
qemu-devel@nongnu.org, mst@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 2/8] Add socket_writev_buffer function
Date: Thu, 21 Mar 2013 13:35:01 -0600 [thread overview]
Message-ID: <514B60E5.6090707@redhat.com> (raw)
In-Reply-To: <1363890878-8161-3-git-send-email-owasserm@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 1316 bytes --]
On 03/21/2013 12:34 PM, Orit Wasserman wrote:
> Signed-off-by: Orit Wasserman <owasserm@redhat.com>
> ---
> savevm.c | 15 +++++++++++++++
> 1 file changed, 15 insertions(+)
>
> diff --git a/savevm.c b/savevm.c
> index 35c8d1e..6608b6e 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -39,6 +39,7 @@
> #include "qmp-commands.h"
> #include "trace.h"
> #include "qemu/bitops.h"
> +#include "qemu/iov.h"
>
> #define SELF_ANNOUNCE_ROUNDS 5
>
> @@ -171,6 +172,19 @@ static void coroutine_fn yield_until_fd_readable(int fd)
> qemu_coroutine_yield();
> }
>
> +static int socket_writev_buffer(void *opaque, struct iovec *iov, int iovcnt)
Returning int...
> +{
> + QEMUFileSocket *s = opaque;
> + ssize_t len;
> + ssize_t size = iov_size(iov, iovcnt);
> +
> + len = iov_send(s->fd, iov, iovcnt, 0, size);
> + if (len < size) {
> + len = -socket_error();
> + }
> + return len;
...but len is an ssize_t. If we send an iov with 2 gigabytes of data,
this can wrap around to a negative int even though we send a positive
amount of data. Why not make the callback be typed to return ssize_t
from the beginning (affects patch 1/8)?
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 621 bytes --]
next prev parent reply other threads:[~2013-03-21 19:35 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-03-21 18:34 [Qemu-devel] [PATCH v4 0/8] Migration: Remove copying of guest ram pages Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 1/8] Add QemuFileWritevBuffer QemuFileOps Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 2/8] Add socket_writev_buffer function Orit Wasserman
2013-03-21 19:35 ` Eric Blake [this message]
2013-03-22 7:30 ` Orit Wasserman
2013-03-22 17:08 ` Eric Blake
2013-03-23 7:07 ` Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 3/8] Update bytes_xfer in qemu_put_byte Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 4/8] Store the data to send also in iovec Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 5/8] Use writev ops if available Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 6/8] Add qemu_put_buffer_async Orit Wasserman
2013-03-21 19:38 ` Eric Blake
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 7/8] Use qemu_put_buffer_async for guest memory pages Orit Wasserman
2013-03-21 18:34 ` [Qemu-devel] [PATCH v4 8/8] coalesce adjacent iovecs Orit Wasserman
2013-03-21 19:41 ` Eric Blake
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=514B60E5.6090707@redhat.com \
--to=eblake@redhat.com \
--cc=chegu_vinod@hp.com \
--cc=mst@redhat.com \
--cc=owasserm@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.