From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:35415) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ5SM-0005YC-2v for qemu-devel@nongnu.org; Fri, 22 Mar 2013 13:08:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UJ5SK-0005Ub-1Z for qemu-devel@nongnu.org; Fri, 22 Mar 2013 13:08:42 -0400 Received: from mx1.redhat.com ([209.132.183.28]:25517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UJ5SJ-0005UP-Pf for qemu-devel@nongnu.org; Fri, 22 Mar 2013 13:08:39 -0400 Message-ID: <514C9014.9030607@redhat.com> Date: Fri, 22 Mar 2013 11:08:36 -0600 From: Eric Blake MIME-Version: 1.0 References: <1363890878-8161-1-git-send-email-owasserm@redhat.com> <1363890878-8161-3-git-send-email-owasserm@redhat.com> <514B60E5.6090707@redhat.com> <514C0880.9000005@redhat.com> In-Reply-To: <514C0880.9000005@redhat.com> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="----enig2MGTBERIEABEPXFOVHOCP" Subject: Re: [Qemu-devel] [PATCH v4 2/8] Add socket_writev_buffer function List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Orit Wasserman Cc: pbonzini@redhat.com, quintela@redhat.com, chegu_vinod@hp.com, qemu-devel@nongnu.org, mst@redhat.com This is an OpenPGP/MIME signed message (RFC 4880 and 3156) ------enig2MGTBERIEABEPXFOVHOCP Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On 03/22/2013 01:30 AM, Orit Wasserman wrote: >>> =20 >>> +static int socket_writev_buffer(void *opaque, struct iovec *iov, int= iovcnt) >> >> Returning int... >> >>> +{ >>> + QEMUFileSocket *s =3D opaque; >>> + ssize_t len; >>> + ssize_t size =3D iov_size(iov, iovcnt); >>> + >>> + len =3D iov_send(s->fd, iov, iovcnt, 0, size); >>> + if (len < size) { >>> + len =3D -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)? > At the moment it is not an issue but for the future we need to switch t= o ssize_t=20 > instead on int, I will change it. > We actually need to replace it all around the migration code but this s= hould > be done in a different patch series. I agree that the existing code base is in horrible shape with regards to int instead of ssize_t, and that it will take a different patch series to clean that up. But why make that future patch harder? New interfaces might as well be designed correctly, to limit the cleanup to the old interfaces, instead of making the cleanup job even harder. --=20 Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org ------enig2MGTBERIEABEPXFOVHOCP Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.13 (GNU/Linux) Comment: Public key at http://people.redhat.com/eblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBCAAGBQJRTJAUAAoJEKeha0olJ0Nq5rcH/RnmG9YnacVvcN1I9eYQRncc WjuqTmgV0ZVa/U/xp6/rgclSW6U66SYtdG0TeHybPAAa6vDfK7cJtbeMkLaPCWC0 5H90CsZYruNhlJsX7VpQc6/cmYKAdAijU2FITlKVXtoTS9sCmIe7ZWVCR8OFlTzH vFH1R13AL8ExUq1yW3sgfSRLeSWdQm2jBixDzea3ijxGHjd8CEglJ5WrlByYL+AQ tX7/01miNYXUztyL0AVUGjM+Tc/AOV+jfwpngCwn8BNyF2YUhYiNFlIBUuX1t9K8 W7CFwWWF8ODimByllDYHoNcg6oZngzzsxcj7D9qPTArqSx4tg1xa2IZ0siT5gBU= =/GKN -----END PGP SIGNATURE----- ------enig2MGTBERIEABEPXFOVHOCP--