From patchwork Mon Sep 4 10:18:00 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Pavel Butsykin X-Patchwork-Id: 809585 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=nongnu.org (client-ip=2001:4830:134:3::11; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="bIAj4sfd"; dkim-atps=neutral Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3xm5Rk23dPz9s7m for ; Mon, 4 Sep 2017 20:19:14 +1000 (AEST) Received: from localhost ([::1]:50437 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dooTI-0000um-EO for incoming@patchwork.ozlabs.org; Mon, 04 Sep 2017 06:19:12 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49367) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dooSo-0000qW-GL for qemu-devel@nongnu.org; Mon, 04 Sep 2017 06:18:48 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dooSj-0006AY-O8 for qemu-devel@nongnu.org; Mon, 04 Sep 2017 06:18:42 -0400 Received: from mail-db5eur01on0136.outbound.protection.outlook.com ([104.47.2.136]:26439 helo=EUR01-DB5-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1dooSZ-00063d-6n; Mon, 04 Sep 2017 06:18:27 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=MMtGvFwPCV1uWHlNSiNGTd6cmWi6re8aXMXIMr09pPM=; b=bIAj4sfd2R5xaW0r0kPnzzQy1cYZa/aLk0EVkegaBRhB2ve7k0rh/UPZX46/ALuFjyGfHLeWD5GAs7rf/H9r5vqXX/hChiF5c4bu1LSWQ3oYIvKu65OMVUUz+TPkZpH4dxHiPr9jtrz3fdOo0qNMudGW3yy1H4TjXlAri5rAj/M= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=pbutsykin@virtuozzo.com; Received: from pavelb-Z68P-DS3.sw.ru (195.214.232.6) by DB6PR0802MB2552.eurprd08.prod.outlook.com (2603:10a6:4:a1::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.13.10; Mon, 4 Sep 2017 10:18:23 +0000 From: Pavel Butsykin To: qemu-block@nongnu.org, qemu-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 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0102CA0011.eurprd01.prod.exchangelabs.com (2603:10a6:802::24) To DB6PR0802MB2552.eurprd08.prod.outlook.com (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; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(2017030254152)(300000503095)(300135400095)(201703131423075)(201703031133081)(201702281549075)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DB6PR0802MB2552; X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2552; 3:J7VEaA7p8k4z97VcLMHdnIQXI1+sp8+vAbM1OBcEnIKtyujZTgra9We+1Sa71ci4wFp4Li/V3kjLmGtHo4DsU7V4gI0x7U3Wv7HsRMKMHXDbcsNRgusdWOk9ekDywjbYbwBHptTc+0ZLryZevrbwWB6axLolKubj8VOP0rg3GoDVn59knryCDTCYva9RmExj3noT96Y015QavnP2FZ4Me2wmMqdpLD7Ffq9TK3x9UY++8BnI0t5M3l0IbiNrw7mg; 25:nXkkupJUm6lqfBaWOfdPD0FYTbh/BRt/UV4yFcZDERw/IXw3qyZfNXjXHQgkWMaceUP2BuZvIl8t0ihBSNkkciF6DfLjVhZcQmDJO1xRthidVHlLPUeeK9UgTGIXIcGcAcAcX5CJicf1BKHBFbLYJRO0LnM1Fm+jvkETOy/lWj0usqoKxmma+9Y6Z1Anfj5TjC5mrfG9PbWsAHWfpIZYywRW2h06OYrv2TPt8uzzrYEPLo6SZaEh0eALmLTOF2MOaOd4l3sfyctjsHqOZ6/fQNo3GKPNUac1r6zkuTc97Nia14v2YHgtaXPs+BV/cKr6/oF5dRAtXlQPqDKVV6oZrA==; 31:rZWO+8cNANzR9fBNVRE0a2f/k3OM4jecrxK+Nogu1vf0vKaDzXAqgW4ymw7+QVYqduFTEdXUsdAlyBWm2k8jgat3vI5owZK3nxnI46mWxrBDBMpu0gOlHG8yAeoU2EnOra66ow+C/97vYicKxHPQ45HkKDwMheSZLS4/z7YL47Wz682O9fUkuzkso5HzJOaB7/p1f1/JcorF+znA9iaJK8AilZPYpf9iWXfVYz4/YGM= X-MS-TrafficTypeDiagnostic: DB6PR0802MB2552: X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2552; 20:RqkEngG1TV/bd8OL7gTDBQv0LN/9wmLPvanhaoluoZyi4DVtY0shlg5oRKHpI2M9rEuvs5AyLoqTiCpqKSL8nVu9b+Krq6MzzdZcZocWLKKnzTHDDtQqeLkY7Sc5n1MQJXGcHRDUPF5ZDB9ESG3amMIyJJcnuO22ImQMaVcETxuzm6ZfCfJdoN3mVZdX8vN5TsIa2QvUSX0/wVvcYouJgS/2OGHFVqul+tx1nynGvMhIBUf5AwDPLGxm8/d4S2kqHvHubh4QBv5iQJvbB2UG9Om2CdD/M6Gbs8qJjrKTOkm/1jeqX3wg2tJIhunStyb+d3RG/39pbcyvxnlRG8cVsnB3QOHriD0r+UnYR0qmKDxLPMMkpiGlewJNsrKE5yrXzLfFqe3VjmL9BtpVeHtMvpZ81De1in1FREuUru3cx9g=; 4:95S4W3W+ur5QpdFhu4q0Ar9Ps6SEq9ZbETetPonuS0G2nd7hpm1ZkNc6HbjWdlrPJFNp6qcEbuM/St6NRgFs6/Zo2i+/s6v7B9n7H6QaaYHyCPTQ40flzZFC/WfRTuXGizzpcYINuhuUr0TvkHGS/11seQxZOoX3nGaFU6SELSLrx7K8VYJUuJ1KsG0tpW4qjvpyKwEne8tbJWHXxr7ZBPMsZfe+iOvsUTEnBPrqzbqhsnW9l2+W0j90aJEmvRY9 X-Exchange-Antispam-Report-Test: UriScan:; X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(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); SRVR:DB6PR0802MB2552; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DB6PR0802MB2552; X-Forefront-PRVS: 0420213CCD X-Forefront-Antispam-Report: SFV:NSPM; SFS:(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); DIR:OUT; SFP:1102; SCL:1; SRVR:DB6PR0802MB2552; H:pavelb-Z68P-DS3.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; DB6PR0802MB2552; 23:R0yYlkeWpp6Ih5aROqQ9N0hBUVvidGRzXeoIHTE?= AO3V7mUq9BlrJUYJNdU9jAm7tzZzzEos0HL867D0pComNo/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== X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2552; 6:YlLDwcOQdpJHkMFbojWYawCa1MLbCZ1+T/EFPwclOQhcW/7zU3v8Q+JIdxUXpYc4sSPEpOhGYlC5lmA2AdPOFBnArT94cSVP4XR/4kzflvoAzetRd+9d1t4BD58QOQD98MTygtK16wb/fyVBTDaj3pZ905PTCEjnZMKDrEhq4S2oelk4Ttmf+31M6Ljf3Tz1mlZaYhz5EVBNDplN3SNYIidHbtl2GEQl1c//J7bQYoHnYhqDJMSd0PERSh8pR5bHXaqu48b1ebqtYW5K+RkxC3y35N1OwVD4MJOWRjXpPweTojDeEVjGpikSeTU9iVWR8oGDnC1BFbE69qlEn74/iA==; 5:dlbqhzGTmZ0tYHLo/6NfIgRtCf28ykmegOfvYHh104poYOonfGOi4bVhBYGV1IbVjRHYAZ+7R8yY5Inyud7Sbe8lzSLJkZsOzQ6GQ/x8lTPBWeqT+jjHmgSISuCnT8hqo/LjDVKW2DvjExCdxYKd+g==; 24:hE492uiMWhVHoUx159XZWknMGKKzifMyZRGiEHD6tdDnwJZhs7cBRVydrOFRbcifvuTCtwIiKwry5+bx+3ZFDG5xhmc4BVCftTYSgz3Uggk=; 7:/dKVWMRWfP857IfxdqzkBCaVnfXWwp2YywskJ6qDgOElzL6kJvXxUTX3DKrcFjhKnT3/wDPZgnjSfpKH7TY8HtvpGCZam7BirDzSCuL7PfWo1s8hebocNNuwLHINr0IQ/DYfwXuLUXGF6u/jVn7WBPVD5UfruVs6yzGD7q30ETdiTktRCJ6zeO4e15RLScZOK/4RZNNaRPjZAAoRW7OaSDgydWMjMKtw8gXKeqDN75k= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DB6PR0802MB2552; 20:pKGrGYiEe1g5H6GTfkU70RincWR6BbujUFPLKXCN72nKFYvCCW5PTdr0qi1FSEMA53hHC+kBgS1AfFy8eqxe5ZFCS+KhMmhAPvoI8ontwkoPddkr/xnOkKryQFDQp1U2a9WwvumAMYceICl3G34MUbdwRDaXJn4Nv2bdbRritb8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2017 10:18:23.0074 (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 qcow2_store_persistent_dirty_bitmaps() before cache flushing X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kwolf@redhat.com, den@openvz.org, pbutsykin@virtuozzo.com, mreitz@redhat.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" After calling qcow2_inactivate(), all qcow2 caches must be flushed, but this may not happen, because the last call qcow2_store_persistent_dirty_bitmaps() can lead to marking l2/refcont cache as dirty. Let's move qcow2_store_persistent_dirty_bitmaps() before the caсhe flushing to fix it. Signed-off-by: Pavel Butsykin Reviewed-by: Eric Blake --- block/qcow2.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index a3679c69e8..dcf49084c5 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -2037,6 +2037,14 @@ static int qcow2_inactivate(BlockDriverState *bs) int ret, result = 0; Error *local_err = NULL; + qcow2_store_persistent_dirty_bitmaps(bs, &local_err); + if (local_err != NULL) { + result = -EINVAL; + error_report_err(local_err); + error_report("Persistent bitmaps are lost for node '%s'", + bdrv_get_device_or_node_name(bs)); + } + ret = qcow2_cache_flush(bs, s->l2_table_cache); if (ret) { result = ret; @@ -2051,14 +2059,6 @@ static int qcow2_inactivate(BlockDriverState *bs) strerror(-ret)); } - qcow2_store_persistent_dirty_bitmaps(bs, &local_err); - if (local_err != NULL) { - result = -EINVAL; - error_report_err(local_err); - error_report("Persistent bitmaps are lost for node '%s'", - bdrv_get_device_or_node_name(bs)); - } - if (result == 0) { qcow2_mark_clean(bs); }