[{"id":1760480,"web_url":"http://patchwork.ozlabs.org/comment/1760480/","msgid":"<14f7fc10-be58-0204-06f2-ea5a33484018@redhat.com>","list_archive_url":null,"date":"2017-08-30T20:44:00","subject":"Re: [Qemu-devel] [PATCH v2 1/2] tests: Use real size for iov tests","submitter":{"id":9894,"url":"http://patchwork.ozlabs.org/api/people/9894/","name":"Cleber Rosa","email":"crosa@redhat.com"},"content":"On 08/30/2017 07:33 AM, Juan Quintela wrote:\n> We were using -1 instead of the real size because the functions check\n> what is bigger, size in bytes or the size of the iov.  Recent gcc's\n> barf at this.\n> \n> Signed-off-by: Juan Quintela <quintela@redhat.com>\n> \n> --\n> \n> Remove comments about this feature.\n> Fix missing -1.\n> ---\n>  include/qemu/iov.h |  6 ------\n>  tests/test-iov.c   | 10 +++++-----\n>  2 files changed, 5 insertions(+), 11 deletions(-)\n> \n> diff --git a/include/qemu/iov.h b/include/qemu/iov.h\n> index bd9fd55b0a..72d4c559b4 100644\n> --- a/include/qemu/iov.h\n> +++ b/include/qemu/iov.h\n> @@ -31,11 +31,6 @@ size_t iov_size(const struct iovec *iov, const unsigned int iov_cnt);\n>   * Number of bytes actually copied will be returned, which is\n>   *  min(bytes, iov_size(iov)-offset)\n>   * `Offset' must point to the inside of iovec.\n> - * It is okay to use very large value for `bytes' since we're\n> - * limited by the size of the iovec anyway, provided that the\n> - * buffer pointed to by buf has enough space.  One possible\n> - * such \"large\" value is -1 (sinice size_t is unsigned),\n> - * so specifying `-1' as `bytes' means 'up to the end of iovec'.\n>   */\n>  size_t iov_from_buf_full(const struct iovec *iov, unsigned int iov_cnt,\n>                           size_t offset, const void *buf, size_t bytes);\n> @@ -76,7 +71,6 @@ iov_to_buf(const struct iovec *iov, const unsigned int iov_cnt,\n>   * up to the end of it, will be filled with the specified value.\n>   * Function return actual number of bytes processed, which is\n>   * min(size, iov_size(iov) - offset).\n> - * Again, it is okay to use large value for `bytes' to mean \"up to the end\".\n>   */\n>  size_t iov_memset(const struct iovec *iov, const unsigned int iov_cnt,\n>                    size_t offset, int fillc, size_t bytes);\n> diff --git a/tests/test-iov.c b/tests/test-iov.c\n> index a22d71fd2c..f40f8f5260 100644\n> --- a/tests/test-iov.c\n> +++ b/tests/test-iov.c\n> @@ -81,17 +81,17 @@ static void test_to_from_buf_1(void)\n>            * skip whole vector and process exactly 0 bytes */\n>  \n>           /* first set bytes [i..sz) to some \"random\" value */\n> -         n = iov_memset(iov, niov, 0, 0xff, -1);\n> +         n = iov_memset(iov, niov, 0, 0xff, sz);\n>           g_assert(n == sz);\n>  \n>           /* next copy bytes [i..sz) from ibuf to iovec */\n> -         n = iov_from_buf(iov, niov, i, ibuf + i, -1);\n> +         n = iov_from_buf(iov, niov, i, ibuf + i, sz - i);\n>           g_assert(n == sz - i);\n>  \n>           /* clear part of obuf */\n>           memset(obuf + i, 0, sz - i);\n>           /* and set this part of obuf to values from iovec */\n> -         n = iov_to_buf(iov, niov, i, obuf + i, -1);\n> +         n = iov_to_buf(iov, niov, i, obuf + i, sz - i);\n>           g_assert(n == sz - i);\n>  \n>           /* now compare resulting buffers */\n> @@ -109,7 +109,7 @@ static void test_to_from_buf_1(void)\n>                * with j in [i..sz]. */\n>  \n>               /* clear iovec */\n> -             n = iov_memset(iov, niov, 0, 0xff, -1);\n> +             n = iov_memset(iov, niov, 0, 0xff, sz);\n>               g_assert(n == sz);\n>  \n>               /* copy bytes [i..j) from ibuf to iovec */\n> @@ -226,7 +226,7 @@ static void test_io(void)\n>         for (i = 0; i <= sz; ++i) {\n>             for (j = i; j <= sz; ++j) {\n>                 k = i;\n> -               iov_memset(iov, niov, 0, 0xff, -1);\n> +               iov_memset(iov, niov, 0, 0xff, sz);\n>                 do {\n>                     s = g_test_rand_int_range(0, j - k + 1);\n>                     r = iov_recv(sv[0], iov, niov, k, s);\n> \n\nTested-by: Cleber Rosa <crosa@redhat.com>","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx09.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=crosa@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjHYj0sWlz9s7M\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 06:44:41 +1000 (AEST)","from localhost ([::1]:52596 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dn9qp-00012M-95\n\tfor incoming@patchwork.ozlabs.org; Wed, 30 Aug 2017 16:44:39 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:60028)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <crosa@redhat.com>) id 1dn9qL-000110-9K\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 16:44:10 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <crosa@redhat.com>) id 1dn9qI-0007Ta-4K\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 16:44:09 -0400","from mx1.redhat.com ([209.132.183.28]:58306)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <crosa@redhat.com>) id 1dn9qH-0007TS-Q5\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 16:44:06 -0400","from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id C097C4A6EF\n\tfor <qemu-devel@nongnu.org>; Wed, 30 Aug 2017 20:44:04 +0000 (UTC)","from dhcp-17-72.bos.redhat.com (dhcp-17-72.bos.redhat.com\n\t[10.18.17.72])\n\tby smtp.corp.redhat.com (Postfix) with ESMTPS id C4E5598146;\n\tWed, 30 Aug 2017 20:44:01 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com C097C4A6EF","To":"Juan Quintela <quintela@redhat.com>, qemu-devel@nongnu.org","References":"<20170830113319.6749-1-quintela@redhat.com>\n\t<20170830113319.6749-2-quintela@redhat.com>","From":"Cleber Rosa <crosa@redhat.com>","Message-ID":"<14f7fc10-be58-0204-06f2-ea5a33484018@redhat.com>","Date":"Wed, 30 Aug 2017 16:44:00 -0400","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.2.1","MIME-Version":"1.0","In-Reply-To":"<20170830113319.6749-2-quintela@redhat.com>","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"TaWovnaMFeqXskNUpLOlfXFEwv3T07flv\"","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.16","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tWed, 30 Aug 2017 20:44:04 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","X-Content-Filtered-By":"Mailman/MimeDel 2.1.21","Subject":"Re: [Qemu-devel] [PATCH v2 1/2] tests: Use real size for iov tests","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"lvivier@redhat.com, pbonzini@redhat.com, dgilbert@redhat.com,\n\tpeterx@redhat.com","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}},{"id":1760500,"web_url":"http://patchwork.ozlabs.org/comment/1760500/","msgid":"<2086297c-f647-e993-3fe8-339380c7f5d5@redhat.com>","list_archive_url":null,"date":"2017-08-30T21:10:26","subject":"Re: [Qemu-devel] [PATCH v2 1/2] tests: Use real size for iov tests","submitter":{"id":6591,"url":"http://patchwork.ozlabs.org/api/people/6591/","name":"Eric Blake","email":"eblake@redhat.com"},"content":"On 08/30/2017 06:33 AM, Juan Quintela wrote:\n> We were using -1 instead of the real size because the functions check\n> what is bigger, size in bytes or the size of the iov.  Recent gcc's\n> barf at this.\n> \n> Signed-off-by: Juan Quintela <quintela@redhat.com>\n> \n> --\n> \n> Remove comments about this feature.\n> Fix missing -1.\n> ---\n>  include/qemu/iov.h |  6 ------\n>  tests/test-iov.c   | 10 +++++-----\n>  2 files changed, 5 insertions(+), 11 deletions(-)\n> \n> diff --git a/include/qemu/iov.h b/include/qemu/iov.h\n> index bd9fd55b0a..72d4c559b4 100644\n> --- a/include/qemu/iov.h\n> +++ b/include/qemu/iov.h\n> @@ -31,11 +31,6 @@ size_t iov_size(const struct iovec *iov, const unsigned int iov_cnt);\n>   * Number of bytes actually copied will be returned, which is\n>   *  min(bytes, iov_size(iov)-offset)\n>   * `Offset' must point to the inside of iovec.\n> - * It is okay to use very large value for `bytes' since we're\n> - * limited by the size of the iovec anyway, provided that the\n> - * buffer pointed to by buf has enough space.\n\nIs this part of the comment still okay?\n\n>  One possible\n> - * such \"large\" value is -1 (sinice size_t is unsigned),\n\nNice that we're losing the typo in the process :)\n\n> - * so specifying `-1' as `bytes' means 'up to the end of iovec'.\n\nI agree with dropping this though.  As mentioned elsewhere, we had\ncrossed mails between v1 reviews and v2 submission, so we'll probably\nneed a v3 anyways.","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=nongnu.org\n\t(client-ip=2001:4830:134:3::11; helo=lists.gnu.org;\n\tenvelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n\treceiver=<UNKNOWN>)","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com","ext-mx07.extmail.prod.ext.phx2.redhat.com;\n\tspf=fail smtp.mailfrom=eblake@redhat.com"],"Received":["from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11])\n\t(using TLSv1 with cipher AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xjJQq5DHpz9sP5\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 07:23:47 +1000 (AEST)","from localhost ([::1]:52782 helo=lists.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.71) (envelope-from\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>)\n\tid 1dnASf-00030L-RN\n\tfor incoming@patchwork.ozlabs.org; Wed, 30 Aug 2017 17:23:45 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:38299)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1dnAFv-00083Q-3Y\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 17:10:36 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1dnAFr-0000ZM-TY\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 17:10:35 -0400","from mx1.redhat.com ([209.132.183.28]:48418)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <eblake@redhat.com>) id 1dnAFr-0000Ym-Kg\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 17:10:31 -0400","from smtp.corp.redhat.com\n\t(int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id AB5AFC04B938\n\tfor <qemu-devel@nongnu.org>; Wed, 30 Aug 2017 21:10:30 +0000 (UTC)","from [10.10.122.186] (ovpn-122-186.rdu2.redhat.com [10.10.122.186])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 9E7DE18AD9;\n\tWed, 30 Aug 2017 21:10:26 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com AB5AFC04B938","To":"Juan Quintela <quintela@redhat.com>, qemu-devel@nongnu.org","References":"<20170830113319.6749-1-quintela@redhat.com>\n\t<20170830113319.6749-2-quintela@redhat.com>","From":"Eric Blake <eblake@redhat.com>","Openpgp":"url=http://people.redhat.com/eblake/eblake.gpg","Organization":"Red Hat, Inc.","Message-ID":"<2086297c-f647-e993-3fe8-339380c7f5d5@redhat.com>","Date":"Wed, 30 Aug 2017 16:10:26 -0500","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101\n\tThunderbird/52.3.0","MIME-Version":"1.0","In-Reply-To":"<20170830113319.6749-2-quintela@redhat.com>","Content-Type":"multipart/signed; micalg=pgp-sha256;\n\tprotocol=\"application/pgp-signature\";\n\tboundary=\"IaEmC0sSac7D52xgaJw2edfwKWB8q9LGR\"","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.11","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.31]);\n\tWed, 30 Aug 2017 21:10:30 +0000 (UTC)","X-detected-operating-system":"by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic]\n\t[fuzzy]","X-Received-From":"209.132.183.28","X-Content-Filtered-By":"Mailman/MimeDel 2.1.21","Subject":"Re: [Qemu-devel] [PATCH v2 1/2] tests: Use real size for iov tests","X-BeenThere":"qemu-devel@nongnu.org","X-Mailman-Version":"2.1.21","Precedence":"list","List-Id":"<qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<http://lists.nongnu.org/archive/html/qemu-devel/>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n\t<mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Cc":"lvivier@redhat.com, pbonzini@redhat.com, dgilbert@redhat.com,\n\tpeterx@redhat.com","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"\"Qemu-devel\"\n\t<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>"}}]