[{"id":1775832,"web_url":"http://patchwork.ozlabs.org/comment/1775832/","msgid":"<8df45cd3-8ea0-8455-2c1b-7d49c91aad97@redhat.com>","list_archive_url":null,"date":"2017-09-26T20:15:06","subject":"Re: [Qemu-devel] [PATCH v4 08/23] block: Switch\n\tbdrv_co_get_block_status() to byte-based","submitter":{"id":64343,"url":"http://patchwork.ozlabs.org/api/people/64343/","name":"John Snow","email":"jsnow@redhat.com"},"content":"On 09/13/2017 12:03 PM, Eric Blake wrote:\n> We are gradually converting to byte-based interfaces, as they are\n> easier to reason about than sector-based.  Convert another internal\n> function (no semantic change); and as with its public counterpart,\n> rename to bdrv_co_block_status() to make the compiler enforce that\n> we catch all uses.  For now, we assert that callers still pass\n> aligned data, but ultimately, this will be the function where we\n> hand off to a byte-based driver callback, and will eventually need\n> to add logic to ensure we round calls according to the driver's\n> request_alignment then touch up the result handed back to the\n> caller, to start permitting a caller to pass unaligned offsets.\n> \n> Note that we are now prepared to accepts 'bytes' larger than INT_MAX;\n> this is okay as long as we clamp things internally before violating\n> any 32-bit limits, and makes no difference to how a client will\n> use the information (clients looping over the entire file must\n> already be prepared for consecutive calls to return the same status,\n> as drivers are already free to return shorter-than-maximal status\n> due to any other convenient split points, such as when the L2 table\n> crosses cluster boundaries in qcow2).\n> \n> Signed-off-by: Eric Blake <eblake@redhat.com>\n\n\nReviewed-by: John Snow <jsnow@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=jsnow@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 3y1sjk2fB8z9t3m\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 27 Sep 2017 06:19:06 +1000 (AEST)","from localhost ([::1]:50999 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 1dwwJs-0006Or-DB\n\tfor incoming@patchwork.ozlabs.org; Tue, 26 Sep 2017 16:19:04 -0400","from eggs.gnu.org ([2001:4830:134:3::10]:44460)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <jsnow@redhat.com>) id 1dwwGm-000409-RT\n\tfor qemu-devel@nongnu.org; Tue, 26 Sep 2017 16:15:53 -0400","from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <jsnow@redhat.com>) id 1dwwGm-00044U-0a\n\tfor qemu-devel@nongnu.org; Tue, 26 Sep 2017 16:15:52 -0400","from mx1.redhat.com ([209.132.183.28]:34622)\n\tby eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <jsnow@redhat.com>)\n\tid 1dwwGf-00040b-Mi; Tue, 26 Sep 2017 16:15:45 -0400","from smtp.corp.redhat.com\n\t(int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13])\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 9CA6964DF;\n\tTue, 26 Sep 2017 20:15:43 +0000 (UTC)","from [10.18.17.130] (dhcp-17-130.bos.redhat.com [10.18.17.130])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id DC8377F1AB;\n\tTue, 26 Sep 2017 20:15:07 +0000 (UTC)"],"DMARC-Filter":"OpenDMARC Filter v1.3.2 mx1.redhat.com 9CA6964DF","To":"Eric Blake <eblake@redhat.com>, qemu-devel@nongnu.org","References":"<20170913160333.23622-1-eblake@redhat.com>\n\t<20170913160333.23622-9-eblake@redhat.com>","From":"John Snow <jsnow@redhat.com>","Message-ID":"<8df45cd3-8ea0-8455-2c1b-7d49c91aad97@redhat.com>","Date":"Tue, 26 Sep 2017 16:15:06 -0400","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":"<20170913160333.23622-9-eblake@redhat.com>","Content-Type":"text/plain; charset=utf-8","Content-Language":"en-US","Content-Transfer-Encoding":"7bit","X-Scanned-By":"MIMEDefang 2.79 on 10.5.11.13","X-Greylist":"Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.5.110.38]);\n\tTue, 26 Sep 2017 20:15:43 +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","Subject":"Re: [Qemu-devel] [PATCH v4 08/23] block: Switch\n\tbdrv_co_get_block_status() to byte-based","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":"kwolf@redhat.com, famz@redhat.com, Stefan Hajnoczi <stefanha@redhat.com>,\n\tqemu-block@nongnu.org, Max Reitz <mreitz@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>"}}]