get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/809585/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 809585,
    "url": "http://patchwork.ozlabs.org/api/patches/809585/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170904101800.22945-1-pbutsykin@virtuozzo.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": "<20170904101800.22945-1-pbutsykin@virtuozzo.com>",
    "list_archive_url": null,
    "date": "2017-09-04T10:18:00",
    "name": "qcow2: move qcow2_store_persistent_dirty_bitmaps() before cache flushing",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "2ac4372101ff88b8cf8d8efc9a159820ed1390d8",
    "submitter": {
        "id": 67271,
        "url": "http://patchwork.ozlabs.org/api/people/67271/?format=api",
        "name": "Pavel Butsykin",
        "email": "pbutsykin@virtuozzo.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20170904101800.22945-1-pbutsykin@virtuozzo.com/mbox/",
    "series": [
        {
            "id": 1348,
            "url": "http://patchwork.ozlabs.org/api/series/1348/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=1348",
            "date": "2017-09-04T10:18:00",
            "name": "qcow2: move qcow2_store_persistent_dirty_bitmaps() before cache flushing",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/1348/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/809585/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/809585/checks/",
    "tags": {},
    "related": [],
    "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>)",
            "ozlabs.org;\n\tdkim=fail reason=\"signature verification failed\" (1024-bit key;\n\tunprotected) header.d=virtuozzo.com header.i=@virtuozzo.com\n\theader.b=\"bIAj4sfd\"; dkim-atps=neutral",
            "spf=none (sender IP is )\n\tsmtp.mailfrom=pbutsykin@virtuozzo.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 3xm5Rk23dPz9s7m\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon,  4 Sep 2017 20:19:14 +1000 (AEST)",
            "from localhost ([::1]:50437 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 1dooTI-0000um-EO\n\tfor incoming@patchwork.ozlabs.org; Mon, 04 Sep 2017 06:19:12 -0400",
            "from eggs.gnu.org ([2001:4830:134:3::10]:49367)\n\tby lists.gnu.org with esmtp (Exim 4.71)\n\t(envelope-from <pbutsykin@virtuozzo.com>) id 1dooSo-0000qW-GL\n\tfor qemu-devel@nongnu.org; Mon, 04 Sep 2017 06:18:48 -0400",
            "from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)\n\t(envelope-from <pbutsykin@virtuozzo.com>) id 1dooSj-0006AY-O8\n\tfor qemu-devel@nongnu.org; Mon, 04 Sep 2017 06:18:42 -0400",
            "from mail-db5eur01on0136.outbound.protection.outlook.com\n\t([104.47.2.136]:26439\n\thelo=EUR01-DB5-obe.outbound.protection.outlook.com)\n\tby eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32)\n\t(Exim 4.71) (envelope-from <pbutsykin@virtuozzo.com>)\n\tid 1dooSZ-00063d-6n; Mon, 04 Sep 2017 06:18:27 -0400",
            "from pavelb-Z68P-DS3.sw.ru (195.214.232.6) by\n\tDB6PR0802MB2552.eurprd08.prod.outlook.com (2603:10a6:4:a1::22) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10;\n\tMon, 4 Sep 2017 10:18:23 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com;\n\ts=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=MMtGvFwPCV1uWHlNSiNGTd6cmWi6re8aXMXIMr09pPM=;\n\tb=bIAj4sfd2R5xaW0r0kPnzzQy1cYZa/aLk0EVkegaBRhB2ve7k0rh/UPZX46/ALuFjyGfHLeWD5GAs7rf/H9r5vqXX/hChiF5c4bu1LSWQ3oYIvKu65OMVUUz+TPkZpH4dxHiPr9jtrz3fdOo0qNMudGW3yy1H4TjXlAri5rAj/M=",
        "From": "Pavel Butsykin <pbutsykin@virtuozzo.com>",
        "To": "qemu-block@nongnu.org,\n\tqemu-devel@nongnu.org",
        "Date": "Mon,  4 Sep 2017 13:18:00 +0300",
        "Message-ID": "<20170904101800.22945-1-pbutsykin@virtuozzo.com>",
        "X-Mailer": "git-send-email 2.14.1",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "quoted-printable",
        "X-Originating-IP": "[195.214.232.6]",
        "X-ClientProxiedBy": "VI1PR0102CA0011.eurprd01.prod.exchangelabs.com\n\t(2603:10a6:802::24) To DB6PR0802MB2552.eurprd08.prod.outlook.com\n\t(2603:10a6:4:a1::22)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "c0199546-0969-45da-b6d7-08d4f37e4658",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095);\n\tSRVR:DB6PR0802MB2552; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DB6PR0802MB2552;\n\t3:J7VEaA7p8k4z97VcLMHdnIQXI1+sp8+vAbM1OBcEnIKtyujZTgra9We+1Sa71ci4wFp4Li/V3kjLmGtHo4DsU7V4gI0x7U3Wv7HsRMKMHXDbcsNRgusdWOk9ekDywjbYbwBHptTc+0ZLryZevrbwWB6axLolKubj8VOP0rg3GoDVn59knryCDTCYva9RmExj3noT96Y015QavnP2FZ4Me2wmMqdpLD7Ffq9TK3x9UY++8BnI0t5M3l0IbiNrw7mg;\n\t25:nXkkupJUm6lqfBaWOfdPD0FYTbh/BRt/UV4yFcZDERw/IXw3qyZfNXjXHQgkWMaceUP2BuZvIl8t0ihBSNkkciF6DfLjVhZcQmDJO1xRthidVHlLPUeeK9UgTGIXIcGcAcAcX5CJicf1BKHBFbLYJRO0LnM1Fm+jvkETOy/lWj0usqoKxmma+9Y6Z1Anfj5TjC5mrfG9PbWsAHWfpIZYywRW2h06OYrv2TPt8uzzrYEPLo6SZaEh0eALmLTOF2MOaOd4l3sfyctjsHqOZ6/fQNo3GKPNUac1r6zkuTc97Nia14v2YHgtaXPs+BV/cKr6/oF5dRAtXlQPqDKVV6oZrA==;\n\t31:rZWO+8cNANzR9fBNVRE0a2f/k3OM4jecrxK+Nogu1vf0vKaDzXAqgW4ymw7+QVYqduFTEdXUsdAlyBWm2k8jgat3vI5owZK3nxnI46mWxrBDBMpu0gOlHG8yAeoU2EnOra66ow+C/97vYicKxHPQ45HkKDwMheSZLS4/z7YL47Wz682O9fUkuzkso5HzJOaB7/p1f1/JcorF+znA9iaJK8AilZPYpf9iWXfVYz4/YGM=",
            "1; DB6PR0802MB2552;\n\t20:RqkEngG1TV/bd8OL7gTDBQv0LN/9wmLPvanhaoluoZyi4DVtY0shlg5oRKHpI2M9rEuvs5AyLoqTiCpqKSL8nVu9b+Krq6MzzdZcZocWLKKnzTHDDtQqeLkY7Sc5n1MQJXGcHRDUPF5ZDB9ESG3amMIyJJcnuO22ImQMaVcETxuzm6ZfCfJdoN3mVZdX8vN5TsIa2QvUSX0/wVvcYouJgS/2OGHFVqul+tx1nynGvMhIBUf5AwDPLGxm8/d4S2kqHvHubh4QBv5iQJvbB2UG9Om2CdD/M6Gbs8qJjrKTOkm/1jeqX3wg2tJIhunStyb+d3RG/39pbcyvxnlRG8cVsnB3QOHriD0r+UnYR0qmKDxLPMMkpiGlewJNsrKE5yrXzLfFqe3VjmL9BtpVeHtMvpZ81De1in1FREuUru3cx9g=;\n\t4:95S4W3W+ur5QpdFhu4q0Ar9Ps6SEq9ZbETetPonuS0G2nd7hpm1ZkNc6HbjWdlrPJFNp6qcEbuM/St6NRgFs6/Zo2i+/s6v7B9n7H6QaaYHyCPTQ40flzZFC/WfRTuXGizzpcYINuhuUr0TvkHGS/11seQxZOoX3nGaFU6SELSLrx7K8VYJUuJ1KsG0tpW4qjvpyKwEne8tbJWHXxr7ZBPMsZfe+iOvsUTEnBPrqzbqhsnW9l2+W0j90aJEmvRY9",
            "=?us-ascii?Q?1; DB6PR0802MB2552;\n\t23:R0yYlkeWpp6Ih5aROqQ9N0hBUVvidGRzXeoIHTE?=\n\tAO3V7mUq9BlrJUYJNdU9jAm7tzZzzEos0HL867D0pComNo/hyAy/7bxPPcaMq9T/75RW32uLtkFK1CoHmB/7pAnS+3fENcdYXVmaGy9aiHzAtqHs45I4PTcLuutjcJHWft64hmSwBohjZU6Tr04a3lyYkiblqiapThDqhNca3Uzh2bsw7b1HHGORMubsAMPFZWBsN4XO5HATHf9JSq44qHRMBYbgzl09JwrZogpXap5PIEGswHBm6cBWzSIudNDk0FicUMe/lvTm6EncXRAkWmDvBjmOjfHDGrGF5nNMWzwxyPRGI+mCvCREBi3nhlTamjEWc/p/qzwjRdo8XwAnYTaql9gEkRXBx7ScCciBIfWufNFZ3G4J0U/TCGUw53HuDyEgrf+4vr5vKAkYFZRBP6olxkM/EyrAbCXo+sbiPhu++z31XfgWXr9x8vVilh4hJdrS+t6BTi8/J4p5JbfxYRLQXcopcessyr1RBEILGl7ft8Hi2Sha3Xh6hMLRxYG7+uTGTg4Dxvrh64c7HN6Hu85vFI0HJGRjfvXg6868BuHjcSpR5fVqFq06cZdR8A6DnFA6UHpUrooDiv4Rg944QQs4p3eSXzU0sT/u8gPJtTYTo3IbR6aPnlQz0I4dvgcPv4jqMbSyvcrlP/HWID3QeaweogL7aqxanAvId6v9J8/FYz0WOv2rnwlu6O+WSYIl1V1Ek7dTqOC61mk3jpO2csQ3r24eiWniclD/raS1ltfCEGXGdnerTbO+EJgjr1TqGO6CjKBf6f+cXEraqonk5/zRcX5sPwT16+D61ZHF42KKjjQBHlZGbOg2+qwy3eqOk5cRr+sgz/S6ae2CF1wkzdZi9U7ocqlZO9dbR+nF3/a9pCIBDybKVC2+3+xg7WP9diXupPvqj7gyAUvLcq9SwF7x6UdIuHE9nSxBuKbdqjLtGL4aNwPHYXC6grO77KEogmhK/5ysdFN9tDi60ADoyOhlkK00EYFpGpff4WUEKSZwoBVdgh9SwJvlR/JJUx/wsUf9Hm8OuEoS77Uxpaz52bTSCfBhdpvFHEVULi3dKFbH0KsLAn/hF1rhr4usKPcW1PXFibLoW9iON8441xh34tRXRMUQ3zhNKPMycCS6/9Y0PXg==",
            "1; DB6PR0802MB2552;\n\t6:YlLDwcOQdpJHkMFbojWYawCa1MLbCZ1+T/EFPwclOQhcW/7zU3v8Q+JIdxUXpYc4sSPEpOhGYlC5lmA2AdPOFBnArT94cSVP4XR/4kzflvoAzetRd+9d1t4BD58QOQD98MTygtK16wb/fyVBTDaj3pZ905PTCEjnZMKDrEhq4S2oelk4Ttmf+31M6Ljf3Tz1mlZaYhz5EVBNDplN3SNYIidHbtl2GEQl1c//J7bQYoHnYhqDJMSd0PERSh8pR5bHXaqu48b1ebqtYW5K+RkxC3y35N1OwVD4MJOWRjXpPweTojDeEVjGpikSeTU9iVWR8oGDnC1BFbE69qlEn74/iA==;\n\t5:dlbqhzGTmZ0tYHLo/6NfIgRtCf28ykmegOfvYHh104poYOonfGOi4bVhBYGV1IbVjRHYAZ+7R8yY5Inyud7Sbe8lzSLJkZsOzQ6GQ/x8lTPBWeqT+jjHmgSISuCnT8hqo/LjDVKW2DvjExCdxYKd+g==;\n\t24:hE492uiMWhVHoUx159XZWknMGKKzifMyZRGiEHD6tdDnwJZhs7cBRVydrOFRbcifvuTCtwIiKwry5+bx+3ZFDG5xhmc4BVCftTYSgz3Uggk=;\n\t7:/dKVWMRWfP857IfxdqzkBCaVnfXWwp2YywskJ6qDgOElzL6kJvXxUTX3DKrcFjhKnT3/wDPZgnjSfpKH7TY8HtvpGCZam7BirDzSCuL7PfWo1s8hebocNNuwLHINr0IQ/DYfwXuLUXGF6u/jVn7WBPVD5UfruVs6yzGD7q30ETdiTktRCJ6zeO4e15RLScZOK/4RZNNaRPjZAAoRW7OaSDgydWMjMKtw8gXKeqDN75k=",
            "1; DB6PR0802MB2552;\n\t20:pKGrGYiEe1g5H6GTfkU70RincWR6BbujUFPLKXCN72nKFYvCCW5PTdr0qi1FSEMA53hHC+kBgS1AfFy8eqxe5ZFCS+KhMmhAPvoI8ontwkoPddkr/xnOkKryQFDQp1U2a9WwvumAMYceICl3G34MUbdwRDaXJn4Nv2bdbRritb8="
        ],
        "X-MS-TrafficTypeDiagnostic": "DB6PR0802MB2552:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<DB6PR0802MB255203A13ADF23800E64E37DAC910@DB6PR0802MB2552.eurprd08.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(8121501046)(5005006)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:DB6PR0802MB2552; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:DB6PR0802MB2552; ",
        "X-Forefront-PRVS": "0420213CCD",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10019020)(7370300001)(4630300001)(6009001)(39830400002)(189002)(199003)(6666003)(86362001)(7736002)(305945005)(2906002)(189998001)(53416004)(69596002)(36756003)(8676002)(42186005)(50986999)(50226002)(81166006)(81156014)(101416001)(47776003)(2870700001)(6486002)(66066001)(6506006)(23676002)(105586002)(106356001)(5660300001)(50466002)(6116002)(3846002)(1076002)(68736007)(97736004)(110136004)(53936002)(25786009)(33646002)(478600001)(4326008)(6512007)(107886003)(7350300001)(15760500002)(14143004);\n\tDIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2552;\n\tH:pavelb-Z68P-DS3.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1;\n\tA:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: virtuozzo.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "virtuozzo.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Sep 2017 10:18:23.0074\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DB6PR0802MB2552",
        "X-detected-operating-system": "by eggs.gnu.org: Windows 7 or 8 [fuzzy]",
        "X-Received-From": "104.47.2.136",
        "Subject": "[Qemu-devel] [PATCH] qcow2: move\n\tqcow2_store_persistent_dirty_bitmaps() before cache flushing",
        "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, den@openvz.org, pbutsykin@virtuozzo.com,\n\tmreitz@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>"
    },
    "content": "After calling qcow2_inactivate(), all qcow2 caches must be flushed, but this\nmay not happen, because the last call qcow2_store_persistent_dirty_bitmaps()\ncan lead to marking l2/refcont cache as dirty.\n\nLet's move qcow2_store_persistent_dirty_bitmaps() before the caсhe flushing\nto fix it.\n\nSigned-off-by: Pavel Butsykin <pbutsykin@virtuozzo.com>\n---\n block/qcow2.c | 16 ++++++++--------\n 1 file changed, 8 insertions(+), 8 deletions(-)",
    "diff": "diff --git a/block/qcow2.c b/block/qcow2.c\nindex a3679c69e8..dcf49084c5 100644\n--- a/block/qcow2.c\n+++ b/block/qcow2.c\n@@ -2037,6 +2037,14 @@ static int qcow2_inactivate(BlockDriverState *bs)\n     int ret, result = 0;\n     Error *local_err = NULL;\n \n+    qcow2_store_persistent_dirty_bitmaps(bs, &local_err);\n+    if (local_err != NULL) {\n+        result = -EINVAL;\n+        error_report_err(local_err);\n+        error_report(\"Persistent bitmaps are lost for node '%s'\",\n+                     bdrv_get_device_or_node_name(bs));\n+    }\n+\n     ret = qcow2_cache_flush(bs, s->l2_table_cache);\n     if (ret) {\n         result = ret;\n@@ -2051,14 +2059,6 @@ static int qcow2_inactivate(BlockDriverState *bs)\n                      strerror(-ret));\n     }\n \n-    qcow2_store_persistent_dirty_bitmaps(bs, &local_err);\n-    if (local_err != NULL) {\n-        result = -EINVAL;\n-        error_report_err(local_err);\n-        error_report(\"Persistent bitmaps are lost for node '%s'\",\n-                     bdrv_get_device_or_node_name(bs));\n-    }\n-\n     if (result == 0) {\n         qcow2_mark_clean(bs);\n     }\n",
    "prefixes": []
}