Cover Letter Detail
Show a cover letter.
GET /api/covers/813049/?format=api
{ "id": 813049, "url": "http://patchwork.ozlabs.org/api/covers/813049/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170912203119.24166-1-eblake@redhat.com/", "project": { "id": 14, "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api", "name": "QEMU Development", "link_name": "qemu-devel", "list_id": "qemu-devel.nongnu.org", "list_email": "qemu-devel@nongnu.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<20170912203119.24166-1-eblake@redhat.com>", "list_archive_url": null, "date": "2017-09-12T20:30:59", "name": "[v7,00/20] make dirty-bitmap byte-based", "submitter": { "id": 6591, "url": "http://patchwork.ozlabs.org/api/people/6591/?format=api", "name": "Eric Blake", "email": "eblake@redhat.com" }, "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170912203119.24166-1-eblake@redhat.com/mbox/", "series": [ { "id": 2770, "url": "http://patchwork.ozlabs.org/api/series/2770/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=2770", "date": "2017-09-12T20:31:00", "name": "make dirty-bitmap byte-based", "version": 7, "mbox": "http://patchwork.ozlabs.org/series/2770/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/813049/comments/", "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-mx04.extmail.prod.ext.phx2.redhat.com;\n\tdmarc=none (p=none dis=none) header.from=redhat.com", "ext-mx04.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 3xsGgm33skz9sPk\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 13 Sep 2017 06:32:36 +1000 (AEST)", "from localhost ([::1]:38437 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 1drrrG-0001eU-ED\n\tfor incoming@patchwork.ozlabs.org; Tue, 12 Sep 2017 16:32:34 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:39208)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1drrqG-0001UV-DI\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 16:31:33 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1drrqF-0005O7-2l\n\tfor qemu-devel@nongnu.org; Tue, 12 Sep 2017 16:31:32 -0400", "from mx1.redhat.com ([209.132.183.28]:38344)\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>)\n\tid 1drrqA-0005ID-MQ; Tue, 12 Sep 2017 16:31:26 -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 98D958553C;\n\tTue, 12 Sep 2017 20:31:25 +0000 (UTC)", "from red.redhat.com (ovpn-120-44.rdu2.redhat.com [10.10.120.44])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 99BF660461;\n\tTue, 12 Sep 2017 20:31:21 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com 98D958553C", "From": "Eric Blake <eblake@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Tue, 12 Sep 2017 15:30:59 -0500", "Message-Id": "<20170912203119.24166-1-eblake@redhat.com>", "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.28]);\n\tTue, 12 Sep 2017 20:31:25 +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": "[Qemu-devel] [PATCH v7 00/20] make dirty-bitmap 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, vsementsov@virtuozzo.com, jsnow@redhat.com,\n\tqemu-block@nongnu.org", "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>" }, "content": "There are patches floating around to add NBD_CMD_BLOCK_STATUS,\nbut NBD wants to report status on byte granularity (even if the\nreporting will probably be naturally aligned to sectors or even\nmuch higher levels). I've therefore started the task of\nconverting our block status code to report at a byte granularity\nrather than sectors.\n\nNow that 2.11 is open, I'm rebasing/reposting the remaining patches.\n\nThe overall conversion currently looks like:\npart 1: bdrv_is_allocated (merged in 2.10, commit 51b0a488)\npart 2: dirty-bitmap (this series, v6 was here [1])\npart 3: bdrv_get_block_status (v3 is posted [2] and is mostly reviewed, but\nneeds a rebase)\npart 4: .bdrv_co_block_status (v2 is posted [3], but needs a rebase)\n\nAvailable as a tag at:\ngit fetch git://repo.or.cz/qemu/ericb.git nbd-byte-dirty-v7\n\n[1] https://lists.gnu.org/archive/html/qemu-devel/2017-08/msg06247.html\n[2] https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg03853.html\n[3] https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg04370.html\n\nDiff from v6:\n- split v6 patch 5/18 into 3 parts in 5-7/20 [Kevin]\n- improve bdrv_dirty_iter_next() interface in 11/20 [Kevin]\n- fix missing trace conversion in 12/20 [Kevin]\n- stricter conversions in 16/20, 18/20 [Kevin]\n- rebase to above in 20/20\n\n001/20:[----] [--] 'block: Make bdrv_img_create() size selection easier to read'\n002/20:[----] [--] 'hbitmap: Rename serialization_granularity to serialization_align'\n003/20:[----] [--] 'qcow2: Ensure bitmap serialization is aligned'\n004/20:[----] [--] 'dirty-bitmap: Drop unused functions'\n005/20:[down] 'dirty-bitmap: Check for size query failure during truncate'\n006/20:[0028] [FC] 'dirty-bitmap: Change bdrv_dirty_bitmap_size() to report bytes'\n007/20:[down] 'dirty-bitmap: Track bitmap size by bytes'\n008/20:[----] [--] 'dirty-bitmap: Change bdrv_dirty_bitmap_*serialize*() to take bytes'\n009/20:[----] [--] 'qcow2: Switch sectors_covered_by_bitmap_cluster() to byte-based'\n010/20:[----] [-C] 'dirty-bitmap: Set iterator start by offset, not sector'\n011/20:[0005] [FC] 'dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset'\n012/20:[0003] [FC] 'dirty-bitmap: Change bdrv_get_dirty_count() to report bytes'\n013/20:[----] [--] 'dirty-bitmap: Change bdrv_get_dirty_locked() to take bytes'\n014/20:[----] [--] 'dirty-bitmap: Change bdrv_[re]set_dirty_bitmap() to use bytes'\n015/20:[----] [--] 'mirror: Switch mirror_dirty_init() to byte-based iteration'\n016/20:[0002] [FC] 'qcow2: Switch qcow2_measure() to byte-based iteration'\n017/20:[----] [--] 'qcow2: Switch load_bitmap_data() to byte-based iteration'\n018/20:[0006] [FC] 'qcow2: Switch store_bitmap_data() to byte-based iteration'\n019/20:[----] [--] 'dirty-bitmap: Switch bdrv_set_dirty() to bytes'\n020/20:[0003] [FC] 'dirty-bitmap: Convert internal hbitmap size/granularity'\n\nEric Blake (20):\n block: Make bdrv_img_create() size selection easier to read\n hbitmap: Rename serialization_granularity to serialization_align\n qcow2: Ensure bitmap serialization is aligned\n dirty-bitmap: Drop unused functions\n dirty-bitmap: Check for size query failure during truncate\n dirty-bitmap: Change bdrv_dirty_bitmap_size() to report bytes\n dirty-bitmap: Track bitmap size by bytes\n dirty-bitmap: Change bdrv_dirty_bitmap_*serialize*() to take bytes\n qcow2: Switch sectors_covered_by_bitmap_cluster() to byte-based\n dirty-bitmap: Set iterator start by offset, not sector\n dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset\n dirty-bitmap: Change bdrv_get_dirty_count() to report bytes\n dirty-bitmap: Change bdrv_get_dirty_locked() to take bytes\n dirty-bitmap: Change bdrv_[re]set_dirty_bitmap() to use bytes\n mirror: Switch mirror_dirty_init() to byte-based iteration\n qcow2: Switch qcow2_measure() to byte-based iteration\n qcow2: Switch load_bitmap_data() to byte-based iteration\n qcow2: Switch store_bitmap_data() to byte-based iteration\n dirty-bitmap: Switch bdrv_set_dirty() to bytes\n dirty-bitmap: Convert internal hbitmap size/granularity\n\n include/block/block_int.h | 2 +-\n include/block/dirty-bitmap.h | 43 +++++---------\n include/qemu/hbitmap.h | 8 +--\n block/io.c | 6 +-\n block.c | 21 +++++--\n block/backup.c | 7 +--\n block/dirty-bitmap.c | 137 +++++++++++++++----------------------------\n block/mirror.c | 79 ++++++++++---------------\n block/qcow2-bitmap.c | 57 +++++++++---------\n block/qcow2.c | 22 ++++---\n migration/block.c | 12 ++--\n tests/test-hbitmap.c | 10 ++--\n util/hbitmap.c | 8 +--\n 13 files changed, 175 insertions(+), 237 deletions(-)" }