Cover Letter Detail
Show a cover letter.
GET /api/covers/807891/?format=api
{ "id": 807891, "url": "http://patchwork.ozlabs.org/api/covers/807891/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/cover/20170830210542.2153-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": "<20170830210542.2153-1-eblake@redhat.com>", "list_archive_url": null, "date": "2017-08-30T21:05:24", "name": "[v6,00/18] 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/20170830210542.2153-1-eblake@redhat.com/mbox/", "series": [ { "id": 700, "url": "http://patchwork.ozlabs.org/api/series/700/?format=api", "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=700", "date": "2017-08-30T21:05:25", "name": "make dirty-bitmap byte-based", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/700/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/covers/807891/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-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 3xjJ3V5kcDz9s8P\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 31 Aug 2017 07:07:02 +1000 (AEST)", "from localhost ([::1]:52688 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 1dnACS-0003sg-Qx\n\tfor incoming@patchwork.ozlabs.org; Wed, 30 Aug 2017 17:07:00 -0400", "from eggs.gnu.org ([2001:4830:134:3::10]:36832)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1dnABT-0003e9-A9\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 17:06:02 -0400", "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <eblake@redhat.com>) id 1dnABQ-0007KQ-NI\n\tfor qemu-devel@nongnu.org; Wed, 30 Aug 2017 17:05:59 -0400", "from mx1.redhat.com ([209.132.183.28]:39042)\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 1dnABK-0007Bp-6B; Wed, 30 Aug 2017 17:05:50 -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 C5CB5C04B924;\n\tWed, 30 Aug 2017 21:05:48 +0000 (UTC)", "from red.redhat.com (ovpn-122-186.rdu2.redhat.com [10.10.122.186])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 8D99D77557;\n\tWed, 30 Aug 2017 21:05:45 +0000 (UTC)" ], "DMARC-Filter": "OpenDMARC Filter v1.3.2 mx1.redhat.com C5CB5C04B924", "From": "Eric Blake <eblake@redhat.com>", "To": "qemu-devel@nongnu.org", "Date": "Wed, 30 Aug 2017 16:05:24 -0500", "Message-Id": "<20170830210542.2153-1-eblake@redhat.com>", "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.31]);\n\tWed, 30 Aug 2017 21:05:49 +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 v6 00/18] 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, v5 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-v6\n\n[1] https://lists.gnu.org/archive/html/qemu-devel/2017-07/msg03512.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 v5:\n- add another patch (more for ease of bookkeeping, as it was previously\nposted independently)\n- drop bug fixes that were hoisted into 2.10 (v5 1/18, plus 14/18)\n\n001/18:[down] 'block: Make bdrv_img_create() size selection easier to read'\n002/18:[----] [--] 'hbitmap: Rename serialization_granularity to serialization_align'\n003/18:[----] [--] 'qcow2: Ensure bitmap serialization is aligned'\n004/18:[----] [--] 'dirty-bitmap: Drop unused functions'\n005/18:[----] [--] 'dirty-bitmap: Change bdrv_dirty_bitmap_size() to report bytes'\n006/18:[----] [--] 'dirty-bitmap: Change bdrv_dirty_bitmap_*serialize*() to take bytes'\n007/18:[----] [--] 'qcow2: Switch sectors_covered_by_bitmap_cluster() to byte-based'\n008/18:[----] [--] 'dirty-bitmap: Set iterator start by offset, not sector'\n009/18:[----] [--] 'dirty-bitmap: Change bdrv_dirty_iter_next() to report byte offset'\n010/18:[----] [--] 'dirty-bitmap: Change bdrv_get_dirty_count() to report bytes'\n011/18:[----] [--] 'dirty-bitmap: Change bdrv_get_dirty_locked() to take bytes'\n012/18:[----] [--] 'dirty-bitmap: Change bdrv_[re]set_dirty_bitmap() to use bytes'\n013/18:[----] [--] 'mirror: Switch mirror_dirty_init() to byte-based iteration'\n014/18:[0004] [FC] 'qcow2: Switch qcow2_measure() to byte-based iteration'\n015/18:[----] [--] 'qcow2: Switch load_bitmap_data() to byte-based iteration'\n016/18:[----] [--] 'qcow2: Switch store_bitmap_data() to byte-based iteration'\n017/18:[----] [--] 'dirty-bitmap: Switch bdrv_set_dirty() to bytes'\n018/18:[----] [--] 'dirty-bitmap: Convert internal hbitmap size/granularity'\n\nEric Blake (18):\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: Change bdrv_dirty_bitmap_size() to report 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 | 41 +++++---------\n include/qemu/hbitmap.h | 8 +--\n block/io.c | 6 +-\n block.c | 2 +-\n block/backup.c | 7 +--\n block/dirty-bitmap.c | 130 ++++++++++++++-----------------------------\n block/mirror.c | 76 +++++++++++--------------\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, 154 insertions(+), 227 deletions(-)" }