{"id":809585,"url":"http://patchwork.ozlabs.org/api/patches/809585/?format=json","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=json","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=json","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=json","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":[]}