From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551605372899.8820435303143; Wed, 1 Nov 2017 08:53:25 -0700 (PDT) Received: from localhost ([::1]:56414 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vKU-0006lM-In for importer@patchew.org; Wed, 01 Nov 2017 11:53:22 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60413) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vC6-00083F-Uq for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:43 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC2-0006bT-Bv for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:43 -0400 Received: from mail-eopbgr40123.outbound.protection.outlook.com ([40.107.4.123]:6102 helo=EUR03-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 1e9vC2-0006b4-2G; Wed, 01 Nov 2017 11:44:38 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:35 +0000 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=m1u5q76UOEfifufmTeTQPpaxWyVc6T3RgUvNihrAXCk=; b=PALtiawT940W7S5fpo6cjMUT5vEa9WrUYPOvzfSxBO0v4py8/Se9XhGIYP4DSHjhq8R5TRfzbQ3euzI2aaiXiHl9yx1IH9Oc98YYTdXHhkGJkuJGnzTUzQhQuCaEDwYkVkw7h+dUJ8HmWZ3YlWJPWmQG0hIre94drl6L5xTVMJQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:54 +0300 Message-Id: <1509551048-129830-2-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 30a44e50-7e34-4b4b-fe6b-08d5213f7441 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:P5oUFKWSUX1jJIZE6boGkTNlqfL9xVWG+f2kNfMTmFgWW/pfJX4NoSqDU/ShPOguuPvWAsoWdoZ4lfhu91cC5KVsz7Hm2O2kBiSAgsCtqkYSVt3/Pl8eQ6NXW0B6gJLxi6v5UDYAIf7Z9FuQc7NZ2MSvZLLo8a1L7F0JNOGzth4mcz238hTp7nllYNAMNWUlq9/ZIGl9TrfvNVgL4KJKX3Iedz2ZI3YWEpqOkKBi0JIYNxMXFspLy/2EzOeVj1XM; 25:uIJLwV7S1P59wPOrdKVa3OvPFLm1+LTQWvxCthtGbCJkN3bijPntAOqmw/RVIrwaD50FF+cX/JFkxvjJXnCy/6ZMNZf6RWHUj+lSq8KloCpTXByjWYQuu+TkTxz5nQ/LkvwmTZl9JUkMmpCr8xr1A8TyRrRU6rSt+xXa4S0d509dPHdYj3eqhut2b+DR1fES69ZP8LH/E0Cq8jcIXf3gzG/K0rww6VEJetz84+AWRdBlXasJ+EMisL11c4UII+iY2F6sXZjgxiR+maCifca9HAR6tyxv5og8x1O8GAfPCDWg1MJs40QbOXN6dlW5dbHizmiNc+lN4JgW/dQ/fKEVPA==; 31:NqlgZIDYMe00GWFljPJtg0gRByM/DlpA7ehE273cQ88DuXs4fN9DJhHq9NH1jZANTH6OilJeEUz8ieIe471VQY2+oq1uKLMMuPUDfmXAHZSjDncqZIThY/lsEhsTKnSjChMBkGSDGwA4Erp9amx6NiBlwvoKLekkrCJPRiD3vK8e6gxJkEYJXYanysXQN1DjXd3rXRNcUCl1/iyQeQbui2Rr+Iw4Go0Ml/HHKItS74E= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:CcisansmsXTwVWq8sVfTSRcaUhgyj9HuK7WQAjUDhH6ptJdPZ0afaVAVm+TSvv0B7s94CKxXEN4ugd+2pNqWTiCUjValPEc+ZPUJ/+JcFkxx0aMl7pjTqxUJIBFUAFlmThfr0HWrqwqEQncUeDak0sjpIXOrkSx617nVhUBOaxIPBKWePVopCWpKDTogVjhx1JxXe7DbO/jCJ92z+BufiZobrumrAgiJ/MtaoMqEASSqrH5tCRTfs9t7DvyVLJSVITQgCpIEK8V24gAEg1MHrdvX2ZeqNYdUsJnVRybBIwECY0NNI7tFXPOnp3LmP57DdzfgrsMlotpN5BLnOI7thsXIpgb8avuvE84zK7O06D/7XsrGNe/hU39XZAZTgUJUmbkl6CuzaM55uW17+f719ssUfF/feN+WspCQs4V0Yqc=; 4:3kfKUAh8+Curq+v9eDgUvF9KUYYqlbRY5+CzoKtqn7S2cg/6kSQXphCwNjK/FO11dlU6lvTE7hYSnRw1zFXu41ikyNroCYEKi+6pwgOdPmDOa2zgB6gq3I/bzQWORLeDSpx7sI4Dms98drxyPT0/tlaC3Iu6JLpTAtUPM1ypSJeDqApCW001cqmWrQf5c9udtNCLbranFRXkEmmfHi0cGHv+6KZf5l64i8Szm5Dqt9VzaRS0ahOMyxNaRWbYYjrxEAHKthd4xP6lFBszWbu5BA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:R9XgsjIBZ77JiaT6ZECJ7NiPxWALRtGcfU2tbC/?= =?us-ascii?Q?szKPcwk6n4wjjhdPntwKvj4HiZCdXW6MMlPeeZi1oUc1MN1Jbu4Yg0CU0n2W?= =?us-ascii?Q?tY+lZ4r9FW9JpsPz/npaeYb1K7AaR05M2SvJ3dhD2OxPeqwUW2nnUxVLRKAv?= =?us-ascii?Q?LrpDdst3/WBDr5XYzSwMN7Ez5adr7hg/RynCbqEsmao74oeavSRnWLHusM+M?= =?us-ascii?Q?136JiRXg5YH+q1DYvXmY0Ud6XK5ax0fVd+XHi88GyOTfm/jtKRHyp6KHdE+6?= =?us-ascii?Q?RG5Cc67ZW2PlAFvTNOTnU+mhYL3u3v6QaiYw9BtxvcqeHoC5r3ntadAqteNj?= =?us-ascii?Q?HEfO0Jcpwd32jNxlPGwKHC0aUqeAhiFhZC3Cb+UPOnasf8IM0L4x4RGcjR2J?= =?us-ascii?Q?vz21VFUAyg1Ho6VOUKavPaO8kHcxV7jFRvArQFIYDz6yR9FZeY0oKUFwtpUd?= =?us-ascii?Q?k4gG6E2Pokua+9wFQLcvj3H/b2sg/TDLcGcVrnfHUUKTV+lyzdybO2sNgp2j?= =?us-ascii?Q?YJ5whPCs2eY/DEpAFQeDTsVf9+kkbkW6/DU6VZjfSIqO9OtXdL6eBqyND7DA?= =?us-ascii?Q?nf1J0JgGo5FQRcjWZCWBh/iawzz3SQpJ1ggxamib5x2weK7r0hFFul+ixIrx?= =?us-ascii?Q?JEIJERYWCqSLOMklbl2GdiLS1SR40iFBmTxZKUb++Cc6xDiQbZ6t2GwZkHXq?= =?us-ascii?Q?g0SwtNEFwHzVad5LMERqWKqgGgcu0XADGMuxtH/l6w/zdj6bf7obhY0KReMw?= =?us-ascii?Q?0D+zNcLhn64B03avVVLNsDiJK1Z/Giqz93OL0xDpeIzKIW62l8EKuk9qXJSz?= =?us-ascii?Q?/RZh1PmboknY3qRcLllPeOjl87doXQAfbC97j8iWeRUlFXDrhTd/ixCDyTbS?= =?us-ascii?Q?rgrmS8sZDNt5nPtOXleXLvAGbsod3UJUL/Fze0IfkyAgQGvLK6Zfb9p+9nhr?= =?us-ascii?Q?T6H3ylbp0fkPZDn01GkHfbspBaL0kTDTAXhTCh6VvZZg/dBUjHzXKyWavfuE?= =?us-ascii?Q?W6AJAb3Fpv8BEebaJ+1qkvojplsOjNVR8rFZRJxL6U6RjJc8SAFiHpvnsZPs?= =?us-ascii?Q?remsAehuc1ToonaYVFHQGc1dZ2xdaxsQQrQAQnN74sm1S/8XsQnRVfCExGAw?= =?us-ascii?Q?qwH5yUiHBUdZ80DwEuIhqHIITpnpeSEUDZZVwhaApQFWnsmp6uYEbag=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:IdTLc3fT/SD6ihT+nwTBBU93Z11jS1FJ2dkQvHI9vS+I5mlEg8nALVjigGT+kt5lyems4bw8AaA5jhiVMrdKN8tiylipwG7s9LnrINjujM9gJDRkZ3u78BpqlRCgJvgAQWJDzTrBQeP82n6Srw/YP/9FIQOYip90wV1im9vyY+HqINaiZmXc1bIWhigR4cSacSGy/t5Mb+25J5zjKjDA2SWHOTFzmFac5EyZl8A/5wtdijnZSP6l3BVdHySas9rvVC5J2EEi9rP748oFpsA7upH97yBXfLSLan+UY2JVMNl+TYFDnvTYJ6MgVsBaUi9lKZRes1Av8NzVXPHLlNacm/XHRTCXvP+Q/ZzGW38ZuyA=; 5:c7ZSFkRK4ctpAw9JTNhqFs4fgOfDi66Pt2nHIC5c5kdVAEBS1GcQVMpZ4owsmsToYEiIqJKGM1dHSNcuw20PtfvXJdqNW8da4JlMLZ3AwVeO5JwLK36U1HzDst0ynP5F6S+TjFaqHsR/JhZXR93ACFx448zmRoMgUSjHPLu738Q=; 24:ssvpvIavTJTQ4wfMCHr7N0iTC0fF7dgYEvYEzT3K74z+hA/6ck09/qAEBxyVVYTG9bzEjCoOc/4Epw/qf8a9o5fk0GhA9QV6maCH+jjuaLY=; 7:gsVMn6YEap4teE3ynhAT5mp/egs71bvqsMoZB4r8WM/gyQ0omspB7fnCZE2BycLFIwJf1Eg4+G/brTxEyvF8AGXWQD1xN1y+7V6PbBI9tPv5vcYWy+3ca1NUPba8UxThmLrq4u9RQhAcJzehDeN6OrkObRfiK1zeN0T3Vdq9kdcxtlEh9XuToCvlp4tQPMoOz32+ol9d56yrQHlOHjM9OIuPgFndwm0EmLnUuSCl7SggIOdnb4vLXzMwP3efYdD0 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:ieba5Z+/7tUpFJO1tZ+OpRGY6HzY9XYYY1hUcAzV1MJEP1eyqx8BI47Q4kMsHKoX5d0m8jYYINUZs2R94sY5BEQgjTJOgZcjpyrkVOGFq+T12qkLvytCiz/ibI98hWbwHdEkDfca+8SMwYtKyUA5Mk6I8/ONKxO2HDw3wFCJ2w8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:35.1650 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 30a44e50-7e34-4b4b-fe6b-08d5213f7441 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.123 Subject: [Qemu-devel] [PATCH v5 01/15] mirror: inherit supported write/zero flags 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Anton Nefedov Reviewed-by: Eric Blake Reviewed-by: Alberto Garcia --- block/mirror.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/block/mirror.c b/block/mirror.c index 307b639..19c8987 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1064,6 +1064,11 @@ static void bdrv_mirror_top_refresh_filename(BlockDr= iverState *bs, QDict *opts) bdrv_refresh_filename(bs->backing->bs); pstrcpy(bs->exact_filename, sizeof(bs->exact_filename), bs->backing->bs->filename); + bs->supported_write_flags =3D BDRV_REQ_FUA & + bs->backing->bs->supported_write_flags; + bs->supported_zero_flags =3D + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + bs->backing->bs->supported_zero_flags; } =20 static void bdrv_mirror_top_close(BlockDriverState *bs) --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551386738914.946790960187; Wed, 1 Nov 2017 08:49:46 -0700 (PDT) Received: from localhost ([::1]:56390 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vGp-0003Iz-3H for importer@patchew.org; Wed, 01 Nov 2017 11:49:35 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60418) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vC7-00083T-8C for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC2-0006bd-QK for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:43 -0400 Received: from mail-eopbgr40123.outbound.protection.outlook.com ([40.107.4.123]:6102 helo=EUR03-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 1e9vC2-0006b4-Is; Wed, 01 Nov 2017 11:44:38 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:36 +0000 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=xPlpRvsQVsxszGFc4SFFmHY+biNAy/txMWfaE/wRjdI=; b=epSyXfzPFI8naCDFJQd8M6/q4WVHS/vpmgHhQ5f8kj3HKcVbYhZA+isyui5jqJmt1g+2T9fuVQOiKrtC0Pl2fm2+mQXBMveXnwEmtS9vM0vjRgQwoam6mP/JN7/GsScOWM8gd4TFhp+EsXgHj+3ZdI2pbubo6MBo0Vf/JNPBeYc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:55 +0300 Message-Id: <1509551048-129830-3-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5870df33-255d-444b-cf1a-08d5213f74f4 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:D51Zh/QUJQIYXsp7VJuVTd0jK9DflayyhmJyujnsfJEjT+UTmV0pl4wlyE4NAp0lWnVgT6WyOjTwlRR2XYpvBy1T2IrxHpw/bGeLFfDm05BN/kqxn+3zge9TZh1KQXoVUj58LtWjonN+pRff8q5E+jlksQDd0YqMe3Fq6/1Kx4L8q2Rb+4LxGkrtkRNo7+NOsQVrnFCCKKbs2WEMuPNh1SC0Rlwlyh6h9NRS6gCkjpb1vxyuYyBF3wLY8b0l3q11; 25:5Wp7382l7yBlFQc1UhUa9rt0ZyQZ/uj7YMDVsRcyyA4mq5IMEabmOVh3xpK8xdrkcHLFmmLMphf4yFoLoeNhAYqdtNpDNzdWFoNj3UwPdK6YE5zl9czWhs3zjR9eE75CHMM+irEtWWDsN4ezNLCDDVw6z3j1A7KagQOnwgu74IGzyn+To+Ll7NaVS5sCTndQGxN3arGfsfGPL2epDIFsjO5AeCmx69+NRtrCPRQ9ZMoxzHZ21Dz8jd4GYCGJtOYRwVJvDNcue1xr2qyfmmXDccTcD8vYRSjVvCRnom+4awQqeLbaZf7AoDfIFfpLPfeeDHZqkas8yCnlEd5Or4TuVQ==; 31:YtEUKKXdHBI4sCF2dtxfnrIMxnq0yfMxu99M1+FVR1POThLHZnpTzDm6P3rgxREBEwty1nxJ3jY4Z23dDtHuuG9zIAa+ISln/5RUG91aX2OW5EAZlht975CbDZRZbwuwyDJ4MNfBx6az1McxHMiwE9oQAi9B8adjxtOC06v6v3Q7RaFOrfBWj4V+iSP+EEikBTGhYLOl09HFFwuJvh895ukJzVhW0yrlXMKT/4tKDI0= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:FLIWCX+7v0FJ45H8xkUP7k9LahAlG1RPPIQGvoQz4QfEAhObdW23XJCtavLEG6QnmzOfKaRnpyJJFh77qGasdwRpYSrK67tWiz/tZHBgbxkGbOTVJdD/PkEd81+IvTeUOaNg2MaA5a42eMtQQ3Ec0BqtrpK1yVtfX7MaxqtHC79geFc6rqjoXfHHQru7clLFGl44ehOn++5BVAIVFvInEBoAw6wLx9Ni0n22ao4hdv2/c3OMYywwv1c1h4F7Lcb8Z7alvQpUJWb7nndxQ7tQsiaQBPFqLifYv8ier/MPBO6vG/fik3G7qyLZIROLhiZCxFVn6Lk2ygkXbTFo2TJXoRO7ORn2O/VxW/Lc6eJ1mtpEUuJQLKnaXbmoVCunW5o7tjjCa107ORH/78YI7Ria4agkBssbhhB8aMpPI9JqqyY=; 4:vUPLZfKpGJuw5G91iZlF+nAjMIAYxyKTf+Mdq1q0rf02JUVkXXSrC0Qy/IAqES+WdTS4egY6VKNV7FQ/IZqLPDViuaiiy6S8gwry7Qxz9KKFJoTv2x5ZkEkk2KwN2drZBTRLN3OhMG3VCLBt0C14ZssQpSoUzdCz3SbJdi7kMtS+CoIwuUlBvqqa+thtTqdSwflEQCPDkGQkkdJQXhRDvOoDvR4Mo3uLzfneVu+XaeN0AbFj7ukTRko6txzBw/vz07UpbcqsOKPPYGB21F7rHA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:ak2w828rPlzEjgosdjkp5diII0FaNrHWwLhYcQu?= =?us-ascii?Q?UQ1Wtfrw9rsPC++FHJoznR0yT3N8Kf5+QsCnxmYYt3CMwbQKsfK+Qhmw01x+?= =?us-ascii?Q?xKX5ePxRWd+enfkm1yq9jzwAGEOOAPrMOjz2jy6yQ4v40MHX1NIqKlJwuZZZ?= =?us-ascii?Q?UAtSmKzwCTXIDJeKPwGc3QfXwM2rgN1hz9DOf+/4yOijtwLaMXkgvzrHJt9V?= =?us-ascii?Q?5El20Lmi/kW0tfpZ9AFHz5ooHZYY201eLlvHVuNaIfQHE5nKxbztj2pXFADY?= =?us-ascii?Q?ejsxB1lJigv1TEYq3GxT5C9C/wPzZQBXIE5WodaNKdnhZC/YAFx+53lKEZlC?= =?us-ascii?Q?VEBkppKilVcUasIJOsfkqrrAzo6xXgg5aNUC3YGE5ZhPxKK8GETAe2kx1Lvi?= =?us-ascii?Q?9tvCo2tOhIZ44GtWiiAREpygQUpj2AeSEpmSVRAT6BGIbFi4Amy5cQPoOLP9?= =?us-ascii?Q?8rb6Tb2krQnegKsSb+joJIp1NvFhU9chRO/7pe4xdpSqw/IIrvUSbZxzmzIC?= =?us-ascii?Q?2lgmNFFX3SjnEOFLkETdhT5F9T6zqvsGvCJJuhq9KDtXP6EmLIQQFLHIPtFE?= =?us-ascii?Q?CKyKP6mpsbKoo2xZo6VFgQdATgACmNBJLRLd8qHwRJ1r55QzyGK4ocQNaJqe?= =?us-ascii?Q?KU+2jse4HGAOPXffDi4BtLz4E6IOgGRsYLxF9nT+EG5wszU0p/YmNLxWku6f?= =?us-ascii?Q?qOXeC0FzcP83ACENCDBrw1/BBBAgBzHWMaxxYcTPPfm51d+NWr9r6Cp5vudV?= =?us-ascii?Q?1UbHztQ7eawONSnMm4LkZkUbqUWFOLOlkCN2+II5b8RWXKwndzlqesYFpDYm?= =?us-ascii?Q?p4BAZUKDhk3H7aLkP5qc0SEnYZmyed63Im6puGCaBZhz9x4LpSqt5aYzzzom?= =?us-ascii?Q?xGWR5QGCnu4a0QexC3N2Olhc62f4nXqnmX2HJWu7HHTTYYzTJFXHiHrZ0wrw?= =?us-ascii?Q?OmExfRb53iz8u3QmuH9WpchutWOAAyXs4+G3LAq26pU1mtgfT8BDT/KuwX3+?= =?us-ascii?Q?/KTsJ4nbA0eXP/ibK5+/BtYo7AtRJNcZQXoO3fb/7ulfmLG/2EshkxIoFbYJ?= =?us-ascii?Q?YOE7mjTcHdDOKIdzs78TU96EFlfQXyNIhH52QrgUGQ2alqvE+ICPFnnwXLET?= =?us-ascii?Q?hWffDDvnQvHrO7Iqe8okwnHoys3v2HIM5wmcnw5zhg1fyuau5xHDeXA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:FvejX6fhODn3x/2CtYpw8zP1kadLEkqu0HJEZFtnS6ASZWshc/khwsYnhnPDZHp3bBINfCRUxjxgghEXmA0aeBbwcuxkp4Eul5xO/F10nGEBEa81lCEav012ObJ5y5BBIPHfTbwkhrABuvccJ77Ijo8QW0a+tD6Cal+qfPxZN1Gy5+0E498fdaSdxeQ1Q2I9aluwPHJjZg0+uEX24StkvInG6uw6449dFiDKOwwBQ5WVeZabgdYYAvNyq1bI26ORI/fpm1IgRpAQVe3m2+LqDih2bpQ62ui6telZiXClnCodHXW0FQXqNtqitl73kvXPjGnuD2srQuo4XEVxSw6AThwRcrQ4sxU9Pl5kNIrdtYc=; 5:GbyTaxvaGVVQknJGzOVF7mFxCXiSztkJm5M/KYicOTQ7EmTyo+UnADpL42o1Sa61DkS5yhC6jqqfZJOByUPdx+JdDvjOQaJeDUarzHbzzBjDKDj0IxO2let+uufl1If0jHv5Ati9npMf7P4anS+3Z8FG5sjxXScUPwk5wkatpbU=; 24:1WShl4YOpW7BGwVDASe5XWfXMHKuVriR1Bq2waPXPXZ4FGvKkJ9+RVWheOK+UaSbxJMJRyaF/947W3AQi+SpZdx49+dScdhbWnqv6yMoqzM=; 7:u6gwaVMMtdJpFYfJzPASDBhjGfC5JxsVNKDemScFpu2ui14qzpCjDF0UGfRvcstT2amttxhky4TWgmHmqJ80jChMsJQ+0VyEKTzciSC6daSh/8UZ7Zo63FMGCaz6jU2qg6HIj2vSG9BcbtarmbwPWHk5GoHpIM87KfFvdPWB+SX2rk7/6Dn5Uvw3Ljitkn9dIRr0/3cwAq/xF17TnAoTZMYRQfEcZtSBJGYZdRB5AVYVi0VL7WG1PUbSiUsqg3so SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:+iWeQgtgO2AYhUZSpdgzHZ7VwPCgYUGfQYH5pQAagnSx/Mp4/H4XVY2zJKpgBJWJlfjYO+Lp/75fvYey2CqkVuWrBanRqULR0x1RcJwMyhKx8YOeW1w7BVyO6LJmKa5D/D2iYwA4G58/sFDzGrYIiz7ZgBnnxOH+pKhoZP613u4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:36.3369 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5870df33-255d-444b-cf1a-08d5213f74f4 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.123 Subject: [Qemu-devel] [PATCH v5 02/15] blkverify: set supported write/zero flags 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Anton Nefedov Reviewed-by: Alberto Garcia --- block/blkverify.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/block/blkverify.c b/block/blkverify.c index 06369f9..9ba65d0 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -140,6 +140,15 @@ static int blkverify_open(BlockDriverState *bs, QDict = *options, int flags, goto fail; } =20 + bs->supported_write_flags =3D BDRV_REQ_FUA & + bs->file->bs->supported_write_flags & + s->test_file->bs->supported_write_flags; + + bs->supported_zero_flags =3D + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + bs->file->bs->supported_zero_flags & + s->test_file->bs->supported_zero_flags; + ret =3D 0; fail: qemu_opts_del(opts); --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551564237478.646443284087; Wed, 1 Nov 2017 08:52:44 -0700 (PDT) Received: from localhost ([::1]:56410 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vJh-0005xC-8N for importer@patchew.org; Wed, 01 Nov 2017 11:52:33 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60506) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCA-00086u-I9 for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC4-0006cF-Kq for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:46 -0400 Received: from mail-eopbgr40114.outbound.protection.outlook.com ([40.107.4.114]:24096 helo=EUR03-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 1e9vC4-0006bv-9o; Wed, 01 Nov 2017 11:44:40 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:37 +0000 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=eN8aH1LjCf2PZgDh6jKK8nWx7j6xlchfn2rIjy0a1Rc=; b=LOxDY3P7TmHUL25KWXF2LIx1BRwINfyA0mptf7c40RxoBjZrR/jnX+83NK67B5OxBv9l/CdOUhlpYAVT2vVgsvdGgVNTjg0ULnwiX7Lu1DJCrdeSpJeeo9PDcnsGO3FdxrIr8PMkid904NGSwiafE3YfnRVHAYn0auSS/0TeT9c= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:56 +0300 Message-Id: <1509551048-129830-4-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 78c4d8e0-f269-4910-9fd6-08d5213f75a7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:c795vxK998/DJkK7PkCYIsnrucMkOjK730ohMIpMmL1MK5+Rwo60bZZNbsb+isYEqBqGs6NND8ujqXK1Z3gMpx/L8WxGcL0W4Awj+PrUuM0vFmwE0MPOilElb96RAym7H3fw30QjxAMTE37oFF5LHakludMRT/ERFpnNA+/RnkVcOJ1VySma08eK/PcLJMx8rRlT7JnsmDRPfyUfh8m5vPmqUH0xfNoke83cQUORmSX6QIwM9JO+Gigmm+fXglcJ; 25:IR/yeAidyKx6cNfOevwAgk2/33jmk7PC6kVJweiVW66t2A3BlbbglH5BbYeBIWx6Nru7tskUwACIhMCN/D4gmHP4vzFYjS8Ak4tzErAldHpPU3cuDqkvlo5+snLNwyblgfntGWsKdFZGNRXKsOv68edXHdQ8EMOKtdM0zjW5wOdVMGXxQjchE31OmkgKYzJKtKltiMKC8x5nEgXoPsGTGibdoBDESTXucXSQJVd0VFizTZnzbfbPvki6Ym9e+0bQKwGTXf6PhndXH+CpiFZzJFr+4BVFI1k4A0qM1eNU2G6KLy7f8CfNdHczCPa+IHBeMcGSFDJZsrulSLFJ7+XXzQ==; 31:yXybWSWBr3BhKP43hF2WUwiYII4zeTuTneW60Y3V4Wu9c9p8w9+HbJ5khPNBUI9md3IPzDb+Cq0N/RXXMiE51yV2erABkl0+g7ScVa+KIaZ0U2uUVSoRlMZSwLHJhOOLNKWo1NuA1+hh+3e8hnWTQ9DRR7ByQhJEHvMadX6cZdvaN4XtBmDx5Wu5SPqMGJV+99Y4JYtm01imyjI+6Bjbie7td/QDC8zbqSFKLaoWxL4= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:Ks2NUUq8txxR1hNblWAy1wmrAI1VzdSmFleaPXIqKa2w4M73V2H/M5MmUiRcQuF9wEVEWQlthp3eh8KrTkCxcYdjpyB+2DGL8/MlkjMJA65lFggRlKcPYIMyMI+/ml4iHTMkHU1XS/PQCMnDGHep4HEn0piYHuzW9SsLKZV0kgZ2bMGyDBUmA1HZiCKBNpmVuFKxiR9kAfBEYdxcadrelNM5wDwNb7DaadT+1gHfEyz9RvuhzUy5qAA4eDXXfugnsgq4+CP/KzTIYeQGNF0cLOTfvi2bIB1A7ORr1oWa52npPrISuI9Mch/XQxyOPoXYPe4nu4MQK8WtK5tkyObKpkWVNr6eLwssKrZ3nPCDkl/lrtEEl13QXeQ+e/qrseCGEyg74+oHf2s9e/dRsq4+ZySi4O1lOZxl+WCXLVi77Rg=; 4:DlNm11X/6KuVbSL8GdrJFoQcrCJO8OiY3tsPFQWhHksjo2age1nMBPCZLLofB9l47Ky7MUk27wW6k/3up6YQWNkh5Rsk9+ENYE57Q0Cl77eTKeo8vjU5U2n9gvxe3wKFC0WidtfBH1ZvpbX0MPS7QbipVIf3Yo4vDcBaAVGSTOvEt55+iqbDM2vSHzxVwiZ177ljik2DJbJa9l8mdR83FXPaiUoQGCfGiwQDn8pQuNxaQBweE/Y0BNaCOcg79O5zRIy2yz9/RMN+/tU7KzL0OA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:LlvbIdt8NqGDuT3ojJDgnahmZpmYeU7Cq8UhB+a?= =?us-ascii?Q?Vbga5QAF00AkpVEJZyAY65SpAxTdvz5ufEdz5bJMLMKr8j51Jqexh2BLIKVG?= =?us-ascii?Q?TgaQi/dw/3jmKAr8ET3/ViDslNji7l22IBeIkbljIWKMhEYqhLGQHE2CLCuo?= =?us-ascii?Q?t/bsl6fOi1vG01VRQRkOLPn1Xq1NLcFdpZZpHm4m3Z+oqgqF7Zl9G2kzlyVp?= =?us-ascii?Q?FMx+QkhOAKbf7Edy2fzYOcXxSkz2XrKwCh8ZbZm2bIKycmlfVZS4vCcVKOhw?= =?us-ascii?Q?rRNznjdOr3B2TGQU28d1QM7tzs4jWRY6oJm6k6tTy8v+jP+6LxK6RefIHGMr?= =?us-ascii?Q?ksB4TQrIYuOJiq+QwC3PLR1nVjbYkXvRPFgX+dDirDsAesO3VT5Cyf6OwfzZ?= =?us-ascii?Q?dTenApO5RhDmBwrB+B7VDz2dNZTCnwnMgg9oj5FK9hXqatX+J1SEGKkK2oAR?= =?us-ascii?Q?MG0iFBAOGyAVJVRuR21VmZk+/Ozd25WSO36xpYifCkVmxbtr2XA57c4EgN/4?= =?us-ascii?Q?yb3dsagGC77VulJin+MoCVZj1fwvJt+x/Fia+cCSciTeK0ULghVybvoL5pFc?= =?us-ascii?Q?4xGFtye8Z2OrMDR0Ew1TYFdoedQYBHQ3ChNJpxxA0V1POAH3jSwURSGUpZeL?= =?us-ascii?Q?1SzfACxrRDHo23XVLN4MgnidMGM7xLu73YYCclWxu7RR0EvBi4MCALYb+ekP?= =?us-ascii?Q?uFz8BEjfToc5MomKmgW76uQjki0RKxKvCdCgBXd362wkC7/FbymA9ulAy5qx?= =?us-ascii?Q?AbLN2xS2z/POGBC51TOVBzMEsWbweSTsoJo2bMuZUe5C5We1fR3FNyODOal3?= =?us-ascii?Q?23QCXfmYGpyIbezqgtJA4oazINVAK8dCKMkstLso8xSMNBlKvTbKafj+X1a4?= =?us-ascii?Q?SG+33KM1jLyVxT4nT3wcQU+ovtnKNoGeBLODaFe4LKe6HXf6wZFmpJ7Xnx5T?= =?us-ascii?Q?dR3YTJcWgA4FTCv/TRQ3kv3jB9+yWj/pElKudiexcSsGL0Sx6oDQXKEJK7dv?= =?us-ascii?Q?vNbjrnRrQOgztQyDopvI2kK43oNFW8vtxi2ChxaMku2gKVpDclX/hkOORRAH?= =?us-ascii?Q?+R8QE6SSHfxkkZcJracXJ7bZfPQOpyuUraINMHLoHiO5agtMWwy+P69ReQqm?= =?us-ascii?Q?UI7d+03YPxtUWZA1faVqa3m2yMxrSsUxp8GPAON83FdHiM+bFtGCOSA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:iimWQtdXxeVYUq1n7Boeh3cwgGSWubQ1R6UsqVVHrlajjDMlWsCt8yb7h9+p2WFAix69SRpYsTEZgv/HswibULcDkxCIqkRiFWCmuWt3CaH4jYdvvt2gLohwhw3AYrPdjqcY7IEKfiiuURUFLyma0BlpUIwXn9FjxBxpE7EnW5sT5ytp9Oe6Ykz9BTfKP9A9oHBQqt0Kd7vVBTwavrXsAwQVx1BV/dKcK6fKMIZPHznRbZ4g3i2CnlxEI5+UVj5yxfV8G/yGlsTzfOlyq9+WssfTccD/gcQ8CfCmZqwNcP2zK1QrLIQVPZghAS+lqTi3okOG7rPeMKn8j6abLmZZbsrqMrmyzSzB8+N1mi+w6/8=; 5:g40xOWGWZMG6GbLCZ6kiAhbIPLkXcMpKN2JKHORSlD/vMeRSARpKZPXMHYlOXybXmJx9xc2m3rYvyj7LjEDbXRNm+Bo+2rdQjOQNdkj4JL3yyLEoMKqlfmtaTsRPwmDBi7BZuuEHQYieOLbFMdRq2iRlp8ZzDvqFCif8a9J38NA=; 24:CYDWHtZYCie45hqIPYACZXcb9SowByISxfTRfQtAkT/GyNovyWbrl10AHplhMXfoxpGwuzXmYfjbS8Zy6wWtEK7ewe6d0sR808qvQLdwovQ=; 7:LdVJ1b87S/WGQiCZsrPSnQS2LXCDhBAqw2bqNhGs6nk8iPssQkpKDYayR7z68bz0S8oNCSY6wBXhmnBsGitdOeA8DeYx60b9aXpdVx+WUsw6tRLO7Pvj11YQnK+TRNTS+hZwDkEIJFwVAhV4xBuqmMqZkIQvRK3spH90XEQoqVclb7+Ul6NJ+GzD+L4ykfQKqkNxtoboqzt/2PI9qtJzODWulYN528IBGgll6LVp9Ge/TWTKrUHzoedPtDkj8OTe SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:Pza0tgmnyeHQlliM0iTD33lxFKt7SXBB3LaxGvXo86iWPJueHyIrQSQAy2+jUUx6Qc3Ne7JieAdBTga/qv3BT1aRi+opJ3vEs97w0GMOQ9beMw72/MBABQ3XLwTcPNs2S8ITeebppuPqw0rcan6jdzcgAqNYmpy5O7XQkKHlTm0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:37.5087 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 78c4d8e0-f269-4910-9fd6-08d5213f75a7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.114 Subject: [Qemu-devel] [PATCH v5 03/15] block: introduce BDRV_REQ_ALLOCATE flag 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The flag is supposed to indicate that the region of the disk image has to be sufficiently allocated so it reads as zeroes. The call with the flag set must return -ENOTSUP if allocation cannot be done efficiently. This has to be made sure of by both - the drivers that support the flag - and the common block layer (so it will not fall back to any slowpath (like writing zero buffers) in case the driver does not support the flag). Signed-off-by: Anton Nefedov Reviewed-by: Eric Blake Reviewed-by: Alberto Garcia --- include/block/block.h | 6 +++++- include/block/block_int.h | 2 +- block/io.c | 20 +++++++++++++++++--- 3 files changed, 23 insertions(+), 5 deletions(-) diff --git a/include/block/block.h b/include/block/block.h index fbc21da..a291db9 100644 --- a/include/block/block.h +++ b/include/block/block.h @@ -65,9 +65,13 @@ typedef enum { BDRV_REQ_NO_SERIALISING =3D 0x8, BDRV_REQ_FUA =3D 0x10, BDRV_REQ_WRITE_COMPRESSED =3D 0x20, + /* The BDRV_REQ_ALLOCATE flag is used to indicate that the driver has = to + * efficiently allocate the space so it reads as zeroes, or return an = error. + */ + BDRV_REQ_ALLOCATE =3D 0x40, =20 /* Mask of valid flags */ - BDRV_REQ_MASK =3D 0x3f, + BDRV_REQ_MASK =3D 0x7f, } BdrvRequestFlags; =20 typedef struct BlockSizes { diff --git a/include/block/block_int.h b/include/block/block_int.h index a548277..3799f5f 100644 --- a/include/block/block_int.h +++ b/include/block/block_int.h @@ -632,7 +632,7 @@ struct BlockDriverState { /* Flags honored during pwrite (so far: BDRV_REQ_FUA) */ unsigned int supported_write_flags; /* Flags honored during pwrite_zeroes (so far: BDRV_REQ_FUA, - * BDRV_REQ_MAY_UNMAP) */ + * BDRV_REQ_MAY_UNMAP, BDRV_REQ_ALLOCATE) */ unsigned int supported_zero_flags; =20 /* the following member gives a name to every node on the bs graph. */ diff --git a/block/io.c b/block/io.c index 3d5ef2c..7506207 100644 --- a/block/io.c +++ b/block/io.c @@ -1334,7 +1334,7 @@ static int coroutine_fn bdrv_co_do_pwrite_zeroes(Bloc= kDriverState *bs, assert(!bs->supported_zero_flags); } =20 - if (ret =3D=3D -ENOTSUP) { + if (ret =3D=3D -ENOTSUP && !(flags & BDRV_REQ_ALLOCATE)) { /* Fall back to bounce buffer if write zeroes is unsupported */ BdrvRequestFlags write_flags =3D flags & ~BDRV_REQ_ZERO_WRITE; =20 @@ -1420,8 +1420,8 @@ static int coroutine_fn bdrv_aligned_pwritev(BdrvChil= d *child, ret =3D notifier_with_return_list_notify(&bs->before_write_notifiers, = req); =20 if (!ret && bs->detect_zeroes !=3D BLOCKDEV_DETECT_ZEROES_OPTIONS_OFF = && - !(flags & BDRV_REQ_ZERO_WRITE) && drv->bdrv_co_pwrite_zeroes && - qemu_iovec_is_zero(qiov)) { + !(flags & BDRV_REQ_ZERO_WRITE) && !(flags & BDRV_REQ_ALLOCATE) && + drv->bdrv_co_pwrite_zeroes && qemu_iovec_is_zero(qiov)) { flags |=3D BDRV_REQ_ZERO_WRITE; if (bs->detect_zeroes =3D=3D BLOCKDEV_DETECT_ZEROES_OPTIONS_UNMAP)= { flags |=3D BDRV_REQ_MAY_UNMAP; @@ -1499,6 +1499,9 @@ static int coroutine_fn bdrv_co_do_zero_pwritev(BdrvC= hild *child, =20 assert(flags & BDRV_REQ_ZERO_WRITE); if (head_padding_bytes || tail_padding_bytes) { + if (flags & BDRV_REQ_ALLOCATE) { + return -ENOTSUP; + } buf =3D qemu_blockalign(bs, align); iov =3D (struct iovec) { .iov_base =3D buf, @@ -1599,6 +1602,9 @@ int coroutine_fn bdrv_co_pwritev(BdrvChild *child, return ret; } =20 + /* allocation request with qiov provided doesn't make much sense */ + assert(!(qiov && (flags & BDRV_REQ_ALLOCATE))); + bdrv_inc_in_flight(bs); /* * Align write if necessary by performing a read-modify-write cycle. @@ -1728,6 +1734,14 @@ int coroutine_fn bdrv_co_pwrite_zeroes(BdrvChild *ch= ild, int64_t offset, { trace_bdrv_co_pwrite_zeroes(child->bs, offset, bytes, flags); =20 + assert(!((flags & BDRV_REQ_MAY_UNMAP) && (flags & BDRV_REQ_ALLOCATE))); + + if ((flags & BDRV_REQ_ALLOCATE) && + !(child->bs->supported_zero_flags & BDRV_REQ_ALLOCATE)) + { + return -ENOTSUP; + } + if (!(child->bs->open_flags & BDRV_O_UNMAP)) { flags &=3D ~BDRV_REQ_MAY_UNMAP; } --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551762099426.6592303594217; Wed, 1 Nov 2017 08:56:02 -0700 (PDT) Received: from localhost ([::1]:56433 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vMy-0000gJ-Bg for importer@patchew.org; Wed, 01 Nov 2017 11:55:56 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60480) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vC9-00085U-GS for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC5-0006cc-AD for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:45 -0400 Received: from mail-eopbgr40114.outbound.protection.outlook.com ([40.107.4.114]:24096 helo=EUR03-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 1e9vC5-0006bv-0j; Wed, 01 Nov 2017 11:44:41 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:38 +0000 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=7JcE4p4DwXXVmBNAA/YOzIh9lH8VNMN2vfOeHy/El34=; b=CHzfnTk4poxzeFHwUIdIo5sONAsYu8/kl0MOte3TBkRwvCjFGFZP3OYd83LZAaDT6Mna8wiAsf1SZAK5eXG8E1TYyb1ZChJ6Z9nWlCTQ/kRPzu/H2CVMKV3lIrgUlWUSaKTD6x9kT4HLTLEqyCV0QzdBV2aOdDfX9bBXLScZXL4= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:57 +0300 Message-Id: <1509551048-129830-5-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 44ade82a-ae49-4fa7-abce-08d5213f7655 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:zll+keuL04t8bkVRf06lZ5CDMTcGa2Dd/ZRSQRUDAznLsE2zLh1gUn3Oef8/NOjG/ahWfHMCihuPSouGyeA8c4AWULxf45UdQjVtp6k1WJACGLtQ2ca/FTS7mOtVPE8eumjju3WcqNqnIptFa7oGwVYGK0aj07uMX/I8wCC77eDEOwVjR6Db0I5doK0i2nzg651wop8dyn9wDvQd0XVY2r3h04d7DFuL2zTQGuxerNNI2Dzq4SH1bVK4ulSOvHMc; 25:d/K18Ut6liRDifWh7WdsI2Ym26iIgyWsj6o20bSxb/6E4PlHSYE7ze+lyiQqMwPzttvE98wXCcDS8T58UfXtwg734NvItYzYKc//A7QAo6n8jFh14B0pJk760qvd9h0FRI81ycoocdNmdegG+h6H2ho3W2g+D+54oXJ5I0Kxh4MMJk3M/Slfjoo2JEM3Aavd2MRHSn+FSF+a2EbgN/gxjxD1h8UEBXdfB22fG6wleXU33KZQPUYR1fshhaCPX0kzSvGpwjriyq5DtP9q+iTzrOQHVQio5ThLR94OAQG5vNFVjRJkPmO+ZEddTvBs+oIK6ROJIGp4WeBjnhaTEkOjpQ==; 31:4zX1Zuvg+XKHnceSysZROWOZsmHU7BKYb+mS3WVTjajf1D+QFPykfy7FudSbhImAr9f5LsNr5j5GdypdZ+lQLgF59itxHVOsToahIUYUcFtMH+9Cs7fKbvEGEs3iL9baC5B57mnE/2XOukrOo/aQB9V7pcIN/IQZ07wln7TMLmnAAUcukzZ//CdGYavju6YmPtd+XfgerFzvfE7NOwSfZCIhlBJ7tNvpsPLX1efBjP8= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:cCPzFhZGSACMtCuAy5UpYrKGSwTHTA3ccNuRr1f7NvmVkp67gM5EEpZTt3eF/t9c/ymQogOMr8oZE3wTPSP65z8lZo+cfeZbNRrex7YCEqgoWuSRgiq52m/uAjv6PahnbQNGVYE843fphJ79gfL/qz4i/CCqYD9rQCqcQ2gOo1BEAwX3Twa8NlXYRO6REW3LPIjnLj4FN/dOV6fkWbRIcUfal1A9cS31dzFfpaZyv1Har7X1OdM3woLLWCmuKKulpZ9yMKatVw8ya17cu5X619NsrWP3to4QGAwXuZZHZuWDRsIoUsOtcxyYkAtQDSP6LJLxXq3ejRyZ4wglDJvzEzsUDr5x51VQtx5NwQIqGdNYfV/QJE4NN1ZIX1Q+DQIEfOlYHePgMUJ2YceIHEDS264PeNh1IW1Mw3xqWlPN2QY=; 4:53nl9+V7nvjfjiE+6Q3XQ0rP8uIYT7iDpbQC2ihU6VIoAf75dIcVse/7fDCRcxoqH7iNd2cR4gQh2kNyZnAoqe8QyBcE8KpprjHGVpOpb8uasP6FrET8AI1mZa3Ln9DmkoKEttbUUq5k/XO3P6vF/luXo826HQgeI5Xz0vbaznlVUcu06+ch502pv8V0ntEIczv9lVciI8In6Me7cXaINSvJ5kgGzbkkLyTXwP0DTcyXmuZapumertxzhPIkCqr/yHnqlL2IUztaS8k3sa3lMw== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(575784001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:By/pua4CFI1wUJIuZyy/FtKLS71rd+JZNN8gLjZ?= =?us-ascii?Q?R7SM6xFFRRIZvw8AxzJqDmRrPgktRiuZxqBPpBDebQlmsiR4gidzle+0DzTl?= =?us-ascii?Q?X04gaRmj60K37TJJ6QSY6xgFAp+3RmP92Dg+V8BH25snbufP8SD/nhpZe5e4?= =?us-ascii?Q?OwfPCqWzOYewsiFtXst2CdlJY7q1OqIEMk/8XjB1J/Wa75OhHnl26WiW39oM?= =?us-ascii?Q?PcqlsFLJlpK9SfgoF5MwPHOtmionn/Rfssw/8IaOVu51Uv313RoX8Xw5fPDf?= =?us-ascii?Q?5Lm05cAmao2wfNdNMwfdYKLTzejSsJy/IiSJWbNByCqzh8kDG9woga1bRnJJ?= =?us-ascii?Q?7R3afNnTl9fpqsQv9vvzJM9i4mA0RRHRlrwGLMaP2SWakvJ3fS+homsB0HbV?= =?us-ascii?Q?BiTZJF9cqJJ38+kTeXrRh2mOHadp2Gi5MEqdx9z8S4EBV7sfXKM1wrwT3wyY?= =?us-ascii?Q?2nhmnKFp3HqYAEaiiKJLHQte/7QU3JgkraAb64VTaezNld0M+vfGHmYCxZ4X?= =?us-ascii?Q?8X3kWg56fdJbx62u4XVny/NnEGXOT8OCzLQI1tUegSLm5U3+1XyWG+lWv+48?= =?us-ascii?Q?4Tn9r41PiOBiNC8ZzK1Jh3oyOYTL9c1YmS1KmzyqORLxtYlNvmA2V/Cd/Ixy?= =?us-ascii?Q?Y08zJCu1kEFt3xUGkNhXLzZQlrUmzP6ORVDRY3/9Csz5/hgOKN92+l60aeOw?= =?us-ascii?Q?EqEtXQZVN9c9ylgrl359G7FH+2aOb+NbWNhKfki2nFILvPiRkTO8lEVwf53j?= =?us-ascii?Q?r77jd+mvE9/wCBecacpvufUG9gs9gTV7pQLXA4KCM4k7NK5CchlDWTiBVnhM?= =?us-ascii?Q?6MIcB3p3vmvhqyDlLh5mkZyzS1/TVh79YDlrCkS9nHhC+Byv5Dy/eYYxMPFq?= =?us-ascii?Q?Jtw6dT0MOu0G+GCOWlQE88we/jzkRCm4kCwpfm517pWSmWSOwDs0mbmiZ+T/?= =?us-ascii?Q?0nVvDjRf92Tx17YVDgc5wa8i0QhwCZprpgWJ7ogkXtNbjgyauGxfreILmBrl?= =?us-ascii?Q?Bv2y/jcjp5JhjP54DdGM+mb1nh9kVwdqoRHo9qjHNrp+gLNi+a0pf/c7h1x2?= =?us-ascii?Q?WyD8WM8/Kf9bE2Q6F5ixcHo6qCWXWR+9rbcwCzmo2rzK1HjG88sfXNe5sQ1y?= =?us-ascii?Q?sHRqjejstVypGCy+rUHxMgghqEyL7ilk02YPqedRTXSSmOiTk9nF/L7MiUPc?= =?us-ascii?Q?K1Jv5VMxIAwTeA4w=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:0X1R2BstQNAWwWoFdIRlO43H3E7NXnT6pZXP6Go5abgJevHFyoNy5KNivTxdsgKS7nf3TM2/58HnJgBiMgqhg9QnUZSRBTC2WbwW1EWbHhd60yqW3s1xAIf1dnTux7QhWRiYGjB9lpPrvRwFC6c0yFPXX2SVKryN4kZNExYTYSX1R+6xSl28Y9FFINwn+B0kTure1IO/diZ1h5WiZUqaMSahiKxTTXSc37dbjI4EtSssi/jglvFkxdT3CERf65jAxkUC2QW09Zt/D0HCRmI9YV5eaNFF6cDIzWQyilhM1E/+8QjctqtXxQmOihP6k6agGfGbGGOJH26aXbH2m8FldmtwCYqg0kh1h/w1Zmwkimk=; 5:hETDZuV2IF+nckW/5ZAJUu+dJM5EvZdxZK8kaJzhOSUwFsmveQvQx7LFspeMAqiw5WGVBWw1V6pW9fGiTqemOt4iGmoEJmD294wRxAGtN9KJYbksvhPpOBzyy1XxJrdCv/dgek5BEEdJgpe70fcBYndQwV0cDHjlWYLqNz2+Z0k=; 24:ODmS3jFeUyMkThzwuFnEQ9ec2ViA+4wxNhsjanPPGJtGcbgRtyQHa0K+pU7DHSI/GilW7O/p2StqUmc8zmbfnNLcGr7NCsX0pW+6vsx5U7w=; 7:4cojBA1jwFm3fwKTlQpQq2+uG6mCMtJoB+qqEeNf9QuhwrXMpaD8MUMLB2tObgJSuKAz6STm8bF7irxPi3AYCwqSNz76LMTgNgyJE6SJq4f9SCrq2jNEJNYnuegybgKCS5K+u6J2vsLLueyS4xnGFdcnL3xbsu1bGbnMm8/XG6tG1Fbghgkr6vvy389MtC+CelAWeScbuoOHOEsnb/Qkn3HpYLc7qAcSICkGAs1oW5G7HHx5Ndur2SXlReuyugcQ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:lcTuweDutKPnVIQSESsymjdOEI4XFO19SoW+QblCAsIhAWinEcDL4EXpg1u0mohD+khDDPFc7bj2kV2bdzHA9cxHHZdtBjaso2m6hH+oYGuk5lkZCXPboNcIqH+0ihRFsIzcWQT4iah7b4zCdOifv+yXM4xhjV6znggqihz1N3Y= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:38.6494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 44ade82a-ae49-4fa7-abce-08d5213f7655 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.114 Subject: [Qemu-devel] [PATCH v5 04/15] block: treat BDRV_REQ_ALLOCATE as serialising 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" The idea is that ALLOCATE requests may overlap with other requests. Reuse the existing block layer infrastructure for serialising requests. Use the following approach: - mark ALLOCATE serialising, so subsequent requests to the area wait - ALLOCATE request itself must never wait if another request is in flight already. Return EAGAIN, let the caller reconsider. Signed-off-by: Anton Nefedov --- block/io.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/block/io.c b/block/io.c index 7506207..1e07a0b 100644 --- a/block/io.c +++ b/block/io.c @@ -535,7 +535,8 @@ void bdrv_dec_in_flight(BlockDriverState *bs) bdrv_wakeup(bs); } =20 -static bool coroutine_fn wait_serialising_requests(BdrvTrackedRequest *sel= f) +static bool coroutine_fn wait_serialising_requests(BdrvTrackedRequest *sel= f, + bool nowait) { BlockDriverState *bs =3D self->bs; BdrvTrackedRequest *req; @@ -566,11 +567,14 @@ static bool coroutine_fn wait_serialising_requests(Bd= rvTrackedRequest *self) * will wait for us as soon as it wakes up, then just go on * (instead of producing a deadlock in the former case). */ if (!req->waiting_for) { + waited =3D true; + if (nowait) { + break; + } self->waiting_for =3D req; qemu_co_queue_wait(&req->wait_queue, &bs->reqs_lock); self->waiting_for =3D NULL; retry =3D true; - waited =3D true; break; } } @@ -1120,7 +1124,7 @@ static int coroutine_fn bdrv_aligned_preadv(BdrvChild= *child, } =20 if (!(flags & BDRV_REQ_NO_SERIALISING)) { - wait_serialising_requests(req); + wait_serialising_requests(req, false); } =20 if (flags & BDRV_REQ_COPY_ON_READ) { @@ -1410,7 +1414,10 @@ static int coroutine_fn bdrv_aligned_pwritev(BdrvChi= ld *child, max_transfer =3D QEMU_ALIGN_DOWN(MIN_NON_ZERO(bs->bl.max_transfer, INT= _MAX), align); =20 - waited =3D wait_serialising_requests(req); + waited =3D wait_serialising_requests(req, flags & BDRV_REQ_ALLOCATE); + if (waited && flags & BDRV_REQ_ALLOCATE) { + return -EAGAIN; + } assert(!waited || !req->serialising); assert(req->overlap_offset <=3D offset); assert(offset + bytes <=3D req->overlap_offset + req->overlap_bytes); @@ -1514,7 +1521,7 @@ static int coroutine_fn bdrv_co_do_zero_pwritev(BdrvC= hild *child, =20 /* RMW the unaligned part before head. */ mark_request_serialising(req, align); - wait_serialising_requests(req); + wait_serialising_requests(req, false); bdrv_debug_event(bs, BLKDBG_PWRITEV_RMW_HEAD); ret =3D bdrv_aligned_preadv(child, req, offset & ~(align - 1), ali= gn, align, &local_qiov, 0); @@ -1534,6 +1541,10 @@ static int coroutine_fn bdrv_co_do_zero_pwritev(Bdrv= Child *child, bytes -=3D zero_bytes; } =20 + if (flags & BDRV_REQ_ALLOCATE) { + mark_request_serialising(req, align); + } + assert(!bytes || (offset & (align - 1)) =3D=3D 0); if (bytes >=3D align) { /* Write the aligned part in the middle. */ @@ -1552,7 +1563,7 @@ static int coroutine_fn bdrv_co_do_zero_pwritev(BdrvC= hild *child, assert(align =3D=3D tail_padding_bytes + bytes); /* RMW the unaligned part after tail. */ mark_request_serialising(req, align); - wait_serialising_requests(req); + wait_serialising_requests(req, false); bdrv_debug_event(bs, BLKDBG_PWRITEV_RMW_TAIL); ret =3D bdrv_aligned_preadv(child, req, offset, align, align, &local_qiov, 0); @@ -1623,7 +1634,7 @@ int coroutine_fn bdrv_co_pwritev(BdrvChild *child, struct iovec head_iov; =20 mark_request_serialising(&req, align); - wait_serialising_requests(&req); + wait_serialising_requests(&req, false); =20 head_buf =3D qemu_blockalign(bs, align); head_iov =3D (struct iovec) { @@ -1664,7 +1675,7 @@ int coroutine_fn bdrv_co_pwritev(BdrvChild *child, bool waited; =20 mark_request_serialising(&req, align); - waited =3D wait_serialising_requests(&req); + waited =3D wait_serialising_requests(&req, false); assert(!waited || !use_local_qiov); =20 tail_buf =3D qemu_blockalign(bs, align); --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551728421146.11790244130304; Wed, 1 Nov 2017 08:55:28 -0700 (PDT) Received: from localhost ([::1]:56422 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vMB-0008OA-Ta for importer@patchew.org; Wed, 01 Nov 2017 11:55:07 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60534) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCB-00087t-KF for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC7-0006dm-Bv for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:47 -0400 Received: from mail-eopbgr40093.outbound.protection.outlook.com ([40.107.4.93]:2721 helo=EUR03-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 1e9vC6-0006d1-ST; Wed, 01 Nov 2017 11:44:43 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:39 +0000 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=3AbMClhLwnoHBt0Mhec5U7i/+zH9R4XFw+hObujukmo=; b=iAyyHRARG8GXC37Ihz5XBaWeb8hiapSwUorUQD9X00cp5u5oHppbJ6aiG7aA1Hfj9yIGVCifIbV4rVDvlmht7WK6xf8M+PBG3eYAO9XATAk6M09bOBf1hgNxvJUizDQQx5JLB8ucxt+V1u2svEW7C5YiiouIOx5IIdL1DMU+lwg= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:58 +0300 Message-Id: <1509551048-129830-6-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dc56e665-b4d7-4c31-4138-08d5213f770d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:GHtxjX9alSz/NXy8tMU9VknKmOu+XnNA/up1T4OLPoZJEQ5gyenhkk4feGeL2vnvTz871LhHGy2/uze3o2XYscv+pG9kJ80pf1ZlxZsnajyR3l+5KilPp78PJRAXvi/PUbUkPtZi9VqrxPTqii8lK81z5hkdKytEa6OCDYqtVXg2y4dpezsuihmznLi8kvb72IJAWGR9ocJafmK4CvNXrbXU23y80gp9HD5Lbx0swp+ezu+RS4FBq/20GHbPlX5m; 25:0pllyJOSqV5WQAs2ULXyaJ5lfiJKNeCyAuYVI5/FquojYqY/R6F0RdeI1N5P+iYxIiGfhDQHdR4LBt5emeZV1hKrJSwVMQqG2arscpJLjrvrrq7S5yJOy2WI/YKs+7uiMqAbTTllJdwx0vnc8DBg5Pf8DjGtySNuGglSrjSPXVRNtbrobXhw+q8vSQSqIKexq6Gk/qS+oNZJ1o1zK0Lyy+ddUQubqUtYTdr01uUiVsnqL2pIouSnuyO6oamv4z4Sk4gDVK1GIxBoYjj9bt2ePXXRmhPyCaNEB7Alaw+cZq8Ij8b18SqJwmAXM+b/3QfOR+n4KI0tAufBOffMxFsutg==; 31:yew/rJtdPTHMe4zgGLAP69RzcE5bmDHb0IX0tdGi3UISIpNY2dwbSrde7iN/pIImp0CJGQSOaN0HVcZ1r5/YGpdagUrkNeTIT7/aW/UZ1Q4knJsdLHuEzFhUwRarH0nkGjy+NnnXg4BMGdP58SAiQEU0tSkE9NAed+tCt4jopplM5McGZxkqzNCDB1mSEZMepFkWIqDHZ/PtwVPjg3PG8/I5EuCdY3omjyi0xeSzMCE= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:Tr5MwVV3kNWMrzsU4t/KTHS/GPtydoIp0gjLKf+0YRvrHeVPJkvN1YtYmRAHFDEqc4QQhXngqfsV+xmSfbYOhb03zguhghTIEUthfs7y8Y/t8tzZhZEDRJprhReHLhJsPlTFKeyM0glQLXpj4FcUpFAQ7wIbDB9fq0iCAXVcV80ATrJJJznV1hqpv7KGYAivl2LELoE2lbw8gc6aTWpvzG8m29MeMi0PqSJZlVCH0Vouc19BZukpHvz9eA0K/9hPFdzmrn7jlmWDzuMd2XGEmt5vU2lUIpo17BoCrsXKbraq9lUxPBEA9E3ffdJxu6I8xVWa0VHeMXiTaJhryYEmIfRgoQMTN07aQLrWIXR2Ru0B7yfScDC0xNELCDVvbgUgJJQz8jorsbgYqVTVd9C3zEg2RY67VPy4qB2NqHnrVQ4=; 4:ELKgdIaWEEGGTVF+2r7XvyCaiAVkKjFjyHO7DRNZS2X7IkXFvOaV/BdD3+nBkCeeVoBjIieOHHgwLFaeFEbGb2Bk6M0r4dRBMcLGTvishWtpGvb0+VZ/lrFgYtuzbrkx0vm2c8KttQo9idMBLMqOV5KX0EY1uhM7KBbDkJSadRdxguVtyv+BzZl0PldKa9Gmnoee48TerIa9+Cr+MWTRr+JggT85VCMN16zOIJcbcy2+o3+DPxTjCACmh9a3a/geOFhmYuyIFXcdAbtmCsn+hA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:OPDCafZVVSqlfIGxcTCtkE6SWbfU7hd4ns/Z853?= =?us-ascii?Q?XRxgps7WT4PL0oqzxJoUmZ8c7zX6iBn5ZDh2fLv91JwUGKHNai7nqPKy0ldS?= =?us-ascii?Q?WfOtBX1n4vU8hiQG5Wy+sczNCaFIlr9sbRpElxRuw2/y8OjnoIX4E4K9ZFe+?= =?us-ascii?Q?a0dNuAe7k4MMoZsnAM2nQGyEwkddDn/mOJmfCXI03Mv6J4Ut/M2ieKXLBUK9?= =?us-ascii?Q?C/06pOAcrWyUNCfQAuM8Kdi+ejIUM9A0dfCN/irpmUTnLZyB5VP5iSec1ont?= =?us-ascii?Q?9kR1OWDluo/ZUW0lQmpNWI/NzgZJhKOEss3cXlT4gfEpX1wnS/rTxjzEQJ5Z?= =?us-ascii?Q?1uooK/Qv6Fq3GlF5Yo/veEu6fd4Kx/Xh1Z27ouUPwxV+mcAsK8X06JrUvXT2?= =?us-ascii?Q?k7we3DJ65u9Imtjueb5XNFAF7cVwzaJdCp4Rk84Ma3oUPdhpKxCMMB2eCnP5?= =?us-ascii?Q?aHy+Eyg+cx7wkLt42lUUeQ9O4rgZrt1BSIGVO4rloB5/mqDl5rRF20fS/P0P?= =?us-ascii?Q?30oQXZXhI+H5mY94jkY9HgiB3ECctzZBjHE0xofQi7h833CpO02w83d5LExJ?= =?us-ascii?Q?87Ln3IOrZ4gPTClpahCIE49TIMe4gZvXRl0psStwbRhdE4tUbLeP7awSn/rf?= =?us-ascii?Q?MsBluM4grXIJv1r012rjxuMr79fCiShCqDg2KViDo+c1GSEIr6UY5FoADDic?= =?us-ascii?Q?x/0nF1/SqWX5nOhpsZ/9UMB/jfoDwUADhgl3INJEJNQDueakUOZCzd8UeCLS?= =?us-ascii?Q?dYQQQSOj7bY7RvK/WBvKeqFyXw+CQ32YWO1OpyJ3qK1UQ0Rr58aZzX59v6LL?= =?us-ascii?Q?xw+mcyGwQD0uLZNE/IhP8v2+s+3wWgCccFSU9V9H2Ce8FccwZDt8UPn2UurL?= =?us-ascii?Q?rq53XeJoyEY5qeNpfi9VVbzLw3eegs8OvTR9u6RVadCAQkRRZbwI7j4jNq/7?= =?us-ascii?Q?tz8bViMMHjP2nL0JjqozjEpkVOie9f/4yR1L7aPsI2c0o9PoZUp4z7dKgV7s?= =?us-ascii?Q?fzhbr/zmdiOf2T3PCQ07mUUzLqjzwD1O2Gwaktb56Zl/RgU3n0knFZwm5c5p?= =?us-ascii?Q?rik5QV9s1eQ2bNsRxhnbVXOqA3mfWAUNgVnbRsUWoLdkUII2vOm+jL9peora?= =?us-ascii?Q?OiCECDHx5rHt22MaaYCNZuca69D9LRciE/ZaNv1+SN+q9ql5PKLpmew=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:DpvVUVip1dL0c9r5OtxVBsdtUbogTKx5srPzZUPPvfyycaI1hAG/01A41plC4dMah51LvhhWVvyj9s8MR2uZerMrxFdko5e1l4flRU1R4d19p9wZIfa77JXijzSLijcMsZ02eRPlUbomD5B5uttIjcFJ8ul8tGs+BZXQAS1StwnFW4xZ8J8E6fgJbV076KlAl4pD12j2ujWLYUAGdl3pPw6T7o8+FRPEzn98+ItwC4B7q1rxV8zb0aMK5c7gC6FHXHW63/O4PNEOF3uJY6JGsKdjDsweOKZ8KHnvYD1Gtd02gPejtWCpy0s/g0xuPhJSmNvbrnWBFJkzq7ZpUJ57QSSiOZ0m9cmAqlMGfku2GkI=; 5:XJpgIdeG05AFAkIGCUA0go8nAD0C2pEzCzNsysnsOR1ZzWHw3YIrPJMuObt/fQLW+JRlJNsGVc0AnRD58v7Q7hP+vVzymrV3gVYeNgOUMuuBgoYtS9JnDS4lQMruBjv8N3snGW/sRUmiiQFOcfiw8qO7uQ37zNZxbr2H1pQoxUM=; 24:fH/EWxQ8fL7mkGCFLoaVS3SGdp0bMHBtzKpwuM5+yIQhVy1UtqII7ZeeS5hrLXP2HRwA3CSLsKvrzZA9sU34+8g1lEOlBS9OmbTMtuThTfk=; 7:mPcRrGSuV9KN9X53LuFaj6pzMM2jc5kSflcAhCUCJBCSxQpnCQfw4Ow128y8NOZKHOXLhgjrm1OQTScSDM20X3xx7tdjb+VjO88S+jHEzO+tYbAAXF8NDOSHhuOfZ4Ki37npFneeKbNGVWWMyx3H2fTFJXqpQeDe2rFeRug9ItcliWVQigChq99pHbe+Tolp+0h++zJUrFMF5zfqF8zjb75cy3tpVlGNBA6ysOR69zXoNsHgbLPOnVmrsS7coa91 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:m/jGU42XQ7Fvm0Icngpowiz6EPlh4NK67O5FNEDIbAaV1U2iKQ1Oq1eYTpoQbe1biMBCct7+BgXPJdkWfpEyirp7RPIjydUpuReH163FbE8MdMHYkcjjcijQQwJzUO0YfiueiDF3T4X6yU6M4w9mU314BQxFvAlaZXdG3VUhTvU= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:39.8525 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dc56e665-b4d7-4c31-4138-08d5213f770d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.93 Subject: [Qemu-devel] [PATCH v5 05/15] file-posix: support BDRV_REQ_ALLOCATE 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Current write_zeroes implementation is good enough to satisfy this flag too Signed-off-by: Anton Nefedov Reviewed-by: Alberto Garcia --- block/file-posix.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/block/file-posix.c b/block/file-posix.c index 36ee89e..c36e156 100644 --- a/block/file-posix.c +++ b/block/file-posix.c @@ -558,7 +558,10 @@ static int raw_open_common(BlockDriverState *bs, QDict= *options, } if (S_ISREG(st.st_mode)) { s->discard_zeroes =3D true; +#ifdef CONFIG_FALLOCATE s->has_fallocate =3D true; + bs->supported_zero_flags |=3D BDRV_REQ_ALLOCATE; +#endif } if (S_ISBLK(st.st_mode)) { #ifdef BLKDISCARDZEROES @@ -593,6 +596,7 @@ static int raw_open_common(BlockDriverState *bs, QDict = *options, #ifdef CONFIG_XFS if (platform_test_xfs_fd(s->fd)) { s->is_xfs =3D true; + bs->supported_zero_flags |=3D BDRV_REQ_ALLOCATE; } #endif =20 @@ -1413,6 +1417,10 @@ static ssize_t handle_aiocb_write_zeroes(RawPosixAIO= Data *aiocb) } s->has_fallocate =3D false; } + + if (!s->has_fallocate) { + aiocb->bs->supported_zero_flags &=3D ~BDRV_REQ_ALLOCATE; + } #endif =20 return -ENOTSUP; --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551913099740.9144798762419; Wed, 1 Nov 2017 08:58:33 -0700 (PDT) Received: from localhost ([::1]:56449 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vPF-0002Su-7o for importer@patchew.org; Wed, 01 Nov 2017 11:58:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60545) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCC-00088e-46 for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC7-0006eE-S8 for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:48 -0400 Received: from mail-eopbgr40093.outbound.protection.outlook.com ([40.107.4.93]:2721 helo=EUR03-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 1e9vC7-0006d1-JO; Wed, 01 Nov 2017 11:44:43 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:41 +0000 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=fdCD1QswyWmcuudAcOXkTu0Jn3kSzHhz2iiPs7WPuqQ=; b=PCCKa9PMt3a5s8TDz/P/mCUdJRcLobvPU7Rac6r+FIy+WZzjFyhQ406A/ue6DWx9syviOT6nddR6w9CFNV466bCT8ULpbXuCpBdDTCUdjTskNvByJIOZLdJp38umnU2d2VOCOVe8Q0WRjJQjb2UCh/XZh5DqSVVwyn03tW9FSto= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:43:59 +0300 Message-Id: <1509551048-129830-7-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 01721ec8-d158-4a6d-fdae-08d5213f77cb X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:nlPB2HiV7FcFls5ThI7IPlSrvGNFVhHdEsAzDUM65CdyrEvyUlTlEMVCMYjBBJOBksnVjzYw8sl6enf3gSQYrpNZjajdhnLwnZQu0Mg30QEIY+87i4H27FQSGW2ZT1/COEo2KDk29m7qCe2jdfxLeK7lMZ7c7+WT+5dgt+xr3Cmp1obkjgbL8zg96ZCKSz8HieVIkOGkQW5SKtjSk2aMs/2jy9rE7v7qGMmnqX8698gk+mlt5cUACIbXdSLNvLc7; 25:ktkB6ofWIXTr5/UOhGIWlZd9a47nw8a/f9MNUvc9NePUYTApE9UToirNIW7UguSpU+I7DDicfiZ+cpredU07LSZNDVSJByPGfA6VawTgKI6iv66eqTmBWVexcNWv9oVafTj5AUyu5U6/hkO1pIyBRC5xMph5AOpusNxBfS0qav7Yw4FRfcLFeTUBSDVjOqyPH2MqRSnrcGUEXu5li48wOEQbtO12NiG3Q6ISWshnfdl6ihcKMJ/C5N0gUXIA3OwDp5LsQgR8HCVi3Z6Fj0qqRYeKTonDFqlHTUTxBxBoKbu/rKF0HR/KIzeZ0MFtVA2qm/rERpRtfSMQI6zUoEJ7VA==; 31:HA4Z2zOAnjD39ghdBkq9YIa2UxNqs9HsWMfuh/OG4fsAu0VtlzHUwXA1pqVj+KZ7Erz9hIDj4PIgL/qkQ39WqDqgQr4wgLpCIfeJiDexNXSRO4cSdl+G0a4vijpStoMbi36N1O5yulm6r6ZB1BQvIN8TyENeh+lYNWOcQZpLInp4KNObaCvg4SQR07Y6WD/jjL+ZPL7PJ11cM5NtaT8p0fdHJ7vGoP3YQibFK6Qyleg= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:nDw+6moHBByVF/hxpMgYDiODhb7VGk7EOGVGCQ02LylFUsWkilcPfeoE3GMnWrzQq7KQl0Zi6POmvlAec5xVysDloGE5OjlTay+xMhXr+91a9bu484mcl068RARDlzpDsbWnDkfo8gx1YLgLulvZnAGrr4FrNRriiMTCBNkRau3RD7+0eqOC6eRzjtzgsUjZAP0n0afcR49SJ+bnpZOEYgnKp8XRUyq1tyffoigcRGfLcuxP93zzBz6owfxEdGwL5IX18Lo/Cqn2cowteLeb4umEzyKtXpWz16a9eEGWrHXxGcgUj73F3YAyG7M1ol8ft9/wIejghy0bV06nuBWKU05XehLUXS06CV8yYFFwCXj4h98EZMVDEGdt2QyhY26gGQV6+JADJlj0rTTCQnDutwdB9UxDhrFX98Ms4AqNC9U=; 4:WM7o/K6Kp7KgU/hb9G+L3/ZAywZlZWXCzrRH5aHrvuYgZLclfVyAdWeOZensEOyYHmYxaZ1VB8+8SfM/kjockervboRWyfMcwpMHDIi1rBOdGNX75S8lAG1YC14AEdHT6vG63fCzG37DtVN9+eZbKWM0RGRG5HhdUscq3EGAWr0Z8YeuumP3TL9jyl+E35a42pusfbK7bXYhxaWzYEzJqjp0i4rE4QfTeVCBcUs6Lr2jA7XW452oZWdJ0m75FhMrEpX7OY3eNYo61BbxWSU/Mw== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:JMTMdeU71hTrb4DcAhAIJDOZsYCUU1N+4yG1lf5?= =?us-ascii?Q?W14O54i6pCZ+1IjwLyF+ylWMdXU9GLErrwylcos/fHgpenfraWq2Qhx42y4f?= =?us-ascii?Q?y0NfdHLbHR2G/y7iB1L4I+ResQZCUcKF/H6HuwNlf9zY4u0PwYDqSPFTP0X4?= =?us-ascii?Q?AZJgA689xaRHvinpvOe/YOJdP5bXelsuQWe58e+w8rd6ZZW0MtEji9cHouqF?= =?us-ascii?Q?dAqcsoy5VNKJnV1BVwPyIhVn5j/YUsjiob/c6AyzsRO3qjobdBk6OApvBFCm?= =?us-ascii?Q?V8enP+Xt1QsM0GY+dMPzEvvdiX/9X6KbD1eUnzwAQC6tPMiwgp2OeQ0+K5we?= =?us-ascii?Q?06K0MQy+kz2YjPUsdvMR4XkMEKNDJHdmxzO0E7hvKQLilm9MHW5omnrHkvso?= =?us-ascii?Q?fJYOu8RskqsR8c+nM0+BhpfROBSPENnmLkOUkbiUbcVtuozNX+gxPMCTkXeE?= =?us-ascii?Q?l5oj/dx2y04v3rntMrbHDkHa4njiPUy86jefR3UcA63dSZW3hZET74GISv41?= =?us-ascii?Q?akfHLEOFh35wgJsIH3k2HTJXD4jaWm3FUmuZ4p218AgErcqNscn1NOhfzvKH?= =?us-ascii?Q?lnsoFilohB+kxMJOgRsn85x/4buBXol6LUx5mPE3N8fKSHi5Zl6H3NJ3anW/?= =?us-ascii?Q?t1JRQaN2H9VvzuyL4BAmIi8MFe8golbJlF0WAXKVzfXBtSKaEEkzbWKvmeYf?= =?us-ascii?Q?IG6QWf7N3d27lu3ZCzizCH8A1IbdQvxVI8i1lwoym/pIN2FvKuKROQG9M2kD?= =?us-ascii?Q?2Udh2G/nsMLy0uahmWwpM1YVuKHhjT89p5YcQS2Am+elri1E0uJLfvoSdYGD?= =?us-ascii?Q?POA+dxqQoQabma+71vqUWKzyfFnmt3ZaaDGPW/LnNciQC36L6+b0T8AqcJre?= =?us-ascii?Q?vGmE4r2TEGr18kK8ZVs0McavTpTn+YCvrZkNwRfZibpi0iki2gPIL6mBqqXB?= =?us-ascii?Q?kq4S0r4mkc6ycYSKG9EE0NDBQmu5QP0o9okBin3Pd5yVjMdgdlnzAR99tN3F?= =?us-ascii?Q?CX1WsVAt4i/+/vVr2amV9G+OwGywCbQKdwxZ0HTXOIWs39vFepa/4niaGQdY?= =?us-ascii?Q?fVhhhMdVFWXVvqXeCQSmuSsFlKUFeUPAOnalKD6mtIZeSxOli1uBE+7WJXG0?= =?us-ascii?Q?ZljK0wjqt1Owa0irZYqeuDeHKFQd+3fTwI+RxU1lMCYQXo+O012uzPw=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:kDtHkby/bmD5lJdi4nn3KbTH/21sdfF5ikRZHVDtYg6qwrgx/aVgBOU5N/+7Tm+kAKjmrGqljMEbDamg1yYCYh94CfB6tdV+aScsCyMZr73CcP7WlNdPnypbO7N7rCNCU70ToqeNkDTO8gkZFnh7p4BHnsNQzvudskcTWpSfa26RHiNcogEErhIrLWjloTnRhFqtUM1Gq4AUkvRY0+m7k1oyZvdiukJXYX/j+/kJv9kaLKcvTi2b8S8S1HmhE+H9Ph5xJ58BpPvXNMGrV5KcogaTruaJxDg2GgDaxlR67nEt0iShpzhnlumZVhc1oSLgGM7rTK3kChL6kamEek4QQgp+n/fOCQwijTY1QVjO4J0=; 5:Y9xbyvMYVBQ1FIajE7IomWt/9Y/YeluHfhisy1cVKKZVPSXytZZTCxAZWPp8WpBjeroDHoD7gbT4rRRvhY4QytK+lhMseMpbKc3RMgvpJfKigOoCXX3m9jJ06z7FrIKa7c/MFHxiwtAw0XmDbtMFxw1mWwrOqn4JRqPuO4kudQQ=; 24:EI0QXOzs/ArRghy+6cerQAyMOmNsTkjarKaCX6moFfuy1YNo9/o2iE5jNgyFH+RGyRxpMHkH7eqARYtZRP38A2Q3n3Mg4LrYpvch9JYxdn0=; 7:reZEn0CjL0sd3A5VwxgqcHYo6tuRFezTIREHlvWZ7VrI7FZO7StpibbNGO6gf+O+CI58NBsNqMcLOvIMIRM6qTr03P9sArnN4THrymGf4Yp8b7mRVN5G5GEfXajxbbR8J9DooNV2pQ6JDw246u1Ec0V4aADLMUB9CdopTqTSUYvwwdjawRWUtuLbBxFRmMfZqavPjgMwKWieHk/Oy+OjdAbAqvrDYlJpkg5Ue8HKvItux2l6E3cxPYLds/RjcKPQ SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:r8QeldxZo62nv9NpC3tywLZbAzF+uWrzgAU17tGZj35DYjFhpo7Nv9iYjKYlIC1+zQ1D0hnDKkQGfGxfe8a5Rh+DbZuvc3PfxlscAa12shr+zy/+5lR36ShKR6i45UzTpdm8DGWqpIH5DD3VUrX8O7m9KUaau36Oqg0ux5ZiLAY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:41.0088 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 01721ec8-d158-4a6d-fdae-08d5213f77cb X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.93 Subject: [Qemu-devel] [PATCH v5 06/15] block: support BDRV_REQ_ALLOCATE in passthrough drivers 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Support the flag if the underlying BDS supports it Signed-off-by: Anton Nefedov Reviewed-by: Alberto Garcia --- block/blkdebug.c | 3 ++- block/blkverify.c | 2 +- block/mirror.c | 2 +- block/raw-format.c | 3 ++- 4 files changed, 6 insertions(+), 4 deletions(-) diff --git a/block/blkdebug.c b/block/blkdebug.c index e216699..7d5773d 100644 --- a/block/blkdebug.c +++ b/block/blkdebug.c @@ -400,7 +400,8 @@ static int blkdebug_open(BlockDriverState *bs, QDict *o= ptions, int flags, =20 bs->supported_write_flags =3D BDRV_REQ_FUA & bs->file->bs->supported_write_flags; - bs->supported_zero_flags =3D (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + bs->supported_zero_flags =3D + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) & bs->file->bs->supported_zero_flags; ret =3D -EINVAL; =20 diff --git a/block/blkverify.c b/block/blkverify.c index 9ba65d0..b249636 100644 --- a/block/blkverify.c +++ b/block/blkverify.c @@ -145,7 +145,7 @@ static int blkverify_open(BlockDriverState *bs, QDict *= options, int flags, s->test_file->bs->supported_write_flags; =20 bs->supported_zero_flags =3D - (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) & bs->file->bs->supported_zero_flags & s->test_file->bs->supported_zero_flags; =20 diff --git a/block/mirror.c b/block/mirror.c index 19c8987..404c3e9 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1067,7 +1067,7 @@ static void bdrv_mirror_top_refresh_filename(BlockDri= verState *bs, QDict *opts) bs->supported_write_flags =3D BDRV_REQ_FUA & bs->backing->bs->supported_write_flags; bs->supported_zero_flags =3D - (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) & bs->backing->bs->supported_zero_flags; } =20 diff --git a/block/raw-format.c b/block/raw-format.c index ab552c0..b1deb93 100644 --- a/block/raw-format.c +++ b/block/raw-format.c @@ -416,7 +416,8 @@ static int raw_open(BlockDriverState *bs, QDict *option= s, int flags, bs->sg =3D bs->file->bs->sg; bs->supported_write_flags =3D BDRV_REQ_FUA & bs->file->bs->supported_write_flags; - bs->supported_zero_flags =3D (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP) & + bs->supported_zero_flags =3D + (BDRV_REQ_FUA | BDRV_REQ_MAY_UNMAP | BDRV_REQ_ALLOCATE) & bs->file->bs->supported_zero_flags; =20 if (bs->probed && !bdrv_is_read_only(bs)) { --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551829250435.99393240936877; Wed, 1 Nov 2017 08:57:09 -0700 (PDT) Received: from localhost ([::1]:56446 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vO3-0001Zv-Hx for importer@patchew.org; Wed, 01 Nov 2017 11:57:03 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60610) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCE-0008An-8J for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vC9-0006fa-Ez for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:50 -0400 Received: from mail-eopbgr40133.outbound.protection.outlook.com ([40.107.4.133]:45238 helo=EUR03-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 1e9vC9-0006ec-5I; Wed, 01 Nov 2017 11:44:45 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:42 +0000 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=c5SgFoSUEyWVv6kYDhU/zrcJakgDN4L/NHCKe93+L+0=; b=cAFR9ymAi8Pck18Rt5j1stwUM87Qm78LNBSTHzsvFbUkpw+AS/sXxvuQen0lExLSzVplB0wqvJVyCU0p/DPzMFlIzmYlyEsoecEYzb6Pru6to15qK6aEC6EGv4k/bZXS4Pp9hOtTswrWRaQc76yuXiFZddbWKa4X61zG61RptuQ= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:00 +0300 Message-Id: <1509551048-129830-8-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e58ae10-7fe4-4097-6c0a-08d5213f787c X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:qxccBL4T0pcJRYBnYDAp0W9ldShMNbjjxhrXlY3SXgn2zTXorqhOufHpOBGbm9kyWOUUDOLAYnzAQir2bz7THJ16WB0Bc+3vo0RsbHYeW5ORKOG/Kffy1WuRYWi6Rvr7DEQe3+k1DKbimHYwgVoI6ZaCUdpVAtXkpfldjjJFo5ZJvWDAnH62HBad+YoA25l9M4gtVZM3wN1XdeNUOuX2KBDZ++ihm7SN+2XkrVrqb+yGR1EQI3g2OwFaC1MprVqy; 25:1RmTQ5puaRmaH+qGl50og+KRwwoX912Gm/5JVPLy7AIfdKyJmNLD+2CkrviMYMBzYX0j14rgCM8LsBX3muKjuw/LnNXVqIeGnA3+/oWsMzJe6wWjrEld+EycDy7qW63O0JsACFyuh12J/MNv4PzLoNHXa8IKmNbS8QTpx++iGQH78SXhHFz68tKG5Y0CNnS7LswT79yYP7VNwquDTgzKqxLRaUwyWGpePnIZLIfWZlZZ82MlK56tlNdxqnT0nkZcAkQC4p0ZjEtxjgCtOjaqfgssT0NVOdE0qpNofHofoSPZjBxE6VAZbq9+7Ml3coOQZrun59FbFFhBUAeHZCEHhg==; 31:eg3u6JU/WYS1fg/rLg8Ve4C8GXJAaedf4qmVGmRHen83eieFffAdIz1YRpOb1/H8PFfojhLhMD0NaOCG6xPJOw3Kq5A2qmpGxn8CfXg1Bhd06BTIyXOOdF1cd754t1am+0ZTtaUl79TZQFZorVMFm7EAz3w3dj+aC0hx4U5tLc8MijOCx20Xg6Znx100kBzEpixEpSwc7Ily0zoAgAH4KlHFKWZ4z6YcTfVH+IYxNBI= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:V+NTxW2Cf3bhroAzxYuBoLvv+PbxBvlK/oslLPoKIZcNN+Cu/t6HQWi/iGjJvw9WqMU0rSpU059mQfHqe4uH75mZTOEVSiJJEKB6idK15CyHqKhEWBr7FPqKJXzJPDokx5hWAgtrCpCDPPif6qW/B8lCMff/mZfQAw5ZJVNnzt9J+NhetXqqiO7VEcgtEWhRxNJDy0MmMts90qNIY9HucQ+qDXMZYz0s6+DaWbmq/+uzhcrQ+0ad9LfH/qezeCevOqQA+m8ELke7TpX/2dzbXfRAO2fhTUdJtkevGVQyIKCXiJlFRHqF38MDG/3wCV/s41dbFRICKCCh+jFUVV89rB8+KEgHQ7t0hD8xiU2yECLyZpuyBfanIkdhQnsOirMXYoVSmg2Gtz/PtuiO58nY7zdkBns8kdeUUGw9ynsVk8k=; 4:pMvoxULWwR4GWStqKKhECPdfdUUwRvw20ur7DeDGZlgkuTMlXo6JumEE3ZxhEbbaLOJswoydiNkRfvCoi+Enha6QVa6JQGYmJlYG/tOTvJ0w2w5cRQ670xjlPVbVQ0AzX88oYDRU6wtrGiO5x2tFtlT9Etumr3IiZWEJUB1A2bGkv5TWBrdAIXcugihcp4A5nUqhL1AaT/ncyqSvCmIc8XdMMqfCNagFLxGUp6OTO5gPFrNHuFrBFDakrSCziFloK/9973ftRVV7+SDvo7EWtA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:aNF1rEknseLYXTkoUkY3Qd0v+SpE/cueRJMuOmt?= =?us-ascii?Q?geLsD+lvLsiFiYBILNHLdMYrhJscHRIQotAOt09NSME+Y3DlZeSHzoVOR59f?= =?us-ascii?Q?9Ocm7UNN/TELhcLi6lQ/ldOJ5jsjz7v+3bG55nWRgxw3UitWT8LAerxGlc1N?= =?us-ascii?Q?4YZ5JaHtdAOdXdhxhlRKn7gHK48KZaYNmzMGbL6+mfkNwBwbr4h0PzUgfYmL?= =?us-ascii?Q?nckS1u8eS80eiJAKvAHDRGwIHBPibtsvvr4YZZM4IUFrxoybPYZsDc/zpgL9?= =?us-ascii?Q?av8O1sF4hxZxh7QIZXR6Gh/AqRWJwtZJ6ybFipxmLG5wpHSRXJj8w1B2lU0h?= =?us-ascii?Q?B1mVcYk+mW+IKfxdk9fO0fyxkfvZXXL763PoGZK3adwFEfcXlhTVynvjBFns?= =?us-ascii?Q?rdJ9ylIrm9PMkLNZPVlYImWt+CgGgUASMvMxkQtmMyhHdgoX9g+vKdqQiltJ?= =?us-ascii?Q?ET0aWld1h8Xi7KqyXfiXBRD1em1Fl/NyYFFKGILpPyEqt14MEMe7qbQ8uXGO?= =?us-ascii?Q?Cbz95KjRouyEWjzEhf9v87fzHa+kt9bmRflYJ5p3IQC4+ud32MaW3gBEuKAJ?= =?us-ascii?Q?+4CDhdcEZsNUqLSMvEXXacdUDIP9q/oKhEzCjugDz1ScgCbIAbNJBXUMvEB8?= =?us-ascii?Q?5HurO9tXQ72Ye/INkc+lP2r3caJCnEkkGFSZwLtlKeQHvOQ4hEnGBoA5iXUV?= =?us-ascii?Q?wsX82V+X9iHVdkOVDzSt0X7OT/8t/V/gG0ptmJRgeZdV+8HMgil6DlgPl7TO?= =?us-ascii?Q?Yn64rsSewbLzHgLmRx7kszxyCEJSuwYb5o45nBhvCDjoNeFaRFBJqmaGE9KI?= =?us-ascii?Q?AJUCwMCktDhRArMoa1uAjSeRiHUn1HuDC6Dpfg6B7lWOiY9yAMe4PojkP0O7?= =?us-ascii?Q?pjtTmVXG5hsUlNaCoxcO7yS7nzwiSwX2tSvhRVkKmoxvjnnOVKETCgO+wOkJ?= =?us-ascii?Q?fVH37CuDJOsezsbaDKbE6I4LWL9U55kkcB+MW5hgrdwNAkI09tz9yeWSBGD8?= =?us-ascii?Q?GFi//de2263KfQqi0vs3p87plS/EpvhXdukrte96Wg4ZolRupTHFdrakmRiz?= =?us-ascii?Q?pPGJay5o4bkkOcfVEyAlMbJsTsulpzvAqIHidtkygE4NpYDmrTnHQzG+TbsS?= =?us-ascii?Q?6DruG28a4Zvr1cmgenb00abkThouS0yibDmKMGbGlPK7r1SIg9Cw2IA=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:BuVO0kn0vE1Q6C12y7wVvgwsqcG4O3tX/62jv3p6fXcd3/0oNQj4jrIHi1XHH0nFDvxanXIrTcrVRI+f4jYkrkBposzZMZKBzB0q0SEm+z5W8fAOJCg94gysSN9L3oc4TLpI6VmIl6nBE3Lv2aXDpSAfso8Ucw2/CH8VOk+D5fXfKfa4S3J1oOCvOlufvAZ1K9tDkl975h3PuvGNJ6TTuK3WWGrX4CKLvHinN7doevJpkbidsfpR4xbOl3H7KmSmaD9PAkdndd1sk8ObrZP64UZ5j/2JC/RNK7npQF919epGj0h258UFCy2r5TvvPJdJ9isK00vriIkRP8XtyMufNF8EbHXh2YCVezi9EGzh5iI=; 5:RMzVBGbZ+fq8LrrxOFJU/dn7legmQJ2mIPGEYMed5h4x7HkblqTnfVHGS5EH8V97zY0t6Ma9A+ErTre5Z3c18BZNI9vbt/jQiF+1GhdP/3GRk/gwjUUkHoiUOvNUTjKZKdcSHHsy6h9hO3pE+HtPibE9Lj9wuTsoKAz12nOV5rc=; 24:jELh1AHqU08AcU9XpmKCF7p2QpGWODbDawozi05/prbPO/CiMGi9ng9WWx4DBu9ePCENhTqkHpwCB+w5USj96jPS+0hRORBwMDV7DlRERsA=; 7:dnsZE2TFTrp0pXV/1H+/+HiLBhzsNd6ym7AHTiozdbUU8FkUxg2Mr90kYGYPRaSW8aq9b0dwmP8tKdCphLtoyrl3dqYtBSEzPwYifkXkrrfRAP2/2BByoSWDTFtjZk2UF5+FJsQMa7Nz8Akk2X1BNTO70gl9AW3J0Jui6GvWP5XwokElCEzVRmHSogcayG2YqFmcW9xqhiHRsoeAD3Mex+mOqQ6saxH3cBBcuuEx+S+l0CZ0FqNOSfZ2hmjnNztq SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:HFTLvzIECZi22wTHK+SSx3OkUk7+lnGEphKNlWCCtUhyt5eWp5IEJUp+5vbIpBr4SnW8g1E6c+u3RpQYQxE3B5HhiKbEohQRNWBGotWvdYhjk3M4Viek7r7C8yf2dDQ+zCqiWC5RSGAu+zDy7H47fLpij7uhGgr1kpIMX4hI1kM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:42.2588 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8e58ae10-7fe4-4097-6c0a-08d5213f787c X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.133 Subject: [Qemu-devel] [PATCH v5 07/15] qcow2: move is_zero() up 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" To be used in the following commit without a forward declaration. Signed-off-by: Anton Nefedov Reviewed-by: Alberto Garcia --- block/qcow2.c | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 92cb9f9..db759ce 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1881,6 +1881,23 @@ static bool merge_cow(uint64_t offset, unsigned byte= s, return false; } =20 +static bool is_zero(BlockDriverState *bs, int64_t offset, int64_t bytes) +{ + int64_t nr; + int res; + + /* Clamp to image length, before checking status of underlying sectors= */ + if (offset + bytes > bs->total_sectors * BDRV_SECTOR_SIZE) { + bytes =3D bs->total_sectors * BDRV_SECTOR_SIZE - offset; + } + + if (!bytes) { + return true; + } + res =3D bdrv_block_status_above(bs, NULL, offset, bytes, &nr, NULL, NU= LL); + return res >=3D 0 && (res & BDRV_BLOCK_ZERO) && nr =3D=3D bytes; +} + static coroutine_fn int qcow2_co_pwritev(BlockDriverState *bs, uint64_t of= fset, uint64_t bytes, QEMUIOVector *qio= v, int flags) @@ -2998,24 +3015,6 @@ finish: return ret; } =20 - -static bool is_zero(BlockDriverState *bs, int64_t offset, int64_t bytes) -{ - int64_t nr; - int res; - - /* Clamp to image length, before checking status of underlying sectors= */ - if (offset + bytes > bs->total_sectors * BDRV_SECTOR_SIZE) { - bytes =3D bs->total_sectors * BDRV_SECTOR_SIZE - offset; - } - - if (!bytes) { - return true; - } - res =3D bdrv_block_status_above(bs, NULL, offset, bytes, &nr, NULL, NU= LL); - return res >=3D 0 && (res & BDRV_BLOCK_ZERO) && nr =3D=3D bytes; -} - static coroutine_fn int qcow2_co_pwrite_zeroes(BlockDriverState *bs, int64_t offset, int bytes, BdrvRequestFlags flags) { --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551212801474.34438564051106; Wed, 1 Nov 2017 08:46:52 -0700 (PDT) Received: from localhost ([::1]:56381 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vE9-0001AX-VH for importer@patchew.org; Wed, 01 Nov 2017 11:46:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60621) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCE-0008B6-JR for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCA-0006g2-1F for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:50 -0400 Received: from mail-eopbgr40133.outbound.protection.outlook.com ([40.107.4.133]:45238 helo=EUR03-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 1e9vC9-0006ec-LP; Wed, 01 Nov 2017 11:44:45 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:43 +0000 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=L5uY0TZAUtpXEiXgP3dxH97F/yXH60DBOGtkmb0EOtQ=; b=G43yTu3nqvreCMeQ6Dznjxf1yNTt8/QL4uUOHukxdIRjFhS8+qEc86ifZ8WN3L4IfZCRLs0IazyukzbLo8+Oxg3wKgJ9I/FMfjJznYt60oRBh8krY7YWf2GqokAYA80YJ3Ar0LmmKH65sNZo/j+nsfSX6M8kAo4zk70MCkDgmXY= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:01 +0300 Message-Id: <1509551048-129830-9-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a4d7f3f6-b7df-43ec-15a8-08d5213f7928 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:r2Y3LP1SsuaF7qEpqCC3gLA8/EHF3GedS0i4mKUWq5+EtyOQiHFAleQDJBImg2yfljtyydePj+mCgXXJIbovoClUh41ssC9PiEL38x/8CfYV8CLm4AMSPk+oRR+Nz/mX/Us3fMRBao9zXQkqZ63wEDArV6iWKKiB33HdgIch8ajex5HizHOtqojo63r2L1uPhxMyINln+SNzuqPiLKHSC46t/kMo469DCCZDT++Xy0oOi4QHvE1zqQdhqw3lU2LK; 25:in4KY/lKupGDQlKVkoUZ4EAB/N3p/USrUI6uZsPBXIYVApdnYXqxzJ6wL+mhSbnKwCivudRvwyLsDMVEMsAcy+A1+eSqqZXgBGkiOPVCIM6rV4Ct2kCuUrh0cngvhpt4/GVcsvexcu8RhiVaBkx3Yfy3Vi473cDfTuIHMEZMTNUelkDLqlgNoLSizaM1IjutnKkFoFMs3P6nkdjEUhpqa3DVGw+EFrQQpra+BVnslvvpHI/4RZ8EkHCNoGmdByzh7JSAzRyx73l7gdjHbLkLtGUmM8RIpkBFzxR8kpWLJDv7JLyupG8n3sUNpW3E6VzPqN/640J31eYlGrfMvLp7QQ==; 31:NemlA80TtAk6yK5dfxJH2IEnnwa4kQm2r9/CTWijNLmlCSds3wpzjKBemd52acuncDPGizu/5y4QyPPyznnhvLjPMNwrTYTbA4mWb+/jQCuu5BM8QV0FItYf0rigOuA60/9uKOus4JDQHT6UsUwIUg7E4AYmHl2MnLyX8glkMFGACdwh9VVvisoUqfYrcRwci0mrD1JJcuBNvmxUidSvQkTUeI/HP1eZMycVuT3isno= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:ukR2DspeuSnLebGK2+PiPMlp+Id3FQ0odbU4ejJjHYKUeEVPJDCjoaoNMUrahgjHe+//n6ttwJHG1+GWFHX6WHn//P+DTkzol4BD31aiBbdKzGmBnVT1XJ/cPvqVQm64kxDdNSHXD6IjfXDF5kmcl7ATeJjKV6tyeYt7bnFv0N/hDOQR3PKsxWccpNCk6Uz5s7MvXLyYE1ntD0gLSlGMaYWDiJIIl3Hl9E1aO2zUow1vcqtRZeMlpbL6qRB+cSGIRmt8xwg9UYdq6znwzh4QoaqxTctbpy2mezCRMjkMtCtwHL9piFLe3W2drnQYfMFVgt4hJoGVWccAQu5ZwttaNkshUqj2sndemSr1p15pcKjl1ljO8gqxz7TR4M93cLCUcp70jmcIQ+5Cef6pky3S9goTyt/PdQhHGzDZI8EIlBY=; 4:6DjU8f1b6IiYvcLvTBMGhrwpZXi5kczsh5mezQvJkjtWARWhL/qWa1TuJvCZOeYigauX7NcKb0edGF10ymzadSKUQxr2AvgkPbf9th7u/dJ520JESxREtDefoQiDCNe3WCGo7+VRtl6F7tcy3vickKCyoOohqVnDnFvRvbseNpeYqpGaz9cOqXJdr+gQ9BU3+5linqa8pSaP9hDHFeff6xCnOR/NPjO0gkDOJXaefS5Nu4NCVFdONQYGfwmfO7epfEXIzW42VjHxDz+/GCg3/g== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(979002)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(575784001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002)(21314002)(969003)(989001)(999001)(1009001)(1019001); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:Jdnkp7mNTvh23ztulBRMBgGXnZ7eb3l1YUyy1XS?= =?us-ascii?Q?7O5m+4U87w/WDWy/zyMaCgtAeCVNLU3I6Dre3uQrgaJED8C8FjgG0Grlneyb?= =?us-ascii?Q?Ba3NmUuNuMblyJF4Ne7nTm/1RPiDwmZqZYU29Nz5CfW643k5nJnmIy3fVYW0?= =?us-ascii?Q?o2AXusFM20x1K51g1XGw6BCp/g6SVZfPAw1GvQ94H6pnSFJgbTkhoFnBoHOG?= =?us-ascii?Q?TawhxjmUuAfsraHncnsXHrjcWaeq7qCaFILDp4GLHDIFsUxilhfddU3pZDNx?= =?us-ascii?Q?vboeTmYWOqGfMjqqyhjv8+5Ae2PXmyDRI8ket3+spSD61HhX7FPYVFmIjMK3?= =?us-ascii?Q?Whey60YpxQIUhKrAXbhtVAdCwCFyqGpXBNzVzlNVfG1ZlEVa/6xVh12qxrJZ?= =?us-ascii?Q?BC+Ag7WXR/K3hOEvlTH9T/yKw3cJJml15N3thG2ceE6Kav/Qh+CVWA0vfm31?= =?us-ascii?Q?9ntxdTaAqqnrV3znbG5LfBK7X2S67Ud/UiSKyjuyA0DmuJu3A+rO3MBQjDVx?= =?us-ascii?Q?YcxmolTWIGnKeS42431/8vZ40W2gah6/9F2eqrWSH7lNMjuknBhhQTe2KLXk?= =?us-ascii?Q?auaPpM2ZMsObBNEDIiqQmwP7vWoX+hVM9N18Q8rPWc+jqkJF0J7duMIU67nO?= =?us-ascii?Q?r/7boRAXH2m2OQXuTwnb9cA17qWi28yOsWYsuStbr4YT+ejgi52t2SNEl9iA?= =?us-ascii?Q?N7SfVSGX+shborsv+XlxY7ymMSC8jWqbgGHH+lrEOwlY1wqvSyqLrh1Qzl7B?= =?us-ascii?Q?m+3F57TlAorysFRlIX3/M5cdJHsZhbBrpUFJf81GVJfZOSRz+PRCerosd/qu?= =?us-ascii?Q?3LTKazOw1ln4TTWzakWY1eTLhXAU1BhZh7njred1mmROZ/uLzXHOog1OjTv1?= =?us-ascii?Q?fI3/Bv3r21EDQkHKmD74txAEzN+QmUPyqpsEokDzL+fRDkXhEzbvHOV+L3nu?= =?us-ascii?Q?6ZQeVauMvylCMjkGQKaDIom8vpfxwrzS7TU9OI7C2tGoSy/IR30jUJJIDSgq?= =?us-ascii?Q?JxkN3aAv+vKH83G1YeFQd+lqT2CQrZ4JCAvK2aSqtt0E1geEGuCXQIPSiMEP?= =?us-ascii?Q?fEhq6wzgJ7MXR/DYgPhTysIQDBG5JOSGNBU8G2dAcaZuBp8nLymF2AnjHUVU?= =?us-ascii?Q?hMs6IhBBhlWVy1JHrAlSvi8UPgD60JtGKovg6O8GbNhnfodaDaFRet9a30sS?= =?us-ascii?Q?PwVxuuSOP3RSsjT6GBPIgZoGms8eNin40Ai1GIdYPWIZK7an5sGp1UBTKZF5?= =?us-ascii?Q?fjlhrW7wiiipTf6bbRDetBqFVt6NVYgcO2xwHFafpf92Mz8MnASU5VAbfxKM?= =?us-ascii?Q?KtXeHlj5MDIKNQmGE7jxRh4M=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:8RF6CPymHwfe9LsaVwgPzU94gfhj180+Pss8zh0LNF9uZ+bcG6K/rwL0PxMwjyeAgkz+QpeLhzEW50KWTJpWIZCdWyMJjuUSe5sR51VbsBOwFeMAlu/KiKxJ898wXFd2Y8mjws0+JDXlAG1l5C+FTvRSOoakofwXj7bnvjKzQeooAZGVCUE59xon8asIYO1y12RIo8VajFyQAzdtKcJ+Z6T+RGj5EahncosyS2Tt66ZiVOQPUTBFucakb+J51epwXBHjGbr3coKnPTkdWU4Rcnkwm7NXPrcrRTfQHsbl/BiCMykeizEXesofonIwg2fWVIB3m6t2fOO6zvM53geFsAONqAohEkI28V0AWs4oTAA=; 5:vnzLcl7BePf6HEoRHCMfu4lvz5YkfkMJ/3GHGfj3zKrDLFlbhbXhVD7gXplbEpiSDMZQOrWAhD4GFQIFjAcOSl03GOEEbOKLFJ6IVW6UoIiwFVFMXArrCBJJFbf7gJXSUo/cEAwfhYEHZmDyM/NE4hYXGvC1lIrnDB5hwkVs/wo=; 24:xB7DM7y5LG2xcjTK1oJ3M7zFY4LGA4nIgRgzlEy9kE4CJp51T7Lw8Ild6XL6RA3lts3W2B2C3JM1zD45q7qJiWu/y543uQGwk0t4QWSqW7k=; 7:75Bkv/d65NSS9qDB8xhEHWBLWQzkTqg6Rme/eCF5Me+/QpBNd5aUpR4123h5TUY0J+a+9htbnq6YOBz3JxarTCGBRdmbe6JRXxHfutARJm9380nnHkQKxn/4tHCJRRUiLEHF/ncFNhF0UaRnyjOSssi3JOftz+BP6W96IdxaP87sYpovGu7C6LcuCR3qCbM7BTkR67W0BAiXvKsdgMsGgIyPrj1sAhJmIXQEJv0AFo04Ud5QeroVJOTWHCki913P SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:MqaRBGPoC88RzGWuGgR2qDW5X1q9oi3XZAwfKt7rQ3xArx+2HN2i/oLAo1SZ7iPZE5vSTmk27UO9kEcyp2CSeivqTZWP5mTWBbuSqOWAQBUb22FEQFbAKtEXB4A4UAhdV/NqEkw9/H8LFWbvsBw2OpFFZFvHo+73eSZsycSDod4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:43.3838 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a4d7f3f6-b7df-43ec-15a8-08d5213f7928 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.133 Subject: [Qemu-devel] [PATCH v5 08/15] qcow2: skip writing zero buffers to empty COW areas 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" If COW areas of the newly allocated clusters are zeroes on the backing imag= e, efficient bdrv_write_zeroes(flags=3DBDRV_REQ_ALLOCATE) can be used on the w= hole cluster instead of writing explicit zero buffers later in perform_cow(). iotest 060: write to the discarded cluster does not trigger COW anymore. so, break on write_aio event instead, will work for the test (but write won't fail anymore, so update reference output) iotest 066: cluster-alignment areas that were not really COWed are now detected as zeroes, hence the initial write has to be exactly the same size for the maps to match Signed-off-by: Anton Nefedov --- block/qcow2.h | 6 +++++ block/qcow2-cluster.c | 3 ++- block/qcow2.c | 67 ++++++++++++++++++++++++++++++++++++++++++= ++-- block/trace-events | 1 + tests/qemu-iotests/060 | 2 +- tests/qemu-iotests/060.out | 3 ++- tests/qemu-iotests/066 | 2 +- tests/qemu-iotests/066.out | 4 +-- 8 files changed, 80 insertions(+), 8 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index 782a206..e312e48 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -377,6 +377,12 @@ typedef struct QCowL2Meta Qcow2COWRegion cow_end; =20 /** + * Indicates that both COW areas are empty (nb_bytes =3D=3D 0) + * or filled with zeroes and do not require any more copying + */ + bool zero_cow; + + /** * The I/O vector with the data from the actual guest write request. * If non-NULL, this is meant to be merged together with the data * from @cow_start and @cow_end into one single write operation. diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index fb10e26..e364116 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -783,7 +783,7 @@ static int perform_cow(BlockDriverState *bs, QCowL2Meta= *m) assert(start->offset + start->nb_bytes <=3D end->offset); assert(!m->data_qiov || m->data_qiov->size =3D=3D data_bytes); =20 - if (start->nb_bytes =3D=3D 0 && end->nb_bytes =3D=3D 0) { + if ((start->nb_bytes =3D=3D 0 && end->nb_bytes =3D=3D 0) || m->zero_co= w) { return 0; } =20 @@ -1383,6 +1383,7 @@ static int handle_alloc(BlockDriverState *bs, uint64_= t guest_offset, .offset =3D nb_bytes, .nb_bytes =3D avail_bytes - nb_bytes, }, + .zero_cow =3D false, }; qemu_co_queue_init(&(*m)->dependent_requests); QLIST_INSERT_HEAD(&s->cluster_allocs, *m, next_in_flight); diff --git a/block/qcow2.c b/block/qcow2.c index db759ce..827058d 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1856,6 +1856,11 @@ static bool merge_cow(uint64_t offset, unsigned byte= s, continue; } =20 + /* If both COW regions are zeroes already, skip this too */ + if (m->zero_cow) { + continue; + } + /* The data (middle) region must be immediately after the * start region */ if (l2meta_cow_start(m) + m->cow_start.nb_bytes !=3D offset) { @@ -1898,6 +1903,57 @@ static bool is_zero(BlockDriverState *bs, int64_t of= fset, int64_t bytes) return res >=3D 0 && (res & BDRV_BLOCK_ZERO) && nr =3D=3D bytes; } =20 +static bool is_zero_cow(BlockDriverState *bs, QCowL2Meta *m) +{ + if (bs->encrypted) { + return false; + } + + if (m->cow_start.nb_bytes !=3D 0 && + !is_zero(bs, m->offset + m->cow_start.offset, m->cow_start.nb_byte= s)) + { + return false; + } + + if (m->cow_end.nb_bytes !=3D 0 && + !is_zero(bs, m->offset + m->cow_end.offset, m->cow_end.nb_bytes)) + { + return false; + } + + return true; +} + +static void handle_alloc_space(BlockDriverState *bs, QCowL2Meta *l2meta) +{ + BDRVQcow2State *s =3D bs->opaque; + QCowL2Meta *m; + + for (m =3D l2meta; m !=3D NULL; m =3D m->next) { + int ret; + + if (!m->cow_start.nb_bytes && !m->cow_end.nb_bytes) { + continue; + } + + if (!is_zero_cow(bs, m)) { + continue; + } + + /* instead of writing zero COW buffers, + efficiently zero out the whole clusters */ + ret =3D bdrv_co_pwrite_zeroes(bs->file, m->alloc_offset, + m->nb_clusters * s->cluster_size, + BDRV_REQ_ALLOCATE); + if (ret < 0) { + continue; + } + + trace_qcow2_skip_cow(qemu_coroutine_self(), m->offset, m->nb_clust= ers); + m->zero_cow =3D true; + } +} + static coroutine_fn int qcow2_co_pwritev(BlockDriverState *bs, uint64_t of= fset, uint64_t bytes, QEMUIOVector *qio= v, int flags) @@ -1980,24 +2036,31 @@ static coroutine_fn int qcow2_co_pwritev(BlockDrive= rState *bs, uint64_t offset, goto fail; } =20 + qemu_co_mutex_unlock(&s->lock); + + if (bs->file->bs->supported_zero_flags & BDRV_REQ_ALLOCATE) { + handle_alloc_space(bs, l2meta); + } + /* If we need to do COW, check if it's possible to merge the * writing of the guest data together with that of the COW regions. * If it's not possible (or not necessary) then write the * guest data now. */ if (!merge_cow(offset, cur_bytes, &hd_qiov, l2meta)) { - qemu_co_mutex_unlock(&s->lock); BLKDBG_EVENT(bs->file, BLKDBG_WRITE_AIO); trace_qcow2_writev_data(qemu_coroutine_self(), cluster_offset + offset_in_cluster); ret =3D bdrv_co_pwritev(bs->file, cluster_offset + offset_in_cluster, cur_bytes, &hd_qiov, 0); - qemu_co_mutex_lock(&s->lock); if (ret < 0) { + qemu_co_mutex_lock(&s->lock); goto fail; } } =20 + qemu_co_mutex_lock(&s->lock); + while (l2meta !=3D NULL) { QCowL2Meta *next; =20 diff --git a/block/trace-events b/block/trace-events index 11c8d5f..c9fa596 100644 --- a/block/trace-events +++ b/block/trace-events @@ -61,6 +61,7 @@ qcow2_writev_done_part(void *co, int cur_bytes) "co %p cu= r_bytes %d" qcow2_writev_data(void *co, uint64_t offset) "co %p offset 0x%" PRIx64 qcow2_pwrite_zeroes_start_req(void *co, int64_t offset, int count) "co %p = offset 0x%" PRIx64 " count %d" qcow2_pwrite_zeroes(void *co, int64_t offset, int count) "co %p offset 0x%= " PRIx64 " count %d" +qcow2_skip_cow(void* co, uint64_t offset, int nb_clusters) "co %p offset 0= x%" PRIx64 " nb_clusters %d" =20 # block/qcow2-cluster.c qcow2_alloc_clusters_offset(void *co, uint64_t offset, int bytes) "co %p o= ffset 0x%" PRIx64 " bytes %d" diff --git a/tests/qemu-iotests/060 b/tests/qemu-iotests/060 index 8e95c45..3a0f096 100755 --- a/tests/qemu-iotests/060 +++ b/tests/qemu-iotests/060 @@ -160,7 +160,7 @@ poke_file "$TEST_IMG" '131084' "\x00\x00" # 0x2000c # any unallocated cluster, leading to an attempt to overwrite the second L2 # table. Finally, resume the COW write and see it fail (but not crash). echo "open -o file.driver=3Dblkdebug $TEST_IMG -break cow_read 0 +break write_aio 0 aio_write 0k 1k wait_break 0 write 64k 64k diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out index 5ca3af4..736dc30 100644 --- a/tests/qemu-iotests/060.out +++ b/tests/qemu-iotests/060.out @@ -108,7 +108,8 @@ qcow2: Marking image as corrupt: Preventing invalid wri= te on metadata (overlaps blkdebug: Suspended request '0' write failed: Input/output error blkdebug: Resuming request '0' -aio_write failed: No medium found +wrote 1024/1024 bytes at offset 0 +1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) =20 =3D=3D=3D Testing unallocated image header =3D=3D=3D =20 diff --git a/tests/qemu-iotests/066 b/tests/qemu-iotests/066 index 8638217..3c216a1 100755 --- a/tests/qemu-iotests/066 +++ b/tests/qemu-iotests/066 @@ -71,7 +71,7 @@ echo _make_test_img $IMG_SIZE =20 # Create data clusters (not aligned to an L2 table) -$QEMU_IO -c 'write -P 42 1M 256k' "$TEST_IMG" | _filter_qemu_io +$QEMU_IO -c "write -P 42 $(((1024 + 32) * 1024)) 192k" "$TEST_IMG" | _filt= er_qemu_io orig_map=3D$($QEMU_IMG map --output=3Djson "$TEST_IMG") =20 # Convert the data clusters to preallocated zero clusters diff --git a/tests/qemu-iotests/066.out b/tests/qemu-iotests/066.out index 3d9da9b..093431e 100644 --- a/tests/qemu-iotests/066.out +++ b/tests/qemu-iotests/066.out @@ -19,8 +19,8 @@ Offset Length Mapped to File =3D=3D=3D Writing to preallocated zero clusters =3D=3D=3D =20 Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D67109376 -wrote 262144/262144 bytes at offset 1048576 -256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +wrote 196608/196608 bytes at offset 1081344 +192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 262144/262144 bytes at offset 1048576 256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) wrote 196608/196608 bytes at offset 1081344 --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 150955140528068.26194700595795; Wed, 1 Nov 2017 08:50:05 -0700 (PDT) Received: from localhost ([::1]:56391 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vH4-0003db-CS for importer@patchew.org; Wed, 01 Nov 2017 11:49:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60654) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCG-0008Cu-Mk for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCC-0006hX-0M for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:52 -0400 Received: from mail-eopbgr40111.outbound.protection.outlook.com ([40.107.4.111]:9363 helo=EUR03-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 1e9vCB-0006gT-IO; Wed, 01 Nov 2017 11:44:47 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:44 +0000 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=yXqct5nEsunXWDQ8jR7IXIAhKj/Rp5xFfRRo4P/7faY=; b=fGOE/IMaXg34OgtEqD59aFkACmBdEm2YPFIxwWLLTlSSz5zaWNNJGLcoh+Am/1q1wuwDdAwyycfyPZZXmFW07RYu0XJW0Tb5iZSqGrRKeXMWZhFzp/AZ0ynkEcewzr6ysEH4g7eEQipUFEMG7BkCA68NZF7YfQvropmFU8mcZxs= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:02 +0300 Message-Id: <1509551048-129830-10-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cc6bdc65-8569-47e8-bdea-08d5213f79f2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:aBYJatlpYlDLKuXe2ABcsIVYEcEUfB62oy+ehY79HJcgjA6cSXM68Mx1pOeQ0/IZQPBqKsrAB7hvO2dLEAJMHmOlr9wfQq3DPGjkHiNumv62KFberCgkI2Uxys52QERjJGa+iAyHhXgWPrkochkFYfaaPNbdakQdosVZOQhpiz/VxRMiq5xKOKPEU+gU7ZX6sU30bT2sNmwNVeAWeqSUgydRjwIO1AB/GPTzaLhn/MrZATbMY8wMgL0jbMuLE9F/; 25:3MWrsUDM74U4gd5RDw4Ti13sreURPcHBzUrd5v/oNXtXjAo0ezuHBEbpKB5jZf6qYB33rcxSVobeeFAeBtcMF/6N6X055Uc8EPA9/TOKBHS0waNl00oHPTSaQEvuFQiHexRLQhEanFr7XHVhSMmpt7XXcHcVq9wNe1V9VXUOJb7G+93I25biUXfT2C09IARtUjJYbYUHoAWG7E8W+Vbl8xJFqWx6RrNjNxUpOYvhbmY+7nod76cCfX/FI8jLCS/xrDSFD2vd+b+sY9BdERK0mGgsZ9DcIJFqXFzmNo2RBTjbVkq6/VUrUbcI0q3Nj9mQYD2la1xYfVAd/xn8XMMbFw==; 31:yifgJf78jZI84CSgcVSz6IkxGNB274Vlh6r34/A6FxZxu8odizOllERnSPUblHzxFo7XFwl5yRGbed3wGgNDoaTA6CKnkrv3x7iIp8BDZyd+VryjqFmNmlXwAm9CP3F4ukvjcAa3qikevjiApt6UnzppRg70ED6tgdOaTLcm45NvVo4V2ZEGBvjTIOzItWgPVH3qElbU+gBvmjbc2gczvwqSqVfF+Xr8tG9Uzx38Gk8= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:EFcvmE8Mfb7fWMF9vKCMoRxs9ZnyHL1C949AgJdqZp7YXRPGAPdTmjANlfJCnHU8/DmOp1tTy4exeGd7CySeusjjtbm5gYtXxgXg8px5rLx6hkd5IlR364J494CwP8VPC84QOYw9c3Bi3MNSnHjSYqj7qYcF0yl9PqP/Pm502iG+Lw/81yjFrcWJn7B13rn4+/hBwMC9QTAkYY0+Jsx8fZZIdMWLPxOEHDeZcX2YneHzSRj+2Z/Hf1fsHb9xULPY3KiQYnDhOn3VLZbR2r4gjehsyIB4rD4HQrYwTs3eHpE1ZgNI0U8vZ3Lyg8yKQ/7a4S0E/ufhYhFwhA8aQFIOHXvhqQw7OpnRn/suQGrEvs8kJVTcT5pK2T1FZsSZcrbr00wwLSJO0yX18MPFNZIN8WGRcDg3MiR0w8XR+2Af0hI=; 4:Z/P3XpjOPsa2b5p2nKyQzgdQ4hMfl4s7DrDoWv/hXoYPYlw7qrGp+P6v/ODb9YyL62n1y+tsI3qCO9M6p/niXjKoovxgyH4uAEFodhEoU8/B7Nasp7luq2L+m0Rlu0ldDDMZjikW9wv2diiFN8f7nwfEoKkpDDi1eiTvrIbzvs+022OpS4Ua0N+3OXhJI9hIdQ5KCPzAoYfpLY09Zr/bKjoWWimXp/c2s/l+OJcFNJhJimeZUn9BiH1M4ZZ/e0+XNg5b7pRo8QHFRmLIjplNVQ== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(54906003)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:x2J7YKdyNmLuoSM0dKxQSSBN2XjhoSwrv7V5LcV?= =?us-ascii?Q?cy3UdmPPC3cWYWtF8GL5Omitu87A4I9gfyWvUTrJ8nw87F543pf6CJ7vmpNF?= =?us-ascii?Q?76fTZQQ+XD432J9tNk7dKZioE835cuytPHfzEWZBb31GYHltmjSKGgPGFn9K?= =?us-ascii?Q?GP3R3Gk4EPlWJFjrwQocSgKkJ7QwzjpNJwADJX+/JywGUBX+j3eYtRWl7Qyr?= =?us-ascii?Q?dTzmtyn0oeHWiVS3rU3D5RZ65J+RqNFeFggocJH2JvTeO3vnGn0iEpeyM1m1?= =?us-ascii?Q?w16anS/XeQhUlZAZHmcSs58RE4K89kvHlaN93ruAddHITgGRO0UDr02DITHX?= =?us-ascii?Q?KiNAAq+RDffybCbT/onPjC7u1KEYL9JWYdxnAXXWQkqnXOWxOJLlFHyfvn1x?= =?us-ascii?Q?/opqvzs5towglQ0IFzGdRENoAIRheup+gWG4qm0VubaxO5n+diod/GGEVLyl?= =?us-ascii?Q?xo4j0VeuxGFSXbKb9F+JNJcddE5zUEwuiq1snY180dpQmkMYQBfVrDyTEwn9?= =?us-ascii?Q?PGIeY1ZYrFByWMh8+rdueZFzGQBBFyRNj3WHpP4SlThNHMGhiRTUbecI9Mrq?= =?us-ascii?Q?sYepYrw1DaLnrdXjgMfr5B6TcfUw5rdXQmkU/HriWkrTgNY1cc6Mr75WFJ6O?= =?us-ascii?Q?LIk0Vlmb00gTeBWbl9YA5MZAwz+Edt+8+7KQCI/Vle6qXHOkW4mCjVBs8XeX?= =?us-ascii?Q?XoAkIInu1QtO4tkdPDzuHwIy4rWgZHSINiHT4fuy1PaWftYpj9sQd7fkwfBc?= =?us-ascii?Q?2e8VoQTTf44Us1GstFv5cD169E6vft4K1E1WB1k/R0MkKi/hdFtPnGAF7aMl?= =?us-ascii?Q?rBChWjtm9iZ69yVDj4nSL6O985xaFrGeaWvt+lt4vkoPKGx/RJe24lGisR6F?= =?us-ascii?Q?gAEHWHddUunTduYheRApWaJqrucLXhwAuGrsWNxJl76fMGYFzcbJJ4znKDvO?= =?us-ascii?Q?oyVXUOvBVYbejwWPaVmzUO53+ZErllDFMhZvRP1tmXml8CoQcjKdBaShNDqF?= =?us-ascii?Q?/tTn7nf0BV0fKwtMaMpiraWOMCqsCaWGodHQdWlj+kWefvopNkiWR/91hlEb?= =?us-ascii?Q?0UHUg4FBEsCyrYE16ZwA6o5/WIMk4ji9cvCDdaL28Lqq7ILOEfB/nFpKahjs?= =?us-ascii?Q?I9eTypgr6yLdz4qT3w78z5ah658aoytRhwxkTAx9XvED4snlOcSOVQlcz0se?= =?us-ascii?Q?kZBRpQ2KHxxVyjGk=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:MOSanLAgkSVmHnFae4dPTRXZTWhRpPmZhdDyi3+axwTgC3qKOsUe+5J3TWQ5Ai/isB3Ilb8hvOW9qgtA07UslNYF922p01HUNcEzuWsZMj/PL5m55c1Mme0jharvTNxONVZBUAV0Kwoxq8nAqLQcVjd/mY0Xa4PpH0kO1CKl6xdsnDNg9b+uBEj6c2u8HyvDJIcJc5wcCd1Yt/e9P3hBnehDg3BiRaQ4MEP+tF6u734EviAH8LMZRzu0wZJ492zLHltksMHHiy7r4plQQgLedEisVclvPGKebR3DCsQLN+yt2ZdxLoa1MToC9EhWccadmwKPyNVziD84IPzNLSADsmNvEMQGrfchPQ2RWbI7ENw=; 5:6G2fPdrjbvr5HkySTRx0b90D3bEiaefgIGrBgMs+brEWegOVvoLUYlN62OrQ9kV4l4yCBX+NK3U8gHl4EqPtIgIz9GTr2uWDMfLsGWh+Bro+aNVVfgFochDVAaP/8vVSp/I6KMXNB0oHcGU1p7bRMRVVn950o9QEbAyvrdsAKQo=; 24:vmMPkRUSZQJBHSaxLMWqMhZVTjNQH89WTiiw9DdNVAyQWYm9v03BAL581yYlFmeU0U1B0/7j2eYMXjhaVLuKgM7LmSM1Jpc6zymT0eT0AcE=; 7:3LcfAeXcOU6xtB58ibLnK8jgQlg5GaU979nOJ2uUl3bFv6VTAss0IYgjARs6/ehLwF16ipSHYQXTSEF85vEchAIxu8DUngNtdFlNCpWIi2bv3KS1rRojrp7JS0zo2/mTEV7c90oBmHIuBUuGq7yG9B/55+yCzW7Squ38t4Gn7RHQOasRt5RK8I2ZzzhO7z0lHYAhq8PiGfW+TViAqQ2IVIcONm5xJdDxlzZwzhBMuznyi/wN0M2pcYucnjYZa7fx SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:an8GhG5hlEBfRNP9B1Ndaid74qZHx3LnsRJ22VRrQxAPxkysy82wG5xjz8Ba0XZyLLozlBAByoGTAF5IS7VqEXg1OlwK4dxXIT9PwPB0B0fCrXd+5Gs8An7sIhKwac+/UinzBmFNHkPGx0lIFAfwxMB2W5heii5Aejh6y/MI/CY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:44.6182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc6bdc65-8569-47e8-bdea-08d5213f79f2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.111 Subject: [Qemu-devel] [PATCH v5 09/15] qcow2: preallocation at image expand 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com, "Denis V. Lunev" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Denis V. Lunev" This patch adds image preallocation at expand to provide better locality of QCOW2 image file and optimize this procedure for some distributed storage where this procedure is slow. Preallocation is not issued upon writing metadata clusters. Possible conflicts are resolved by the common block layer code since ALLOCATE requests are serialising. Signed-off-by: Denis V. Lunev Signed-off-by: Anton Nefedov --- block/qcow2.h | 3 +++ block/qcow2.c | 43 +++++++++++++++++++++++++++++++++++++++++++ qemu-options.hx | 4 ++++ 3 files changed, 50 insertions(+) diff --git a/block/qcow2.h b/block/qcow2.h index e312e48..9a2711e 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -102,6 +102,7 @@ #define QCOW2_OPT_L2_CACHE_SIZE "l2-cache-size" #define QCOW2_OPT_REFCOUNT_CACHE_SIZE "refcount-cache-size" #define QCOW2_OPT_CACHE_CLEAN_INTERVAL "cache-clean-interval" +#define QCOW2_OPT_PREALLOC_SIZE "prealloc-size" =20 typedef struct QCowHeader { uint32_t magic; @@ -327,6 +328,8 @@ typedef struct BDRVQcow2State { * override) */ char *image_backing_file; char *image_backing_format; + + uint64_t prealloc_size; } BDRVQcow2State; =20 typedef struct Qcow2COWRegion { diff --git a/block/qcow2.c b/block/qcow2.c index 827058d..3899524 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -674,6 +674,11 @@ static QemuOptsList qcow2_runtime_opts =3D { }, BLOCK_CRYPTO_OPT_DEF_KEY_SECRET("encrypt.", "ID of secret providing qcow2 AES key or LUKS passphrase"), + { + .name =3D QCOW2_OPT_PREALLOC_SIZE, + .type =3D QEMU_OPT_SIZE, + .help =3D "Preallocation amount at image expand", + }, { /* end of list */ } }, }; @@ -1016,6 +1021,15 @@ static int qcow2_update_options_prepare(BlockDriverS= tate *bs, goto fail; } =20 + s->prealloc_size =3D + ROUND_UP(qemu_opt_get_size_del(opts, QCOW2_OPT_PREALLOC_SIZE, 0), + s->cluster_size); + if (s->prealloc_size && + !(bs->file->bs->supported_zero_flags & BDRV_REQ_ALLOCATE)) + { + s->prealloc_size =3D 0; + } + ret =3D 0; fail: QDECREF(encryptopts); @@ -1924,6 +1938,31 @@ static bool is_zero_cow(BlockDriverState *bs, QCowL2= Meta *m) return true; } =20 +/* + * If the specified area is beyond EOF, allocates it + prealloc_size + * bytes ahead. + */ +static void coroutine_fn handle_prealloc(BlockDriverState *bs, + const QCowL2Meta *m) +{ + BDRVQcow2State *s =3D bs->opaque; + uint64_t start =3D m->alloc_offset; + uint64_t end =3D start + m->nb_clusters * s->cluster_size; + int64_t flen =3D bdrv_getlength(bs->file->bs); + + if (flen < 0) { + return; + } + + if (end > flen) { + /* try to alloc host space in one chunk for better locality */ + bdrv_co_pwrite_zeroes(bs->file, flen, + QEMU_ALIGN_UP(end + s->prealloc_size - flen, + s->cluster_size), + BDRV_REQ_ALLOCATE); + } +} + static void handle_alloc_space(BlockDriverState *bs, QCowL2Meta *l2meta) { BDRVQcow2State *s =3D bs->opaque; @@ -1932,6 +1971,10 @@ static void handle_alloc_space(BlockDriverState *bs,= QCowL2Meta *l2meta) for (m =3D l2meta; m !=3D NULL; m =3D m->next) { int ret; =20 + if (s->prealloc_size) { + handle_prealloc(bs, m); + } + if (!m->cow_start.nb_bytes && !m->cow_end.nb_bytes) { continue; } diff --git a/qemu-options.hx b/qemu-options.hx index 3728e9b..a75a9fd 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -771,6 +771,10 @@ occasions where a cluster gets freed (on/off; default:= off) Which overlap checks to perform for writes to the image (none/constant/cached/all; default: cached). For details or finer granularity control refer to the QAPI documentation of @code{blockdev-add}. + +@item prealloc-size +The number of bytes that will be preallocated ahead at qcow2 file expansion +(allocating a new cluster beyond the end of file). @end table =20 Example 1: --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551926780559.0715648073717; Wed, 1 Nov 2017 08:58:46 -0700 (PDT) Received: from localhost ([::1]:56450 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vPe-0002m3-3o for importer@patchew.org; Wed, 01 Nov 2017 11:58:42 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60659) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCH-0008DD-2R for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCC-0006iA-If for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:53 -0400 Received: from mail-eopbgr40111.outbound.protection.outlook.com ([40.107.4.111]:9363 helo=EUR03-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 1e9vCC-0006gT-93; Wed, 01 Nov 2017 11:44:48 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:45 +0000 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=c/dp+wcv6Od1Yt2MK0UEZYJI/TxTA0l/hz5RZeIc/xw=; b=gj+rRZuyRO747w95QBlfz2BTEBY5pb70OT9zMxtUUR2c3GejhYNboCnDFmFcua6cJDsrL71Lmzz5ztrRMudl6k1Vh3QVJS0Xg6oYcf+soOuLEPLWv3J5DHySaUHo9BvKaLacJCjW2pCGy0M8yA/bSHi895F48aIptsZH9V1MBsU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:03 +0300 Message-Id: <1509551048-129830-11-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: fecfbe77-d3d2-41a4-678c-08d5213f7a9e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:xw9mh4z4LC/jGn1AsC7NFvOaJFD3xlU26m0rr2zaqd98SI69RcQjJ4Fg7J3F/g8T/4Tauzrs4T0XBSvZR9XEJfu4ah3fqOjXbcq+UQyBiExLpff0oUtqTQxmjEP5W7jPV8o2S+b690zYqPpgoabVa+NT4a4b1UsFqfoDFMWbRjfiNu0mEQz6GQgvBe9g3tJrsD23/WFoe/aUI0y8m2KOozo1GXL9wpLCq2hbJeVhtpVZOonRAF4JztLUlUEfJemW; 25:5MokDVZ3z8nD1Yew0aXunzMDf37FtcQ1PremesqEBYG9GQrPFjwhwKhRrZJ5Tby56NLZogfdbClMtr4wo7ivL0KPY/U4G5bDwVsBokL/nV98hipM8mL9sW1NJ2NaGnA5Ggs88R+Txa3Q0XFu5xgtBcGR/WtyWqi7CuvNuRmG/LwrWm/Tbbn4JVJu3OPO3M6daYF9GgOSXA8wNibzCFLP6NrEuOMe8CpgcWtyQIpDbcNIW/yvbRzHQRCf9KfTM1K+b50vYuiSi2SwzuJL81K5YQ4Mh+wFx4O9+QZ0N8m6gkVMa5l0fusArdc9D/R5O7TbGrxk2g1DPG5NY8ui9BwMbw==; 31:F8sF8dwnAYmI0Rarp5/UwSEKK8p/Fa655eYylICOut2syNhgteARZxE7Zb4afueD1x4ihn/R96FX7rA+FTtuk8XyYUxwkOn2dNnaNT6V+FyrFvsau/+ZQ/0XYlW7Nr1UV74+qKZSa16alGQa8sbCIsZuyKffd+xztpY0msehq9oh98DIupXDR8RzcWL3ZnLtUIhnsav/ydJl7hgMpoomRlqqOK0KSH2ruXnc0cKT2is= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:RW8ljJ961cDADtyrZ4+mkexLZFZwkiFBnILgA1zrQ/Ds1tJtS57EzxZfidjZBHlZU8zC3FAjsGgoKTuiCOlXR+Iz3fBMf5RLMpTXG6voW8Hm3PP6HCI2PHsg7oFoa33d02EjcFG3a9nGt5l9rrc9lG1aveZBqjQsPYNuj2n8Rt/kz4BLDB1HkHAyA5fnR2EgmMg6BaxU4lC7mgc2381PJVPN8beOWLeCpDehTV3KJtaItJ7pwcGN625rWyk0S1Ug1q2esjYMP1owTwZvYaUY06qna7IpU/UVUxbTollVgH3RYvRKafFTGBK/amlLNpc/zn3UA+h48YWQUfvkXB00U9KdF1Bus2IqMlLF30ia3YqQdEpirwUomVjzGNzHKDafnSLmSvyFd+1udmkNXrW1vEikjoJm1uEpKTZzQpBJHSc=; 4:G/MudoK6tlmj5uDeuH11XRbjVXH9ejGuXwrEDJRiQdcT43R10Cw5wvP/i7B1wldDq1WWbctf6UoyuE5uXZVHOdsu5AV6U0A7hE8AR+uUponWrpdog0wSMNu25nFaWBbCwI9UrfYCt1JZcToOx6jzMMQ1QXeCohZ9SfMg+GLrIsKmeuXqDJdQ8xCtO9ug8UBCBhD2AV8p382XNfMRW25A9HPxYIqz4TY76TKycnyohGm6uc39cTxPEDQjBn56JuZfsB2R7WWJKj+JUdn62pl0HQ== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:/eZHi8/YrG846MLRUQfwKJoxTD7mwmxb8IyLK57?= =?us-ascii?Q?BLS7jIczvViMtdvNN6KJvyxWoEGxm+0XGs4c0P1+bQbocHDtcypudJnldJkE?= =?us-ascii?Q?8F/HpyMbWGs/KOOJkTbNnkKq0oRhx96vGkM10Q/2V0y8kpyDU6ScvQ25Y9Ke?= =?us-ascii?Q?FatwMOvvfDehixQxucIWCrta/bd0AphZjBR/XDreBSQ4URHnuERd4Wk9V9kF?= =?us-ascii?Q?6HPTPwXgPTeNvgrauG2NqxABBAq+AZamcTiJLo5D1gbJltmEURRkBKnrFIVK?= =?us-ascii?Q?U8lx+CJxWw67gVLNiVROVu8OnMryFNG2/aNaS3w2Nw8CM4gmY7UaUc6R/leE?= =?us-ascii?Q?rg7e2HyTRlYegbYFAJUk01lnf4lr/nz+9CnUe3CLDaElHy/xOQWhspbYm0/M?= =?us-ascii?Q?xk5oo6EYD35E/TxtRXV5yi1XBZxo7bAsqBMVeniKNwwfddSqmnRzKtv4Fvtj?= =?us-ascii?Q?qR5NBnjaxnjcRzpUJCauJYyeBdxu31CTs11RZ2NhcTq/sVDyXEyIDbTRn+Cn?= =?us-ascii?Q?+RNEv4gMqz1gqxVGx6ebM4yYWA7a8RlDvr1NuVU3pDQwY9TvnE8HnVvJtm/T?= =?us-ascii?Q?TfhnrV12SGQIiMMT0fSNfdpXgqY7Z+ADHbP7az/2+K49DcmpOc6DyTfbQgE5?= =?us-ascii?Q?/eWV5ul0k/d+RZPRF+/8+IH1q9xcSKVCy12x6rtY5L4+0d+OVqoDKkQtIZkx?= =?us-ascii?Q?bKAstFlufbkYGogYgcblxTpjk89ZY8x4RBi5wPld4Shi/gxvAsbblrJfWXOj?= =?us-ascii?Q?MhK3CGGhByf1YIloAQQ/gdqAalJd59KKkSkfOA3ZIeYhbsXjSSam1ZgH8QfK?= =?us-ascii?Q?Itg2xjBXxDd8Ef3IQVUfgFtIYPDxh7jqy6ayOAGZ2KIOeLVRoGRn4ai9GSuw?= =?us-ascii?Q?Ytqvpxh8KOHsMw/f/PK9n3pKetuJHZrG3Wcam3IHRRc5bGepNjPzRg8OUAA3?= =?us-ascii?Q?0T7PuU+ZPw4fyITRwEkkE2ASXme3XkAryuIakzH9a6F9fmR2OInTsqVbjwcQ?= =?us-ascii?Q?8tP5S9T1oPvKGqaAG77ScZA++13cqYvTAb+A/9LD0AHg1h0FBtAGBklF16WE?= =?us-ascii?Q?oicfvA1g0agdN0VWtylYhglnhjWM809a5g7INYDBPp2p8Qei5TBa8Hhcn3d/?= =?us-ascii?Q?PNiBN/c2msv3UBmm5LyD7C/iGUNLg7MLUAowq3XT7CPotYPE4EMh7hQ=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:4hQrjwDvR0dlE4VHReHqoF0p18BwRmtNI26fThIhe3T0nTKJzUy4xg/CaprzWB14RpgWkjJsKoWVGtf2fgRyCa3ZnA7SXlRvTf/AZ74SYgdKoV5teu6DUSK3CHfNmBSK3QUwB0HVY+ubphXRhQeL5zCy9eb6u1KbWOvVutPl+BokxpKYeA0BctVDatZmNShYnKFCd/PizhwvrLJi/KYydGWDhzGRO97RSOBzATaSfy/Sb+/oT6jAxXz3hYYQH3UrF9wh+h8STut95ZY18H56dDPIx7YWPeRRqLYSB+9CM+IjzcDtMmNxM6UnL4yfZ1FEmtLgB8E8/bFtPFa46AI76xv1CViMlFcSzTsPbucs79I=; 5:efjeXTOMrFQL94ufwTeNyiBDo1eA9a3sKMcoQZYSsKfMut0T8/7oy2Lb/zL7SbpMXS75r1mSWd8xhwdQqzL+aU+90S6AxwvqASy+0MzMEYhtAeejjpcPXHikVL4E64u+iD4ztncntB31ESXW1vSYU0XpiRquRvLC0pSbubl2U2s=; 24:oO01HKRHxzlljODZsFtJPgo+dlf1EUwOMhxdIfa3vJmiFSP6Pgd6f8p0Wv6+vGiHJ5BBMMUGfTxdktNY2ht64K9V+Fgvk4uKu08sYIxZDDM=; 7:LIpawFe3CGMphZAXJf+orFZ6Ire/OKx6n06O6hjEIKXCSp05AEOoAMs1SGNyTo3PB0tQabnexcU56BkeUwIvdcI0lkpDVZTV42bM6vZRl5wXLaZNRChP/TNTH9ud81G2lazSUdXPFds6B1YYgzFVYuoVG0AC9L7/VYEvZj9TU6imO3oosmyagyEPanTbGiMqf8eyZiVNu8wNadigEefZseF3VRlvtyKSf161ZBAnFsKxOOw7PLT6SfJUJVzyd14h SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:+HUFN7xXmq054aJ5Y/GNw1tKC3HzV0Bu5OqAjzO8mOZYfRHu/5aVKW9w/MBENDXuetkDZoHyEqlgtFM3cyIrUvEtNwXYu8AyZjTAMxra2UkIQhrumS2FKbr9bIKitENXvIGzrbUIC3K6oO8mB8RUPCje6SIkKbFwfYFtpBQHJ3w= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:45.8525 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: fecfbe77-d3d2-41a4-678c-08d5213f7a9e X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.111 Subject: [Qemu-devel] [PATCH v5 10/15] qcow2: set inactive flag 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Qcow2State and BlockDriverState flags have to be in sync Signed-off-by: Anton Nefedov --- block/qcow2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/qcow2.c b/block/qcow2.c index 3899524..f41aaac 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -2184,6 +2184,7 @@ static int qcow2_inactivate(BlockDriverState *bs) =20 if (result =3D=3D 0) { qcow2_mark_clean(bs); + s->flags |=3D BDRV_O_INACTIVE; } =20 return result; --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 150955157110551.006810818353074; Wed, 1 Nov 2017 08:52:51 -0700 (PDT) Received: from localhost ([::1]:56411 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vJm-00062C-AJ for importer@patchew.org; Wed, 01 Nov 2017 11:52:38 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60761) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCK-0008Gs-5Q for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCE-0006ka-78 for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:56 -0400 Received: from mail-eopbgr40130.outbound.protection.outlook.com ([40.107.4.130]:62701 helo=EUR03-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 1e9vCD-0006iU-T1; Wed, 01 Nov 2017 11:44:50 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:47 +0000 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=3HKwSreg02OWAswte85yQNL+d8jUeGjkv/3MNwOzP1Q=; b=eaJEBP6vx4JUd2dYBcGCo+eX0G5n0QtARg9Mkl39srwSDGrlxegrV/AsaEKOkZ4FD0x965sImeO+8l+qs6zpQOskIYjgcjTSNaQ43bBNO115yunGsyAvwTlEqMowpQmsG9B4YDoUeZapBUTGC8POjVxor1Ss0cufG7KRRXFitw0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:04 +0300 Message-Id: <1509551048-129830-12-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 7f25db02-22e9-4cc2-2407-08d5213f7b5d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:d56jQXsO4oGY1sKgxx+5axJUxCoFQHA7DKKSvONSS+8mIOrFRVB9ZFcojwfoLpV0W14pgZFOSwZnKSp7JZSEjuYZARNicv6OwIK3ApJOIYekcd3wddkMuEb0pI5YLYDQ7MR0vc/QA1x5yvyfPgEUsEePgDvCbJQz02vQfqvjyGbCIPQ6eE90UXezBhuiUAPXZRJJso4rQSS/iznfqg4wY3RO44IfP7EKU8qL+YgB2iJZXbAnB+PI9/P/VrjkSIFK; 25:VNUJnQA9ZoaWI17O959xPM7Az0nk4FgFAMOPsZ59J+PYJ3hly66dJNvMOfJNk/GKjReYzbqp8REVQaFiUMg44w2JZFiqschdUTF8OfDLdrS+VH/V1KSgX/Ga40P2/wgGGC6IvDtJPt2dl10T8dhcK83RenHhF3cjeshVMFA80CcC3xnZUkHZgiFcq1rdByzd4sLg9i5V6QUqYcIBKvk3fuAj3FBbIjLmscHofIrCj7pI6Rvdlx4Y6RuGVokXubMhsr4Fx1SIM0dzFu4/C5ZXy9UkJIoOkEM4ZyaAbeyciKzUXLmi8/fvnyPY54RHj7EugIhhbgO62mDhdQio6dqocg==; 31:MZG0m5NWI06A9bYZEqVX2+H36vEpH7yg0tg0qg56AYxygZEG1W6uHPj3oKCWsfaEuO0X4hr4YVPBN216xQbJwv4UrxuhvHIY+lGrZUBUxWd6q5duzdTN5gQaJbS5zRJymK7ZCYRbl+ObUutYlYyFF6SIe2/eE6jFHIq21GF+mVc9gZ8pa1c+clUEi/ns15obXW6S47GV7iKdG/QPsy/uhbSztxwTHs+UkGg+KTv3Dwg= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:gJPH9waLbQrAb0QTQiXSeLvBHS1sOBsOfnpik3do8jseAvH456gjh2yrnKeCl45+g5GtuluH/L7cId1w6ACH5mj3hfowr6xxBImsAxXSQpsOFzQcwHldZehfpS76ecfTWXUepS0YPg3k6XAVRw29++oBojoR9vXHRKOJxLGL9Y8LG9NhI8NobcXBeNl6WrPYr3avfs6stRoquBmKCLrjc+SJaXeW69dTt9rJ9pP784tJmFObFTFlhEnqH6vfDAFTjurmkzcS451K5aUKKEtMiS6qa/4IgtGo116EwwB5gbJTFMRV7XumEzTaZFOfWVgNL7Y3xV67WCOj+2Z8pwS6yrnqa34sVVTCMJN32BrGMOeMjlJPwwE8Zz6JHyJURdATsQYYciGu8tvJlLdfQvMEpHjm9Y75jewimFisjljZ9eQ=; 4:Lwm4dRpYvN32bWXfGJg9I7itzE74F0xTT8eRRgHcvs+oha5m9h+eKPv9fxIOtE9ydMV4gRWfEtlf8mTyH9hgxeqD9eRPoeH716+Xsi6uZXtT4jnI5G0E1PL4LUz6DKaZjxaRHSZTwt/mT/4OIM9V7dGTRLc1wW+RHEJe1//qTrcvAQndf9cEARaHLdgBjGXudl2ar67djjDu2w6N3QdfBtGRHfw000oqnrTbz9vqoTCgvDiDZYGtTLnxEjD/1Ej2a2VufY/pCRikpvxrtjRcGA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(54906003)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:hzG5h5US55fsI4DuV2nVvMZkQq+FrWNUYxrqv2c?= =?us-ascii?Q?KnZaSZCOo4k+5Fi5u8pkbMrV4Jx0k0fCD34lJ0jjUNGovy26gnN2bS+vd/wZ?= =?us-ascii?Q?2xHwLp2pBBLUStPPrDJg3Pi6HLvOx7xxNlbsVBjtpFb0PqQlfl8a/NzKb+LZ?= =?us-ascii?Q?vuDMcdlI710W1CdtGGq80uPqZhpMODePUbTLve1umUdfd5NcIp4z5wO5WeXL?= =?us-ascii?Q?STLvcf5iyxuc0yJmeCiZwDGS9GnWR17POfGnnCukYrCJC6UdrjyoyEdSnXJ6?= =?us-ascii?Q?P9VbBG+6rNYVzIGP12SdlnBF2+HFHQJnyXB5mj3UEe3eCncX61OijpY4srcS?= =?us-ascii?Q?ZIQ4d09bKZKThn8N35E7rQulcQkEtgKOLV7xKlr3wH7/Hb+j21myOqweoNBB?= =?us-ascii?Q?g+tY3AmPTRadRVRtkqLf6SFLR61eH5GeOtt/DCBE+i5ma5hNe8zNNI70CkUO?= =?us-ascii?Q?q60gTC9oKXZTHyhS88acea4Y9fb2tY4+5DhsZ6XbAk5pYE7FVY8+91SIndxz?= =?us-ascii?Q?ksKVK5leiU56uiTYJVLAW8iSnOl/uC/D7HJlCHu2pVTCeYsEer0WTnOTRJ3d?= =?us-ascii?Q?OnavARKzV9aRbMwR/QQk+QyQCjkRepkCZACMvCSuZkpiPV/wV3zdILi04Ahs?= =?us-ascii?Q?60dgzXmvda1qUcXKC8iMUa1yb/rb2oFPBiv1OyqyEl7QenNocqaqb7dlQRW7?= =?us-ascii?Q?0ltJhUy+Z8LOWZJlot14g0MckEgFHPM1S4C/7PSH2ZdVo+06t7ZItXOZxojR?= =?us-ascii?Q?pZM494I++va7c6Ixe1ZmcBYerMKa6/YMXEmWT28jd776Ciobz+H/NUrleidz?= =?us-ascii?Q?DlajdoL3FrTME95E7U8lFD4kEgFVtFLKjG8UbsN8xHPh9BI62j0mUMwM8w3V?= =?us-ascii?Q?OzLcpwmSvJgFsjdu+XpgP7KRM1jaumYFa1BhIaPA2/0wBR+KmvGbntBMF+J9?= =?us-ascii?Q?hhS/nDN1yDUaL2UqxKmMlfPfnOMGS21x4dupnLyRYDwE4em9tAcy+/zJd2xU?= =?us-ascii?Q?VbrsR+60VWFdKgnpWZU0adx3V7mpqQTZewt/jZ4szrL6HF379jX5Qwdsc7d0?= =?us-ascii?Q?dpNLBpoKSQNye7gfU+iTk3LfHMw4zmRj1EfFROpyy1GekzbNPMxMGKox7uYV?= =?us-ascii?Q?pBGfZ+B46PGos34shr+FNMRrPqXYY9eIrCIY9FJ7DFZBqBEq4e9J8gJBcn4z?= =?us-ascii?Q?5sP2uy7lbiFKKf8E=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:4FKCEN88jqqg4MvPmo/WNmw+mwBuHl0UAoPx7Xcg3dPHe5AbW2+l3/UNYxOkiZHpj5JMansGJSPP6bflAA8xcZ4IRQ6PX0uBklpf9lH45K0f51nlvR+2FFahLSA95oHAbeLyHs6S3VZdfpLOp5neLRyPGlnuYrLr2xncRbTwlM/JC4k0BeNOWU13LgqHv36QqIN2UfYWvMhik9vkeS94w4rsUbpYPmyQv4amwQosoRkPq4YkuMxxobmfIudmOk45q37TgeyguWknF34st/psqRE6gEXlbCvvWgktgjuLTzvOyZmCKrZ7TW62nIdxxy6FLOD5cn13LhQIFj+Ag0wcDLJNrVJ2JmkXwjOkWHGKW6k=; 5:1TVuLvEDHjqNyEqmYe+hT/+1jEchWu4ILbgDoDblL+MzDVXsxSSFKJInfCRSOT8OMlhkR64GtpqmAFKxvjYDhpQIAJaBhQrfEcZ5JiVuUoob5/ejtTvXd58QBX/tVBf+AxepCYKwU/FJPstLpP+oCYPwVSqPAlW26MLnmEWiNz4=; 24:fsMARDX2sILQB90wtv4jteXMqFU8/s9JI1l90KU/WZ8X8AhQR9sILUmLnnJ1u4Orr4PPI+MoliihqxA9xIoPHAttweuBCH2bU/GR8cDbIlk=; 7:zUwnrwsjp3TmMVjs55Riu/ciQ/b29nim6t56YKjlFUkxV4M4D39zpP3hSjK3uAl6MclmwvfZx8Ka50BHEhmVifguu4T1l7KEug9/D00zHEPRkwOIepMSXv7dXPkXsIT7+E0BMhXuU/519FNEUhkXwY5h7htFAwC+suHEn9nOc25xMpnnCmXnuiEarJ3ZvN5MDiN1ZGQVK/I9AU6duXF8N+61IjYM+cH9CyI+K/vJLNL7dk2UMKljEFsB+Pc+vv0x SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:cQXFRk+iwvUTMA2VMCt9nH1RQHPuwvg5sYbzMToj6xENz3+txWl66N2JD7xFSC3DEUhGVxGFW0RKRxm4jEXIOdvvtH9HELcwT9R5scH1Mbb+XmibghvPiJkMcCoaiEbMj+gewyE+cLZI2lAHIkgzGhV2jMD4LSDwvUvE5PBNqsA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:47.0088 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 7f25db02-22e9-4cc2-2407-08d5213f7b5d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.130 Subject: [Qemu-devel] [PATCH v5 11/15] qcow2: truncate preallocated space 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com, "Denis V. Lunev" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: "Denis V. Lunev" This could be done after calculation of the end of data and metadata in the qcow2 image. Signed-off-by: Denis V. Lunev Signed-off-by: Anton Nefedov --- block/qcow2.h | 3 +++ block/qcow2-cluster.c | 9 +++++++++ block/qcow2-refcount.c | 7 +++++++ block/qcow2.c | 7 +++++++ 4 files changed, 26 insertions(+) diff --git a/block/qcow2.h b/block/qcow2.h index 9a2711e..579838d 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -330,6 +330,7 @@ typedef struct BDRVQcow2State { char *image_backing_format; =20 uint64_t prealloc_size; + uint64_t data_end; } BDRVQcow2State; =20 typedef struct Qcow2COWRegion { @@ -693,4 +694,6 @@ void qcow2_remove_persistent_dirty_bitmap(BlockDriverSt= ate *bs, const char *name, Error **errp); =20 +void qcow2_update_data_end(BlockDriverState *bs, uint64_t off); + #endif diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index e364116..9b24cab 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -2080,3 +2080,12 @@ fail: g_free(l1_table); return ret; } + +void qcow2_update_data_end(BlockDriverState *bs, uint64_t off) +{ + BDRVQcow2State *s =3D bs->opaque; + + if (s->data_end < off) { + s->data_end =3D off; + } +} diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c index aa3fd6c..5797666 100644 --- a/block/qcow2-refcount.c +++ b/block/qcow2-refcount.c @@ -834,6 +834,9 @@ static int QEMU_WARN_UNUSED_RESULT update_refcount(Bloc= kDriverState *bs, ret =3D alloc_refcount_block(bs, cluster_index, &refcount_bloc= k); if (ret < 0) { goto fail; + } else { + qcow2_update_data_end(bs, s->refcount_table_offset + + s->refcount_table_size * sizeof(uint64_t)); } } old_table_index =3D table_index; @@ -971,6 +974,8 @@ retry: s->free_cluster_index - 1 > (INT64_MAX >> s->cluster_bits)) { return -EFBIG; + } else { + qcow2_update_data_end(bs, s->free_cluster_index << s->cluster_bits= ); } =20 #ifdef DEBUG_ALLOC2 @@ -1035,6 +1040,8 @@ int64_t qcow2_alloc_clusters_at(BlockDriverState *bs,= uint64_t offset, =20 if (ret < 0) { return ret; + } else { + qcow2_update_data_end(bs, offset + (nb_clusters << s->cluster_bits= )); } =20 return i; diff --git a/block/qcow2.c b/block/qcow2.c index f41aaac..5e2b543 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1488,6 +1488,8 @@ static int qcow2_do_open(BlockDriverState *bs, QDict = *options, int flags, } } =20 + s->data_end =3D bdrv_getlength(bs->file->bs); + #ifdef DEBUG_ALLOC { BdrvCheckResult result =3D {0}; @@ -2184,6 +2186,11 @@ static int qcow2_inactivate(BlockDriverState *bs) =20 if (result =3D=3D 0) { qcow2_mark_clean(bs); + + /* truncate preallocated space */ + if (!bs->read_only && s->data_end < bdrv_getlength(bs->file->bs)) { + bdrv_truncate(bs->file, s->data_end, PREALLOC_MODE_OFF, NULL); + } s->flags |=3D BDRV_O_INACTIVE; } =20 --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509552023029576.5198393258618; Wed, 1 Nov 2017 09:00:23 -0700 (PDT) Received: from localhost ([::1]:56461 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vRB-0003s3-HP for importer@patchew.org; Wed, 01 Nov 2017 12:00:17 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60790) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCL-0008I9-9a for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:45:01 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCG-0006lt-7q for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:57 -0400 Received: from mail-eopbgr40111.outbound.protection.outlook.com ([40.107.4.111]:51842 helo=EUR03-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 1e9vCF-0006lD-MS; Wed, 01 Nov 2017 11:44:52 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:48 +0000 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=FVZ5naNlyPQz6TLO2SPawBOTDp2/hJxhzAJf78rqOUY=; b=JcYjNSD7LI95q/bcjQUpRKvd+WUV7tBRlZ00SGvAUp1YPgCehdsvz+Om3w6mhoX6QYR93t3lOQbHd7DAa08Sx5S6kQfoUc59TM9LXpM94VMKrmqQwODDHdF2WUFaYQVQJ5eL39kAXri8qxMGugGYSIRAqhbHfRanZr1Rj/HG48A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:05 +0300 Message-Id: <1509551048-129830-13-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 627c3a11-8547-4251-0793-08d5213f7c23 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:ohJQSyM2fvQUcg61tdXov5l90KUO+FBzcLbFxkQmM87RDwGRE4q0j3v4+3xa4TbdlILbY2DswQyI8WCSGiMHBu8CfTZesTiobNnL9Zebuy5wanBz3N5le/GmFL7gD8k3JHxR1iBjX5qS6+70nNcvh9jqpONK84CoFvTFuk1JBp2UOeAjWuCySWg4bq+VwNIt3nOnv90H1RPNKbISwLggggP0g+QwOr9tJ/ZT47nnX1R02RCRPN14HUoPcqDvv5YC; 25:Zrr1WWcOaBA4QMPiRo+Toe6nsrykbVcfcd47WTcG+5ezFEgDa0Zyr1k0juDiGvzwyq44RZvkVBHdxsAOZN/q62W9QOys3MesVdahPxNvSBlUhIsv69c0qBf1Lix4e57yzLfuQebciMT9QUCE2rr8/uWUg9fFryh9cEmOmUUzHJ/yRdPXifQpEVMKrwsINOeB1wyXgIkhrMQeVdyGalXwH3L617rZw8fdYk9KEr4rCLxsA9btklDxDnIQStqrgTLqCJtws126rzEfhgNei15bhwJutJdSrfM2lYik74EfVuzFxTCYJx9QGUOUxQPv19YfvHcpSSCD0izVJq5WBSsAsg==; 31:vASFs67O6k3n3StpF6LO4qXGC/PsFmbuEYvjYDa3/gl+LSpTnE/Mbv2UJcqBFy8n20NVZqhMJkXhH97/AK3VWt9ru1B2u59GDkhbhOrkKdBc9aTQdWYFvk9mk001Zdg57D80iTBi6GYSpSXo7Hwqhb51nHrr07CafhKW7Xoo4wy+RY8h9+ZMvvlRpEh2hnmI4z68JPhqhzxZhRggEJHw7TMsxI3woIbmeqs6q8aRsms= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:BhCWgHONG1lrxFi+F1vS0EVvL0IcoQbRp2+lHSSn25qukPB8SpadtmR0pTTe+1dcQ6F9caIigaa1VRjoRahoxlO2ukaHHQcJZJDZj4XCLk5x/v1P3f8UFyAeyv+2rfMCVRg1BqHWKare32brD6jRS7RYKxAO1s4qBGx6O4jluE3y6O7/YMwtMiu0RmQ3z/utlkU6ou4JCB3y4Hv291BcFhZQjSPpN41OyK+Le5KNojWBb/Feg8sqH2kP09jo+q+gWe7E/gPWKpgJ1V+GfaQ4pNuZH49NrUWLoyZHHw9wcYNow4aAsuuXC2zVekmYROpB3pk3lRcBlcjKQxZiRccmBbu/dTComopfVDl1uccy9vFCgalEUncQ6fYpkS2xk7fn1M89DYk4djtdvddk1vj+CWbyfytF3Qcdrd++YguYPr0=; 4:q9yS+D7QmJ4Zyg4wM59B2Fx1M+5ImRhYI2aS//SbnIitWzEyKyfdVZhsTRjDwlOea1MCIw19v4x8LkjfbFjeMOl02414RVmm5oX87UeE8P2pi/9ZxPHjxAYekjF+bXwQjep85fLa9kdepc0RYHrYoi1If0VLIn4tvi77n7w6GgmGLX5ODeh8fsgCWWFfWYIc0moZamPi6mP/JYK6RscLmuo3iF3zK2HnPbR0CzYxIgi2DJQDe7DxQxWTnH96bpWlkTCJQDdiALT9b0PomV54Gg== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(575784001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(54906003)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:OyFKsUpVjS2uxJDnEwMTVkIxqYf/K7leWDBZCqr?= =?us-ascii?Q?+vhb9S+POJ0r4pxBbBaVRPMCJ9ADIsYC07Uh//BsuT6Ch/Cjxtl0YC0Uejc9?= =?us-ascii?Q?c9ug/LkRNKXKdDt9tCdu252ZMG6EKUesNCPsDCNbou/GkjdEaTJTRJMwuHEP?= =?us-ascii?Q?KDhXBJgM5huqPFuJtSlDm7C4z2QZFT8F0BrDe4ZRhYru9QcE8dyzm8eRMUQP?= =?us-ascii?Q?ZSFVFdWxskk0ML27L2X6xqy4wEz8WsvLfK7pG7x8zXGUQGAvZag2gLGEtfZy?= =?us-ascii?Q?lxa8OUcdtTxbpFKYl5/tbYiHsjsIaalOHPeLctiCgzWhWHBtNVIAIvAF9VZk?= =?us-ascii?Q?Kx/B3Xzm+Pghhi42v11ttpp4a4gutREFKrBZqcULrmiq9AS2WXtGlKkwlst3?= =?us-ascii?Q?nY7swBxd4jrbQGJiaftrPvpZPuJQpPU1eKtdzvdRSGavKc0wuNzWnq5bsgIc?= =?us-ascii?Q?SbmRcpuqg1ywv3L7ybojUljkDRLYgXdaGDe56Xls36nwXewgVzetDp72IyqE?= =?us-ascii?Q?Qsp4nZ/MjQybozQ0z9uXBKbiy44o1UwvYRZwf3tHTUa8BsQrFSsclfh9HEho?= =?us-ascii?Q?V18sNu9E4twg/C2A+5Oz7LY0yeS7WATYDgiVvj9mMDJTZ0Dht8DJ+WqZ0Epu?= =?us-ascii?Q?usV2VvjBHGrtv44JcVA+BIQYKS3KYuCdzuglrUIjJcoysf95Mhw/rbwTF01K?= =?us-ascii?Q?4ivk7zqT6/h9v5GXUabCdsbCK/rUobsE/LTQ2pK9KD4d1OYq88OKKqbQ1bEr?= =?us-ascii?Q?NrPeMlPNPajUXQoNN9eP2TE22kHqZ1nAJRNzZPUVLZm1caS5l585PyGhFIpC?= =?us-ascii?Q?g+1eG+b3/b2yDpMrb8NKG25qjHbtLSyVCbDAwTqpNzuNOT6TGdOPe3Uy6/JH?= =?us-ascii?Q?HC9EOHHNf8JLQNoU1JUREh5q8aW9CGQY5Q/9pb3nWqNcN3WMNCBWgI9Enfjc?= =?us-ascii?Q?J8Aeq87Rsf4dmSUSDEN0R5OfMhi9cG/dgMeVqMyVFyVgmPadTuvuXRG1xRei?= =?us-ascii?Q?poKwydj6BfMkFPHOebIZxlrf/w74wnQsdQaOYXORJYhAgVDGKVfGWzguU6NB?= =?us-ascii?Q?MJqe4OfNaEIXqTqzmLhcg5fKbZM3kUIjQ80FPsv6WpCwYfGt/Ofc1pHiXeZD?= =?us-ascii?Q?p798a3zoJQPRjTr1+Nc1On5LSmwAJXxkjPUjCvApgU1wuMhe7yBWWKgjAuLq?= =?us-ascii?Q?3Kd2MtXGgURRlawILH80t8yCdr8bBipW5noL0R/OrEZNCFDo/hKFFs9aEQg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:hgtdkqcwwAeADau4JGVeWCS43FDGBWB3YxkyJSSdKpp4Pk23Ek5iMQSkKPc/yHcFmFGvhbAM/yr4775nipBKSBgpBINoZziM6oTh9XsuwLZ9a1lMe3/L+/2UvvwvzXUXq/VFhI2lx3nqIOsqIJE+Fn+2GOijKYXUooJUJ+xxK9/Udavc9n8JDDB6a4k1JDqyC3Nsniofc68vMBmFOAVyuOuAxAOK3hnYcu+VoMxWuF3LSDUUErZyhHv1i/VX83fq15C+e6LslUFV24FETQyZA2/+6RwC5HRY0kDfef3F2SSHcMhDsnexAPtq5S/5FuQ1Nkya1khJeytcnxQpeP1Nybi5SuZiErStoZyCjQYnagY=; 5:mylJXmvxODuy+XFXy7GlWg1jG7p0UVXCbvT3qWQ+xHy+YaqutgCHr0yu01P/zDPGzeh7beVL5uXnbSgb/CILTlwAUb3QczdOE/LcSn3b0MwGifDPzMW09h654MHD7GEksKbKG++DzWqXurvsz7+qr6rHbEKak10HTPiPuLx8FOo=; 24:PvimY3pdlTgj9xkzyJPgevaD290xz8+t4c4FEzlPmEMxKsxDiO1zEmJX4cy8RykNG1PVTEXbdEMRRSzBUj/ZEjulssUUO0sQCObcYpqZ96k=; 7:MmRjrk3HhCQKjoebPnzPleKd3w6Xxj9FneMMTUEdZrtvFt+8ps5BQ2RrX6UckD+sr9r26zMJjXzw11T3dbwE0f65HlgG1Cdb/2VMUGqUpPXE3+QnYwIA3XV0El4BdhKX1XabF2Q2S+VuU3iD9oBLT/Rb4SCVMVYFdo6cknSJja0WpP0CxyNDWwRtSR3fSs6ZDVM7cDC0LHFoGVNyKPn1+3hjHelumP/cdszkiSPN1WY+uW/tGNzsRZHHIUCfMyhL SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:97Pt+4p7JKs1TmYmc6kQS618mRonHODweAT14iSZbR8Tt96z6XYlHL9Ytj76zdsypjdO0W26Sj4sOMnYJ36lTNrcHONiCNd4xjjmRzR2gxDdc5xoKE16cqb09kADsQ30sIiPW60p3vLB14R8icHKys5jUAlbI6v+s7SYYHGOkpg= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:48.2276 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 627c3a11-8547-4251-0793-08d5213f7c23 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.111 Subject: [Qemu-devel] [PATCH v5 12/15] qcow2: check space leak at the end of the image 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, Pavel Butsykin , mreitz@redhat.com, "Denis V . Lunev" Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: Pavel Butsykin Preallocated space in the image may remain unused; the patch adds the functionality to identify and fix it in the qcow2_check to avoid wasting storage space on the host. Signed-off-by: Pavel Butsykin Signed-off-by: Denis V. Lunev Signed-off-by: Anton Nefedov --- block/qcow2.c | 32 +++++++++++++ tests/qemu-iotests/026.out | 94 +++++++++++++++++++++++++++++-----= ---- tests/qemu-iotests/026.out.nocache | 94 +++++++++++++++++++++++++++++-----= ---- tests/qemu-iotests/029.out | 5 +- tests/qemu-iotests/060.out | 10 +++- tests/qemu-iotests/061.out | 5 +- tests/qemu-iotests/066.out | 5 +- tests/qemu-iotests/098.out | 7 ++- tests/qemu-iotests/108.out | 5 +- tests/qemu-iotests/112.out | 5 +- 10 files changed, 210 insertions(+), 52 deletions(-) diff --git a/block/qcow2.c b/block/qcow2.c index 5e2b543..ef65b5f 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -530,6 +530,33 @@ int qcow2_mark_consistent(BlockDriverState *bs) return 0; } =20 +static int qcow2_check_extra_preallocation(BlockDriverState *bs, + BdrvCheckResult *res, BdrvCheckMode fix) +{ + BDRVQcow2State *s =3D bs->opaque; + uint64_t img_size =3D bdrv_getlength(bs->file->bs); + + if (res->image_end_offset < img_size) { + uint64_t count =3D + DIV_ROUND_UP(img_size - res->image_end_offset, s->cluster_size= ); + fprintf(stderr, "%s space leaked at the end of the image %jd\n", + fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", + img_size - res->image_end_offset); + res->leaks +=3D count; + if (fix & BDRV_FIX_LEAKS) { + int ret =3D bdrv_truncate(bs->file, res->image_end_offset, + PREALLOC_MODE_OFF, NULL); + if (ret < 0) { + res->check_errors++; + return ret; + } + res->leaks_fixed +=3D count; + } + } + + return 0; +} + static int qcow2_check(BlockDriverState *bs, BdrvCheckResult *result, BdrvCheckMode fix) { @@ -538,6 +565,11 @@ static int qcow2_check(BlockDriverState *bs, BdrvCheck= Result *result, return ret; } =20 + ret =3D qcow2_check_extra_preallocation(bs, result, fix); + if (ret < 0) { + return ret; + } + if (fix && result->check_errors =3D=3D 0 && result->corruptions =3D=3D= 0) { ret =3D qcow2_mark_clean(bs); if (ret < 0) { diff --git a/tests/qemu-iotests/026.out b/tests/qemu-iotests/026.out index 86a50a2..29cc41e 100644 --- a/tests/qemu-iotests/026.out +++ b/tests/qemu-iotests/026.out @@ -5,7 +5,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D107374= 1824 =20 Event: l1_update; errno: 5; imm: off; once: on; write write failed: Input/output error -No errors were found on the image. +ERROR space leaked at the end of the image 1024 + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: l1_update; errno: 5; imm: off; once: on; write -b @@ -33,7 +36,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073= 741824 =20 Event: l1_update; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 1024 + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: l1_update; errno: 28; imm: off; once: on; write -b @@ -468,20 +474,27 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1= 073741824 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 394240 + +770 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: off; write Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 5120 =20 -55 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 @@ -489,19 +502,26 @@ Event: refblock_alloc_hookup; errno: 28; imm: off; on= ce: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 265728 =20 -251 leaked clusters were found on the image. +770 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 394240 + +770 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: off; write @@ -520,20 +540,27 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1= 073741824 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 27648 =20 -11 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 @@ -541,27 +568,35 @@ Event: refblock_alloc_write_blocks; errno: 28; imm: o= ff; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 21504 =20 -23 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 131584 =20 -11 leaked clusters were found on the image. +268 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 @@ -569,27 +604,35 @@ Event: refblock_alloc_write_table; errno: 28; imm: of= f; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 131584 =20 -23 leaked clusters were found on the image. +280 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: on; write write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: off; write Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 132608 =20 -11 leaked clusters were found on the image. +270 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 @@ -597,8 +640,9 @@ Event: refblock_alloc_switch_table; errno: 28; imm: off= ; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 132608 =20 -23 leaked clusters were found on the image. +282 leaked clusters were found on the image. This means waste of disk space, but no harm to data. =20 =3D=3D=3D L1 growth tests =3D=3D=3D @@ -651,7 +695,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10= 73741824 =20 Event: l1_grow_activate_table; errno: 5; imm: off; once: on write failed: Input/output error -No errors were found on the image. +ERROR space leaked at the end of the image 98304 + +96 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: l1_grow_activate_table; errno: 5; imm: off; once: off @@ -665,7 +712,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10= 73741824 =20 Event: l1_grow_activate_table; errno: 28; imm: off; once: on write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 98304 + +96 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824 =20 Event: l1_grow_activate_table; errno: 28; imm: off; once: off diff --git a/tests/qemu-iotests/026.out.nocache b/tests/qemu-iotests/026.ou= t.nocache index ea2e166..42b258b 100644 --- a/tests/qemu-iotests/026.out.nocache +++ b/tests/qemu-iotests/026.out.nocache @@ -5,7 +5,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D107374= 1824 =20 Event: l1_update; errno: 5; imm: off; once: on; write=20 write failed: Input/output error -No errors were found on the image. +ERROR space leaked at the end of the image 1024 + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: l1_update; errno: 5; imm: off; once: on; write -b @@ -33,7 +36,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073= 741824 =20 Event: l1_update; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 1024 + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: l1_update; errno: 28; imm: off; once: on; write -b @@ -476,20 +482,27 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1= 073741824 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 394240 + +770 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_hookup; errno: 28; imm: off; once: off; write=20 Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 5120 =20 -55 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 @@ -497,19 +510,26 @@ Event: refblock_alloc_hookup; errno: 28; imm: off; on= ce: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 265728 =20 -251 leaked clusters were found on the image. +770 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 394240 + +770 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write; errno: 28; imm: off; once: off; write=20 @@ -528,20 +548,27 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1= 073741824 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write_blocks; errno: 28; imm: off; once: off; write=20 Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 27648 =20 -11 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 @@ -549,27 +576,35 @@ Event: refblock_alloc_write_blocks; errno: 28; imm: o= ff; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 21504 =20 -23 leaked clusters were found on the image. +65 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_write_table; errno: 28; imm: off; once: off; write=20 Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 131584 =20 -11 leaked clusters were found on the image. +268 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 @@ -577,27 +612,35 @@ Event: refblock_alloc_write_table; errno: 28; imm: of= f; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 131584 =20 -23 leaked clusters were found on the image. +280 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: on; write=20 write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: on; write -b write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 33280 + +65 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: refblock_alloc_switch_table; errno: 28; imm: off; once: off; write=20 Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 132608 =20 -11 leaked clusters were found on the image. +270 leaked clusters were found on the image. This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 @@ -605,8 +648,9 @@ Event: refblock_alloc_switch_table; errno: 28; imm: off= ; once: off; write -b Failed to flush the L2 table cache: No space left on device Failed to flush the refcount block cache: No space left on device write failed: No space left on device +ERROR space leaked at the end of the image 132608 =20 -23 leaked clusters were found on the image. +282 leaked clusters were found on the image. This means waste of disk space, but no harm to data. =20 =3D=3D=3D L1 growth tests =3D=3D=3D @@ -659,7 +703,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10= 73741824 =20 Event: l1_grow_activate_table; errno: 5; imm: off; once: on write failed: Input/output error -No errors were found on the image. +ERROR space leaked at the end of the image 98304 + +96 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: l1_grow_activate_table; errno: 5; imm: off; once: off @@ -673,7 +720,10 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D10= 73741824 =20 Event: l1_grow_activate_table; errno: 28; imm: off; once: on write failed: No space left on device -No errors were found on the image. +ERROR space leaked at the end of the image 98304 + +96 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D1073741824=20 =20 Event: l1_grow_activate_table; errno: 28; imm: off; once: off diff --git a/tests/qemu-iotests/029.out b/tests/qemu-iotests/029.out index 5bc93e0..7176e38 100644 --- a/tests/qemu-iotests/029.out +++ b/tests/qemu-iotests/029.out @@ -6,7 +6,10 @@ is smaller than the current L1 table. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D67108864 wrote 4096/4096 bytes at offset 0 4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -No errors were found on the image. +ERROR space leaked at the end of the image 65536 + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D16777216 wrote 4194304/4194304 bytes at offset 0 4 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) diff --git a/tests/qemu-iotests/060.out b/tests/qemu-iotests/060.out index 736dc30..290ccec 100644 --- a/tests/qemu-iotests/060.out +++ b/tests/qemu-iotests/060.out @@ -78,20 +78,26 @@ Leaked cluster 9 refcount=3D1 reference=3D0 Repairing cluster 4 refcount=3D1 reference=3D2 Repairing cluster 9 refcount=3D1 reference=3D0 Repairing OFLAG_COPIED data cluster: l2_entry=3D8000000000040000 refcount= =3D2 +ERROR space leaked at the end of the image 65536 The following inconsistencies were found and repaired: =20 1 leaked clusters 2 corruptions =20 Double checking the fixed image now... -No errors were found on the image. + +1 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. incompatible_features 0x0 wrote 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) incompatible_features 0x0 read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -No errors were found on the image. +ERROR space leaked at the end of the image 131072 + +2 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. read 512/512 bytes at offset 0 512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) =20 diff --git a/tests/qemu-iotests/061.out b/tests/qemu-iotests/061.out index 942485d..87aaebf 100644 --- a/tests/qemu-iotests/061.out +++ b/tests/qemu-iotests/061.out @@ -328,7 +328,10 @@ wrote 131072/131072 bytes at offset 0 No errors were found on the image. read 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -No errors were found on the image. +ERROR space leaked at the end of the image 196608 + +3 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. read 131072/131072 bytes at offset 0 128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) =20 diff --git a/tests/qemu-iotests/066.out b/tests/qemu-iotests/066.out index 093431e..81ef795 100644 --- a/tests/qemu-iotests/066.out +++ b/tests/qemu-iotests/066.out @@ -13,7 +13,10 @@ discard 67109376/67109376 bytes at offset 0 64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) read 67109376/67109376 bytes at offset 0 64 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) -No errors were found on the image. +ERROR space leaked at the end of the image 327680 + +5 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. Offset Length Mapped to File =20 =3D=3D=3D Writing to preallocated zero clusters =3D=3D=3D diff --git a/tests/qemu-iotests/098.out b/tests/qemu-iotests/098.out index 7634d0e..733249f 100644 --- a/tests/qemu-iotests/098.out +++ b/tests/qemu-iotests/098.out @@ -20,7 +20,10 @@ Leaked cluster 4 refcount=3D1 reference=3D0 Leaked cluster 5 refcount=3D1 reference=3D0 Repairing cluster 4 refcount=3D1 reference=3D0 Repairing cluster 5 refcount=3D1 reference=3D0 -No errors were found on the image. +ERROR space leaked at the end of the image 131072 + +2 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. =20 =3D=3D=3D reftable_update =3D=3D=3D =20 @@ -34,6 +37,7 @@ ERROR cluster 1 refcount=3D0 reference=3D1 ERROR cluster 3 refcount=3D0 reference=3D1 Rebuilding refcount structure Repairing cluster 1 refcount=3D1 reference=3D0 +Repairing space leaked at the end of the image 65536 No errors were found on the image. =20 =3D=3D=3D refblock_alloc =3D=3D=3D @@ -48,5 +52,6 @@ ERROR cluster 1 refcount=3D0 reference=3D1 ERROR cluster 3 refcount=3D0 reference=3D1 Rebuilding refcount structure Repairing cluster 1 refcount=3D1 reference=3D0 +Repairing space leaked at the end of the image 65536 No errors were found on the image. *** done diff --git a/tests/qemu-iotests/108.out b/tests/qemu-iotests/108.out index 75bab8d..d178b1e 100644 --- a/tests/qemu-iotests/108.out +++ b/tests/qemu-iotests/108.out @@ -68,13 +68,16 @@ Rebuilding refcount structure Repairing cluster 1 refcount=3D1 reference=3D0 Repairing cluster 2 refcount=3D1 reference=3D0 Repairing cluster 16 refcount=3D1 reference=3D0 +ERROR space leaked at the end of the image 720896 The following inconsistencies were found and repaired: =20 0 leaked clusters 2 corruptions =20 Double checking the fixed image now... -No errors were found on the image. + +11 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. =20 --- Signed overflow after the refblock --- =20 diff --git a/tests/qemu-iotests/112.out b/tests/qemu-iotests/112.out index 81b04d1..7386be8 100644 --- a/tests/qemu-iotests/112.out +++ b/tests/qemu-iotests/112.out @@ -93,7 +93,10 @@ refcount bits: 1 =20 =3D=3D=3D Amend from refcount_bits=3D1 to refcount_bits=3D64 =3D=3D=3D =20 -No errors were found on the image. +ERROR space leaked at the end of the image 131072 + +2 leaked clusters were found on the image. +This means waste of disk space, but no harm to data. refcount bits: 64 =20 =3D=3D=3D Amend to compat=3D0.10 =3D=3D=3D --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (208.118.235.17 [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551575018531.2488075194819; Wed, 1 Nov 2017 08:52:55 -0700 (PDT) Received: from localhost ([::1]:56412 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vJy-0006Ie-5X for importer@patchew.org; Wed, 01 Nov 2017 11:52:50 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60717) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCI-0008FP-SM for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCG-0006mj-Rx for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:54 -0400 Received: from mail-eopbgr40111.outbound.protection.outlook.com ([40.107.4.111]:51842 helo=EUR03-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 1e9vCG-0006lD-DN; Wed, 01 Nov 2017 11:44:52 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:49 +0000 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=VzWbtiKY3m8iWEwYlGVyxC4jbRro+meA2ZrDLVqCmZY=; b=aavxDPS5I25Mclg8+ohZJr88j0wz9JfpgIwLXk9YHwjLSEP8l6mjfHNYxSb+Nh+Z71haULsRJerTxR8DKrhua3b6Ho3Rn8O3xSMYpP3FnyBtdtXitTA1N1g4+GYaZsrqrM0D4cv3fw75joPP/sIBvKVA74cPxfvwVRPXiXbaEOI= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:06 +0300 Message-Id: <1509551048-129830-14-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8f3c39e6-8840-4274-ff57-08d5213f7cdc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:qlwvynlFJjh8dA00/6OAUjZYEX7F4sE1h0bEn1ccDXOCGM3AppcfuJUz4GX+MlAXiVIbC0eX+Rth5y1oD5sLAWNktWzR5616ogS4rCFkU2MBoRaDc5z84ODXVK1ZWZ1cUbS2EAMbNpu96bF80/D6ol7ab4gbpLkDtJSNKic4SlviWKIbyag2rUA+ke3LvBRvKegXiTmO+Tg5UlFojzicH0DbU9+iYRDMpAlY33NJ2x3D0uMTRoqLqNjCrxag4koY; 25:kVTMn1UuWzuUPvFb6QxsTQ4zkQ2vMK9RCAy5OSz9k4q9Waln7XW+/LjRFOtNK0B3C35g0h3qxGHF4/90vPq0qqqE1kMZ9c7CbTClf0mB/Bkv5XHiamGdwjmiCXdxOHYkXDF2u0VN7pkLx85aAurtjwPyX7LO07pC5bLWMZFiPXvOFK5txsvb1yHfXH1FoD0RIsJJCqGvFfjiqP2RoxAqFTJmlTY6aK7tp0ziUvKuJl/85s9Icv/Oot5Md2XXvbW1uw6ZlU060GW2F23NFo3VdQiZD5xOusPTdzY/KxQ1SppdOmObw/oQh2xFv4tzCbhE4cvEfEOm1efr13SySr+zRA==; 31:J6pY3TUNnVDbD8//KeLNXP8FpzWbIEIydDnAdJBuaWn0X0KRyJav8+fjDikAaSrwCgKD8DjVuQHBgHyq6HVHOWg48WB+gcRRSEvscPtzZdoqZb2+qa+/3GnO9MBMIUlLj/+MWw6FC/dXE4oHhkg34SvL1+qcoibwgKM4k7nB8PhCYBpLLmAu+FRJyYKReasPmVc4hh/Mp0d6gLdvdJ92Gsnp2+xje6n1tQ0cHITJhEg= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:vywFPKLXbh8dNN0hdo9T+9qzqzEckCHqB7T19aXQbvaYwJ8qHwwfhW+Ydi3WJMN132pANZynX4bRWYdMPpyTEoXYHeEaAPoGtwCD629tQSUhGDGe2tDhQZZqTipgzZcisr5nfCBlYSqw4LMMzBljRmNxPARYAl6f3JxwXH+9OuzpnVY/2cUsT5njSEzT8geD8P5tqYNKN/oUg0KrXVsfej5TsC/nJYVqHC5leKTP3s1y3UrMbGrIa9XPjTozf+22Mtv7PdMtsEAavXFwqGm6za245Yo3IAfVzOIBEDbHVNZSrovZgX7OQPv+AqWIs/mySej3YdqlHDLCV1Dprh+ISp1mpfl3BAEELuFEmMaX2VAEw+IsyS1RHlhmFSj8CZocsVJHlE8eVJJDlSoJBampl9xqPeYS8tCh1Xs75lSAC30=; 4:1fgiZ7qGH5QH8Fa+Ci0UzbJrS3FLYbemKNIMQT+C5bdl4UW7RmJPmYZPeVgvz8xV4guKIxGhl/eWS1aMcwc+VnqvEB/i4ZJr37tXgjQJ4KAJ6hAnRTdXJXlwii8cW9t08jNInKTK67AodhY6grxLrjO2fwOt1R52wCqKvl3dsCb9zggs1YQeihRsy/fZ63KmOlQaFxRe3Gjjl0fdRjjWgw4Mmr3PnWP0EbixBIZEUkZU35zDKsmMrYxwOHyNfRG2Cf6v3vLnBhREHPOXcrMLgA== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:QUoFu8flrdKzriJWk7TneVveS0tkiKXbhVijz/R?= =?us-ascii?Q?YPf385q+pGo3+IoDpwPM5nCDr+taH/9dFlKq58haTMEBoLFdmQmkgFaqJk4e?= =?us-ascii?Q?kFDk8irlTkvVKoHKNvBujaoQsQ5Q21medH9jAEJIoGKMmdnD8FJCzQM1XbCI?= =?us-ascii?Q?JBsqroF4gId9K5/WGSIdiB+wy9s1ua0Pc/eDToJ/CcEjqcidtUh1szbGKkmP?= =?us-ascii?Q?sNkB0WSjnVXUNb/ckf90anThghSUxN4wELva8jS1R+NqsHoDOEDtI8UFFw+n?= =?us-ascii?Q?ZtZ//m0Fv8cDzd7t26d1vEPs4Ud5ohbHhUkuOvPm6tGrV45ASxnag+QHm/T/?= =?us-ascii?Q?QW5ct1UbE+K4gE+aumM1ItKl1M2faUf5WXbhpKiw+JgiEjh69JzDlbo0WT9X?= =?us-ascii?Q?PTIkhL7ytEum7A9mPHpOkSB3Ph/kyaxfd2PIl1apQ7Wf2+Z/PktGte0p33wp?= =?us-ascii?Q?6ij5cF9BJCk2irSLR6IQZezY1QFf67WXgQDI/9DqiYJNcW8ihvAmMu59eBhs?= =?us-ascii?Q?IXFXNECZPAPzcuh0BmzGVgyOxTIMpD0xwyko/7/nbdUlDUyxnnRfU1MhwhmX?= =?us-ascii?Q?TChVwL0SaX6T4TMoCUS+sTRetstSSy/ei3wOYF3ByrRJSknJqvoRDRm8ua/j?= =?us-ascii?Q?n1+Q1IKPqnBBSOYariqS5LHRWtFw+YgcpM4hMfbImhA7UjQt+zXQzQeeruCw?= =?us-ascii?Q?NGWkEgdYdWpMS+3aEOU3oT1c52S6b1j/9O3bFvIVOYVrJrlYiFS4rDKYUIv/?= =?us-ascii?Q?6SPDCsRsvWixzkFfw7iqPQxwxuKj3eCSXz0shosENhAXPLxBfBuNs+s9aSdV?= =?us-ascii?Q?3gA7TkhaYnYAlNs9b9kQNVotu9GDCTtDdo35P3X0uu2iob+XNHByPPoLGL1g?= =?us-ascii?Q?Gu3bn15mPBouyE6wXTLLezhpjZIZGdJpXlhSkXgzApSJuFNmGcl1EDsYSHvL?= =?us-ascii?Q?fmY81ucWsqnham4+/bU42SJRGEf6zI2aAsG2anA4LUydsjjTvgDHhFnoBRG1?= =?us-ascii?Q?ATksjD3WHmzg3wBvjblrq39cEXYnqk1StylEAXqiFjomb7CJpFqV1IlIBKdg?= =?us-ascii?Q?Fd5qHorabo3so5zx0YYn8fDzonncn+eevFFAczi9cLIySz/qABMLs3a7P3Ik?= =?us-ascii?Q?EZLUIbqsghjRPniMwgeJMMFcTesDqV3w+r+Cb4fHdPX/VRLvR6PHP1g=3D?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:gIPJ5u1C/F531QUdQzLpCynkJKrPauVRpibTTUOAj1EuBRCEMuIJXJz33IkNdDPkDDI9xGMq9tZ4kF2psd1Ph60qQgEknM1Pj5a18UCuig9kZae2I6E4SrmpxKcDA1PKkl4YfpehV+YKEh/xcOl0717z0wtOuHazCKDPWWxEn3i3k63nkLesrb4uPoMSEzuNwvVZHBngHiW6md3mCPBqkL3oQvLYmkm2yN3MXClyJALFN9uneCtGDMWaDy05eiiSkOwidUb3CW9JE2IT10tv7zJ/rQ3p5jiVurYvi08f0ZD97Z5/ORR/PKuyDvedI/ygwQK3rZWd2150A8fldQX9BBXcgWemZKZWHYCuoSt6brw=; 5:Ck/6VZrn9ZcAxvLEKEyY1U9Adt8wX7CxPWHxmJ00HVjXCzqqJ5iNv6hW62axxitQTcatqhH57cuIE+J0xX42Ybjbq5ggVeTDnNv9+OGF6I4oDcUcYV5m36NTjYLYjZ83FIkFYEqfb2wL+NdoRpV7sop4gXxOuV8mddHRj9r5Rf0=; 24:miraxWiCI7hEFDhztrDvBa3IsSfPSip1y8ACpn6JkXhnc70nAJwhDuvXmnSh0zKGv/i0HkV8FXpWYJrzPnlttSGSTBV9mNea5lXG5zFOz8Q=; 7:necOvErXUd53bqBwGyUEwEHm5n2pjoto/pb/oE3KVCcvOAk9a1EFheA/Gl3rQevGNo4aBwzjhzG3Yp4vb/4NTbxRAsQKjS0Vs0AIq2lPeEZz1WXgn4qwSm0y84c2kQ5r2rvNO0DzPFdnbIb0vj/e0WxpsAI3szX3Qx8NoH3y9jrKcA3vAR3AYStB//jU4pHasjnFZ98M6Ty+kZVqmfWXMiqTyp9P7fy8fxQVMvueCEzTfAfydUUj85+D/A3dG8EH SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:qL4RPGWqxFrEovIeYk6+vJELlwHsOATD4sbKHo5l5po49Y4yUd9EY3ZUM1/2WzRYnEjr9ETOl+HMibmxi1DaEH+VK20ZG+UPQITMcW0kjVpVcZuu8xaeesGc5aNHMrePSGNyUX+0xolMiM3cM/Wka3oZNNEcXx/+wq+kGZVPnUU= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:49.6026 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 8f3c39e6-8840-4274-ff57-08d5213f7cdc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.111 Subject: [Qemu-devel] [PATCH v5 13/15] qcow2: do not zero out clusters if already preallocated 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" if space preallocation feature is used, it can be detected that the space is already zeroes, so COW can be skipped without additional zeroing of the clusters. Signed-off-by: Anton Nefedov --- block/qcow2.h | 6 ++++++ block/qcow2-cluster.c | 2 ++ block/qcow2.c | 45 +++++++++++++++++++++++++++++++-------------- 3 files changed, 39 insertions(+), 14 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index 579838d..5d96748 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -363,6 +363,12 @@ typedef struct QCowL2Meta bool keep_old_clusters; =20 /** + * True if the area is allocated at the end of data area + * (i.e. >=3D BDRVQcow2State::data_end) + */ + bool clusters_are_trailing; + + /** * Requests that overlap with this allocation and wait to be restarted * when the allocating request has completed. */ diff --git a/block/qcow2-cluster.c b/block/qcow2-cluster.c index 9b24cab..5698919 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -1251,6 +1251,7 @@ static int handle_alloc(BlockDriverState *bs, uint64_= t guest_offset, uint64_t *host_offset, uint64_t *bytes, QCowL2Meta **m) { BDRVQcow2State *s =3D bs->opaque; + const uint64_t old_data_end =3D s->data_end; int l2_index; uint64_t *l2_table; uint64_t entry; @@ -1372,6 +1373,7 @@ static int handle_alloc(BlockDriverState *bs, uint64_= t guest_offset, .alloc_offset =3D alloc_cluster_offset, .offset =3D start_of_cluster(s, guest_offset), .nb_clusters =3D nb_clusters, + .clusters_are_trailing =3D alloc_cluster_offset >=3D old_data_end, =20 .keep_old_clusters =3D keep_old_clusters, =20 diff --git a/block/qcow2.c b/block/qcow2.c index ef65b5f..6019cf4 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1975,26 +1975,40 @@ static bool is_zero_cow(BlockDriverState *bs, QCowL= 2Meta *m) /* * If the specified area is beyond EOF, allocates it + prealloc_size * bytes ahead. + * + * Returns + * true if the space is allocated and contains zeroes */ -static void coroutine_fn handle_prealloc(BlockDriverState *bs, +static bool coroutine_fn handle_prealloc(BlockDriverState *bs, const QCowL2Meta *m) { BDRVQcow2State *s =3D bs->opaque; uint64_t start =3D m->alloc_offset; uint64_t end =3D start + m->nb_clusters * s->cluster_size; + int ret; int64_t flen =3D bdrv_getlength(bs->file->bs); =20 if (flen < 0) { - return; + return false; } =20 if (end > flen) { /* try to alloc host space in one chunk for better locality */ - bdrv_co_pwrite_zeroes(bs->file, flen, - QEMU_ALIGN_UP(end + s->prealloc_size - flen, - s->cluster_size), - BDRV_REQ_ALLOCATE); + ret =3D bdrv_co_pwrite_zeroes(bs->file, flen, + QEMU_ALIGN_UP(end + s->prealloc_size -= flen, + s->cluster_size), + BDRV_REQ_ALLOCATE); + if (ret < 0) { + return false; + } } + + /* We're safe to assume that the area is zeroes if the area + * was allocated at the end of data (s->data_end). + * In this case, the only way for file length to be bigger is that + * the area was preallocated by this or another request. + */ + return m->clusters_are_trailing; } =20 static void handle_alloc_space(BlockDriverState *bs, QCowL2Meta *l2meta) @@ -2004,9 +2018,10 @@ static void handle_alloc_space(BlockDriverState *bs,= QCowL2Meta *l2meta) =20 for (m =3D l2meta; m !=3D NULL; m =3D m->next) { int ret; + bool preallocated_zeroes =3D false; =20 if (s->prealloc_size) { - handle_prealloc(bs, m); + preallocated_zeroes =3D handle_prealloc(bs, m); } =20 if (!m->cow_start.nb_bytes && !m->cow_end.nb_bytes) { @@ -2017,13 +2032,15 @@ static void handle_alloc_space(BlockDriverState *bs= , QCowL2Meta *l2meta) continue; } =20 - /* instead of writing zero COW buffers, - efficiently zero out the whole clusters */ - ret =3D bdrv_co_pwrite_zeroes(bs->file, m->alloc_offset, - m->nb_clusters * s->cluster_size, - BDRV_REQ_ALLOCATE); - if (ret < 0) { - continue; + if (!preallocated_zeroes) { + /* instead of writing zero COW buffers, + efficiently zero out the whole clusters */ + ret =3D bdrv_co_pwrite_zeroes(bs->file, m->alloc_offset, + m->nb_clusters * s->cluster_size, + BDRV_REQ_ALLOCATE); + if (ret < 0) { + continue; + } } =20 trace_qcow2_skip_cow(qemu_coroutine_self(), m->offset, m->nb_clust= ers); --=20 2.7.4 From nobody Thu May 9 17:41:10 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=temperror (zoho.com: Error in retrieving data from DNS) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509551725869143.83100670750298; Wed, 1 Nov 2017 08:55:25 -0700 (PDT) Received: from localhost ([::1]:56425 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vMF-0008RB-PZ for importer@patchew.org; Wed, 01 Nov 2017 11:55:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60745) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCJ-0008GQ-LM for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCH-0006nG-By for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:44:55 -0400 Received: from mail-eopbgr40111.outbound.protection.outlook.com ([40.107.4.111]:51842 helo=EUR03-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 1e9vCH-0006lD-0m; Wed, 01 Nov 2017 11:44:53 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:50 +0000 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=7a0kBTWtThxTESewl6rLJrZMe88vE81ncrT42xqaAsk=; b=LK6EGKAHTg8+lOUgzoo1Q6lv0vHB6fVpW2/a0aBG+YcBC97iknVRBDHUDHCLdO7o8zHRoabDoGa5CzL3AN2nZZGzbt5CE7J8Bvn33vMeF47iVYIg8zWGCBxxIF1gsoEUHFLap5oQKxXsIi+CvTJ/6O8bI8+webGzsZBD4yj4HvA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:07 +0300 Message-Id: <1509551048-129830-15-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a40fe453-69b2-4875-6daf-08d5213f7d8d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:iaZNUEs0EpW8Pg1i3px6155ehNUippG6CmkNO6iUElw3/ZJPJjDaSCaamACLwBivNBdAMPm+e1JjjTNMYL5x99dtbND29crDKKx5ayMU8CnCqr66IPY/vLysAzbY09R6pEiCyluhDi12pJz2Smmb0rtiq7rc48SKPvBIDd6AjznOZV23lR7kkFwQG9gAzcU0ClqTTK+pad+wsl+LXRb5bYgJRmbjts6nvJ56IjX5BMAWdApZ1dmCCF0q7bujVqiy; 25:canTv06Q9SrFQiw+NR0dLwAcjEZy1lNASWZP3IW9LKz7o3W7XEk65rCEut9Hc3SL6Z7ALSEsbiH1YUeK5Y9UVi7jJS++6wKjnkBMxg+0XbfzwG8NOp8RRdUirknLlq7E43JSIgNeYqc76y1wIY50UalDkJaDwKaZZJ6eWFY+KnlMhIGGM74RnbRGESUj7P7rAGeZ1Mvimn2ifpUDZhd4YI8+x12jPBLKIbG3fUdHQUhWrPJ2TRxjTymfYsvvIVPXK0Jt5+i7hAVPNrQl9S6B2rxDQdA+Z6irryBXJsW+rx3+diDqZyxl3vewCXD/2Y3MvoZGzuT+c7USLOfAFT4sJw==; 31:+9WDbaMwR2ugSSWk3aEZQLnRt9kFXlCs95Xwiqsqc8WxrbnxwE3gSDYaMxFVGc5HP07N7tWbztm6Ybf7bocNaQiF3nadpKua3uLEiSsxLy/XAgFEmw6iVqmnd+9KNFARGWyZpmUVWpGGpkS5MPBqsXIsetqkwwbcYePd5//BvwXmpIsu7zrDGY/lsrxWZ5kUUIgxNaX9BsUqQHL1x36YKNQBrRfjq6qUUP6F5HThvIk= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:bHhnFNvc3VWMnvofPNHtw4AWNMOW6B7rAJtjpj7FHfTvvUnMHjEyTGdR1RDdjHCIF+VjK0ozusrqguCSz/7ZIp7FFNP6pzbsdqjD9eLJjT3abWiOzx1i3TtZ8r0M2Yf8MIVVRgYriCedkNosjQbl/XgS+zYk0QrnxUHTAJkF2yxVnv3OmsIXb0TQgtfl3OYvE1xC9FsNx4UBhQb1FWSDLTANWm9Z/7TC7Vsp4qMZoB2vA+Ozmwf8uPZW57++3tYf+v4zNarX1RUefipyzPp41jRloJQDIGBsMDW11cMwK9jDYfpWdqDxe5k23pfQDm6+8wM5X0xIwuqC73vRf194PpJU36/k/pLRR1jefC2QBm/J/a1XK3hrSWfi6PsgvtoXziWnTSBRbSYmThvVx/Wj3kET23UtNYSmperr4rbenIc=; 4:GSo7oN6KSM9SeB/jS6HM2Ge/ccQ9hsXiKbGJntxeKNiL9O9o1EsaV2u89b/LRHFHy0DQ7TtKppmqXE23lEe+B+WCJ/pispnCW3WOnuMHzIIJjtiq0s/DZxu5X81E8OOvvYCEMsqpCT/VS1zVbEWyfnyPno8G5cN+AWjlHzKtoFQykLVqWQv2znqroMfZsCZPSOE/pVdbEQX8/bWzmZVP0L9Nlk/bIJKAiNEhQ7eYviRVIO4RGQu/OeqL1UVyYVWVreiPAc98AL1BJSI74j4ru6puAUIn2TDXP5Sc9GR3PZZJNiKqHjbvqrkSmbdwx4Xo5lxyfOl15vsMxK0LUVbs9wKwKA7pZoV82V97RbE1Z78= X-Exchange-Antispam-Report-Test: UriScan:(250305191791016)(22074186197030); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6306002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002)(21314002)(2004002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: temperror (zoho.com: Error in retrieving data from DNS) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:qQaE3v2a5QhaCKkGO5H3LFw9+NlkrsX9l6P0s+C?= =?us-ascii?Q?mwC3zh4LOIP7HP0/F8K2nGnxT3u6YWoWaGqS7bwDQTET1vnUR3LrplQPnQCX?= =?us-ascii?Q?S2gMGxYkZ2zPkjv0jyc4I7uXGWgxLOtF+L1ZS3bPrlQ9HaCXYU+7BokL8IHR?= =?us-ascii?Q?OyqLgdaDhz1hEHNlrRE2XGtxkSZlCpyIZYgCC95lugPaJTsuAM8pVm30AxiE?= =?us-ascii?Q?Sc/W7/lY3AD/txTmcUdYz9IZ9rwPAVwcTcehmMt7280FVt6jQILGI3V4p/WV?= =?us-ascii?Q?3jrG15HwGz/qKMLem0FGo2QBjUT0ZmmduhAQ0orWMvTllhqorKTVm/lrHnHY?= =?us-ascii?Q?/+M7GI7yixp2iOIPlZosKcmG1Q9oByF1MFMRctHJljVYIFCnzRRkRxf+0+zA?= =?us-ascii?Q?hPxYAdU3iC7kSkk6EMSf1MaDq2KJjN/+2F5WPztWCltNzCawMn9V1lyKzMIq?= =?us-ascii?Q?Qczc4O0a5kiCfB3Ock7AO2HOr5VJJRyaYO8hIleX7asiVLIdD+oCDaB01w6e?= =?us-ascii?Q?FyXp4uP/4f8UNjO0q4ocmrbYW/VR+YnvQb/hHc//8Rw1PFdAfhlJo1y4FDi2?= =?us-ascii?Q?lU7W0B/TwKNv4Y6OYX62l8k4WZL0qoQY/SDR11pg1q94OCq0GuySE0x/E8AM?= =?us-ascii?Q?iTZGa+pZxDLtnDCVPjpwq8Qv5KLCHtWkAKV5O5lV5AEAGAl1FdJX00LmuvdE?= =?us-ascii?Q?8HLX6CWB6ovMRZkmvTlFcE9TQQUKegYkN3gFqEwZjVCfVx342k7mFSsth4Vi?= =?us-ascii?Q?Qic/Y1Befeg/byojGgiymcYUkzvqVBbN2HgoQKs8j24nU6oFAIN85Am0T2hB?= =?us-ascii?Q?44+Ks0Z2/KkXFeWQeFpeLlhL51Aw/4ulAQGYImVcF5xRgEH/6rQ33AN/l3Rm?= =?us-ascii?Q?3ubzdFQ6BN95X3cK8yL1pSSuVGHAewWVzJppc/398JJc3uRmdPCaWVRgtIjL?= =?us-ascii?Q?T0VrBL78u9ilGqUEPIqKOKIm+BWNwpt+WK2/jzfSwHhcU3acxGPWQZyJs3Z9?= =?us-ascii?Q?5N6i1FuNU88Gg5Yko6F9Y5zsQfaX9YKbrdoJpB8tcJQnJXyF8OzXH0oE2oHO?= =?us-ascii?Q?gd8jFGRpv6WYiMl5FlLl4GLKlo00VpnN+85ttDtcWYki/HKDezP4fmpgnCad?= =?us-ascii?Q?8I3mBg2Iq8/6qsrx67cajfUK3A9fNrTfXKSp0FPC2iQTXNuWwFrg1Oi2NGRO?= =?us-ascii?Q?xeAnZf0wZgEMkOSyZ9begEc2vRf67iICGDdw6FR+91M8lhtBIUXg2Hh1KQw?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:EH6WUDB2+T2ho/a2ySri9wyv/SfVO11itOjWSyQnYx7vvvGFrAUn8eGZGFNV7+A5y9KVdahUgOaYsllAZyPoz33Mp7lr/6J+9XfpbajK/B+MEQ2NfTqIm+WILw8YC7zAstTdImj6WPDcqODVL4kG9dHTM5fFq7OSUJthceKxtTWSDLmbY3HKSr3e4f0KPT6YAlKljX8vIQ0rCBm6WSEUmMBYF7sHBMOQF/kaYdwZR3sw0CtDJ3DTogQs4pV1rkxAv832utT0wiQ8z92JhpAjgacJwUmqs5ZTY5zqdx88ZHfvopAPzhGAza+KB/6casho4La82w3vc277P3hOokY7yvS1JzGd2rdEE6wQoedpEF4=; 5:UPYizz427TxxAXXV6DqUd3To/cOWpuKe68NFtmP24HPCBjeMnxta4ugh19eKychesU4P4iCkXh991Ul+NX43pbCXK2Eo2XHQjlorV/myiqwnhbHH0zzdPTSeTVkjhu9RQ3HgC4XnPzVb1ykw+Yo5DzbGFi+685rdWkC6MxmnWrg=; 24:wKdFVYhO2QBUuj8iKaxcZeN/lKuYnU2GbLwUJdtH2ejqWZwFyzQABggJSwTturNUiuTRo1YXh9VHjlWaTW5yDqwKYPex1EaglYVFB4uI8wM=; 7:MohqfEA36vEfg0DV/djnHmxkR+UcQH/L/nR+5ScKq7TH9kzanCVaDjVMIXG37XGEfwoQesC0Itx/Tfk6jlERH3S/nS9eKn1lHqkvIXQFWyfuyWzy07qNCeXlWkzrj3CSLWxFoGkjur9Spsbxfuwj8f76D3w7PAg1JzWUkNncKGR0+4TvV5nFgMAH3KGjcGas+eA0A31nVYOYuxXk7RXL+h2y/bRmA7gvrqfRGmQKLPe9Qn9RkJxqRqE51mQVy7lw SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:Yc1+yvdqZMtZEGMXecFHtWqOQUa08EScMy6jVI5VI3j39Jdo1wBS+PjuvtDdYoTwCjE2GYyxu+kXw5uH3Hoy7Krmgj9N+CdErQyxgZlhasvntfUOrTVKxxEWEyHK0KYe8eaBINAKnflos/o+iWHW+p5jF3J513gB8EYePA4uWww= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:50.7588 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: a40fe453-69b2-4875-6daf-08d5213f7d8d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.4.111 Subject: [Qemu-devel] [PATCH v5 14/15] iotest 198: test BDRV_REQ_ALLOCATE 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_6 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Signed-off-by: Anton Nefedov --- tests/qemu-iotests/198 | 146 +++++++++++++++++++++++++++++++++++++++++= ++++ tests/qemu-iotests/198.out | 50 ++++++++++++++++ tests/qemu-iotests/group | 1 + 3 files changed, 197 insertions(+) create mode 100755 tests/qemu-iotests/198 create mode 100644 tests/qemu-iotests/198.out diff --git a/tests/qemu-iotests/198 b/tests/qemu-iotests/198 new file mode 100755 index 0000000..ad7162a --- /dev/null +++ b/tests/qemu-iotests/198 @@ -0,0 +1,146 @@ +#!/bin/env bash +# +# Test qcow2 BDRV_REQ_ALLOCATE requests +# +# Copyright (c) 2017 Parallels International GmbH +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . +## + +seq=3D`basename $0` +echo "QA output created by $seq" + +status=3D1 # failure is the default! + +_cleanup() +{ + _cleanup_test_img +} +trap "_cleanup; exit \$status" 0 1 2 3 15 + +# get standard environment, filters and checks +. ./common.rc +. ./common.filter + +_supported_fmt qcow2 +_supported_proto file +_supported_os Linux + +function do_io() +{ + $QEMU_IO "$@" | _filter_qemu_io |\ + sed -e 's/bytes at offset [0-9]*/bytes at offset XXX/g' +} + +CLUSTER_SIZE=3D64k +size=3D128M + +_make_test_img 1G + +echo +echo "=3D=3D Test discarded cluster reuse =3D=3D" + +# allocate first two clusters +do_io -c "writev -P 1 0x8000 0x10000" "$TEST_IMG" +len=3D$(stat -c "%s" $TEST_IMG) + +# discard the 1st cluster on qcow2 level only +do_io -c "open -o pass-discard-request=3Doff $TEST_IMG" -c "discard 0 0x10= 000" + +# new write will reuse the dirty host cluster and has to overwrite that +# with zeroes +do_io -c "writev -P 2 0x24000 0x8000" "$TEST_IMG" +if [ $len -ne $(stat -c "%s" $TEST_IMG) ] ; then + >&2 echo "Failed to reuse cluster" + exit 1 +fi + +echo +echo "=3D=3D Test preallocation =3D=3D" + +function io_commands() +{ + echo "open -o prealloc-size=3D$((1024*1024)) blkdebug::$TEST_IMG" + + # Verify that intersections of a running preallocation and new requests + # is handled properly. + # + # 1. send a write #1 which triggers preallocation, suspend it in action + # 2. send a write #2 which intersects with the area being preallocated + # 3. using break/wait_break/resume, wait until write #2 is at least + # at WRITE_AIO tracepoint. + # Then it is supposed to enter pwrite(bs->child) and start waiting + # for #1 to finish + # 4. resume #1 + +cat < Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1509552203003313.904991986205; Wed, 1 Nov 2017 09:03:23 -0700 (PDT) Received: from localhost ([::1]:56523 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vU9-0007pE-Rf for importer@patchew.org; Wed, 01 Nov 2017 12:03:21 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:60846) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1e9vCO-0008Li-0J for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:45:03 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1e9vCJ-0006p4-Df for qemu-devel@nongnu.org; Wed, 01 Nov 2017 11:45:00 -0400 Received: from mail-eopbgr50122.outbound.protection.outlook.com ([40.107.5.122]:48576 helo=EUR03-VE1-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 1e9vCJ-0006nj-0K; Wed, 01 Nov 2017 11:44:55 -0400 Received: from xantnef-ws.sw.ru (195.214.232.6) by AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.178.6; Wed, 1 Nov 2017 15:44:51 +0000 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=YJYYgwJeXUALYUDKK6pUf+1JDnmajCvLmb7FSm9Uii8=; b=CTaNgXu7j9isD1Lg0wT1iXl6j9AHYOVHRnJRC/qrSCpME/hX5Q3YVsGmCrQ04peetzO9kH80rEEsx0NC6LtyFpAdDjRfC8YvO1HWli418kZJ7k3TsIVfvZu6B4bdvl9WgUtgygwo9+obgywAuNz+jLBrQuCl6L9iBxjMTJIDATc= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Wed, 1 Nov 2017 18:44:08 +0300 Message-Id: <1509551048-129830-16-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1509551048-129830-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: VI1PR0501CA0017.eurprd05.prod.outlook.com (2603:10a6:800:92::27) To AM5PR0801MB1987.eurprd08.prod.outlook.com (2603:10a6:203:4b::14) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2da5e2eb-d8df-4f1f-79ac-08d5213f7e3b X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(22001)(4534020)(4602075)(2017052603199); SRVR:AM5PR0801MB1987; X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 3:VRVEHzzQNfX5HTvlSFtj8hcaduME/scBT9qqPCcvAcuJ3xTrn1BIYnkayHp+3b2TJxZbz7lBOHBYJy7tjSrAALI+MlG3QiTeR8iI2mrkOHB97RkYvV9nvOMmStEkJ7nuqt8iT4YiOY1pi8o9bhpzYuxQ+1PKkVVi8mvNQNo9h/dbpTDT+DNNF3kXAsm1Rf/P+7e/g4HE2xmzG/0K1RXiIIX21Q852u/86Vo+Cc1KH6FRVKhywiLAQW8U901Hx5Mf; 25:zgc75FJNda029yzJHj0ri4JbdZj9LGPOigsWF8FeKqCd0qFuj6rvsTzS4e66kV/4QBFcwFyEjfJvCcha4lJLA779NuqxJz7qcnh34sTEDxtHoJafyQ1tFykWLgaWdTbdjmAtgkjlLl+opOETA3HoGDypkLM1Zi6LbgXDJkJGRfFmsQ3OoUo8v6kC0Jr1OywkEG4r5A1m01/e1TxEkbUb4TQmR3ZmR4kCIwYdYoMW2Ism/xHerSyQmWj7CCjF0J07DLiqHeExCr2RVgnTBrFX7/Ew6SX/N8dHELJokF1pMGsFvNrPKFu9R2ITOvKXMfc5BHQxabv6hNSCIe4XXCIMzQ==; 31:0ShPJ4wfjfYvKDKYbpQhh3R2oLhaVujM7WBxWLgiBxVHxiZeW8nNVK97A+YeHSkYAyIMSSzHy2yaxDoMTiVfixUA1ZzGUeiUIHXni8eHVeNgjyuQl+oV+lwzcVWSSVCZsg3U+45MZDUPV3LpU+I4Pp4s+liSTc7ojz78x1NwutYXEFH8+auMzpTOA1Rx91ntpX2CuhHs9b+dFCehTP/qjRpbK7c9D7PlITMhYsL/Q0g= X-MS-TrafficTypeDiagnostic: AM5PR0801MB1987: X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:1miDHMpjg9WG7s2c3T/eHJDtRsICv54omL56GaOGymORshEb6FdL232IlFkMh/fSW/w15996/GkNIvZ4f4SFJIdORl9LfdFeDdmgmUnBfBFPGj+IIkmm+nrM/o1Gq/3gnUk8W4NfGtqXIW/n5pyjBqaKS7y74k+A5QTgRwrvIbj0qHSfqIftKSLx/7LK38xJ4qGw2Lhi/k1/rD4omaa5qs+axg9RYGw1KB41La7hQrShppPqNOUDwpyQ/Cvt/j27bE2vAPcf9I4GdTmlcM/pW/rWYYYrXmjXAq76JX6zDdKyws5V9ZCYP8iAVckzyxSnOGSQ7qHx1mEvu95zE5nL+y79KAoedzJMzydxJeSMJuVNSngtfIcoszRR1IH6I8ypbDeHSBb7x6J6TdTQkCyIoWNG1j27xlxS7mivZ90N0nU=; 4:eXqFLwb0twkAvEJpQvuoZc0xnivx+p1F9eYb2uj7B2xku1rCOwu86fMsP7frSnh7irXOmbhxJXvwRe+UsO7wJIgwgbIBbmZ/h/qFNIxQQ8yuaYfDYPPAVBy4iyPiRj2n5DpkMdiuiJEqsBDlMOdihhZVTRPMJq6mmEdg80fxAPhMSd3NvYxFoaldCaievXFqSih1dTTfmqELJUdCNQUWw6HFyoJp6rp9UI87WfEdgp9uCHcYC5o+VO5VGBnyMaqC7Uw/+92ZUaGxVwKZqdxv+A== 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)(5005006)(8121501046)(10201501046)(93006095)(93001095)(3231020)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:AM5PR0801MB1987; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:AM5PR0801MB1987; X-Forefront-PRVS: 0478C23FE0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(6009001)(376002)(346002)(189002)(199003)(6666003)(16526018)(53936002)(107886003)(48376002)(86362001)(6916009)(2950100002)(3846002)(6116002)(101416001)(50986999)(76176999)(106356001)(69596002)(5660300001)(25786009)(105586002)(316002)(53416004)(2351001)(16586007)(2361001)(33646002)(4326008)(5003940100001)(478600001)(66066001)(36756003)(50226002)(6512007)(47776003)(2906002)(8936002)(6506006)(97736004)(6486002)(68736007)(305945005)(50466002)(81166006)(81156014)(8676002)(189998001)(7736002)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:AM5PR0801MB1987; H:xantnef-ws.sw.ru; FPR:; SPF:None; PTR:InfoNoRecords; MX:1; A:1; LANG:en; Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: None (protection.outlook.com: virtuozzo.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; AM5PR0801MB1987; 23:9vZMkot+JE2Wjx/bbfS2Y6PqqXlIB8OVpebKygV?= =?us-ascii?Q?P19SGKopPYyVxYzZNoAuSjMrRQpssYvfqtdpq4TOPFIQ5Tyh9dYyed+JpF0L?= =?us-ascii?Q?ImHvMNTxMz9oHStxHoK+alnHiorM6aKcgWDyEC+pQUpZM/kVKfM3tDrmVOFM?= =?us-ascii?Q?w9j8mnHkL2kSJDBXcA4bjs0OQTWMT5ohc6at+k17qv26tb/fdLp5/WVjBafZ?= =?us-ascii?Q?tD+2fR+Ha9mUiP96sdF4dmr76CfBTd4D+75CPWESdspoJQ5OeIPjwaT4rQ//?= =?us-ascii?Q?RwJVVA1TN2kB3TR+XwCgic2/EgmR9jkV03Zbx1L2SxjYcqVcactCqZxijQHb?= =?us-ascii?Q?P9t2rC5g/StrqjTrejDqIR+n039O7GwJ1XbT4YUWO03Od3QGmat/Gt1lvVah?= =?us-ascii?Q?tKzdC612x24EBUoD6RcC7a4YBBunBtRK/1IgcSOuOCnftnstSuqRncsHV2K3?= =?us-ascii?Q?WeN7Go9dw0E+2mjhqBuDf0WMYrao6ttNATViGH0dNevJiutTWkxZegSRKa9W?= =?us-ascii?Q?fwq8SwrIIiz7KP+PsKF4QnDaBXWR7cb6kS3oKJGp9tUPhQhCo3/qxZG7FcaA?= =?us-ascii?Q?yETN4qKEwCx6ZOIrnV490OHbiNnLQ26l/V0prLGxYuN0A5S9v7BpNLNgi6kO?= =?us-ascii?Q?tFOgjA2CqnRrwlfhQTBfU85dnf+aXEZ8FsyLRIQSiCrp5mw9/wzCSgsmqnz0?= =?us-ascii?Q?pB6uZLf5Ve39Xa7TaWcew5RdJEgZEjXcBhEe3se4HTUM6k5i3vZKZQ0yuSWj?= =?us-ascii?Q?K3J+UxptzRDBN9VG4n9S69vBNLtaQO6C/PuvFMLuMVfV28eoAG7S8fWgiTeL?= =?us-ascii?Q?TAMbEKUchFbJ8JGWP6giF/iBoTy3WdCkD1d4kcbjDFmDMjg1br+RKCtIdl28?= =?us-ascii?Q?2gVyfNoquJ/l8jdSyIsaX7t9fC98VenvhnH/2Scx0U7dxbohjFvpSYlk1Uaa?= =?us-ascii?Q?fW6rjQV01XoEACUa2c0S1Z1AJxDVPZoIFw0E2qOKuuEQFiqF3s6ySx3C9FTm?= =?us-ascii?Q?RToOonZkrGN2DblURkOZmQ3Mtc2z9ZlYwuVnafkx0i5hdofE6z37K/HhQgGL?= =?us-ascii?Q?5xUh99h+cZUAcPqf9zxlZEUxe3wNwu8RDOrYIJAe+dU+ZaxKn/Z4snYX+6Iq?= =?us-ascii?Q?KelZ9zSd0qIEDs7xHLVlniL0maIPQXscDJaJxXgJbGDw52veOGuFxH5/4c0i?= =?us-ascii?Q?nSOb8bWoeflngH8M=3D?= X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 6:J3jo94rYHCwZgKJXSXOU0a+/OC0/cmYAgJ//JGP9O/jlLKS13FAviyecxMvptb9juBeRZRxubFSzmQWbrjqOtmgcrENEsk4zv3Wcox9FqA+gv+H5LF0OIIf8j8qicnmyoSOp6IpbQlDiw2l035hv6Oee50Xp+AWiG+uKHG0yy+Bqc14e2j8eXrTvyHyrmCy4t6T+59o3hvKqVFt0t2cq+ikPx9YUuEhWh8ho+KX9xMm47oYPCt9v1zRxGsHXy+inxY7xNN7ZzwMd4uf7xqD1V1y2m5Q72klg+i0X9HjDmFF4l5Lj6Lje9pnoBavaItrK1SUv89VTb+SA8kFGvlWQT05HazkaAmBoN5aED70+780=; 5:jkkH4sWu/PytdvUJJG9t4DpE9zFu83lii61oCor2gK59j6WoEjQuYe6reR77sNi0JDKHOuR6NkdyoW9xM1hMplcOYolFuyVQRy6WMBmN9R7VQvmAXTEEcOZazYFNejYd2ZvqM7eg+ZLumM6UydP1iOCwMqOZ55P1SiJdwe3EOkM=; 24:EbZZ+NuiAHWigMmhe2pKkFyP6YiqVp/3FKengcq4eJwumrjgVxodtboYxB7FL3VmFTZFBBVtniMtp1tGwBx7G8YdyQWbwGLOExZ0J8mZPl8=; 7:ZoeNDvTPaWf4bj9Ti7C33+yf8HNPCr+tBiYxRJnhgvnPio40P87xzN3xuENRGteiXROCd//oFsbFPhs3slA+lWuxwG5TilzkgE3ez2cYCWj6q4tmypHY8hDpL13RV51unCzro07fNEBWkBE8nVgTYfgEAV/ioak6OAu335TiNRu4zPWp/5tb1SXAH9siRQPPT9J0wmWFsgMdMqY96Pu64L71YUjfzlH6Ky9EyfBaedn9zGCkc4UDaWVN+bkut5Uo SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; AM5PR0801MB1987; 20:bYMH8e7Nha0O7q1I52XVsJ++9NVaZiaRxpzZJ5dsRYuBdjY7msgXDz5gcfE51PY1NDsgroxAseugAj3COUtpLVy0iQOcApDGuYKjuGmRqFSU0q7X5/smiQ6rTgKDhPK3tRbNt9HUTQiIjrOlHaAt/vGcncIxoKDqy63D+TELZhI= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Nov 2017 15:44:51.8995 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 2da5e2eb-d8df-4f1f-79ac-08d5213f7e3b X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM5PR0801MB1987 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 40.107.5.122 Subject: [Qemu-devel] [PATCH v5 15/15] iotest 134: test cluster-misaligned encrypted write 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, Anton Nefedov , berto@igalia.com, den@virtuozzo.com, qemu-block@nongnu.org, mreitz@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZohoMail: RDKM_2 RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" COW (even empty/zero) areas require encryption too Signed-off-by: Anton Nefedov --- tests/qemu-iotests/134 | 9 +++++++++ tests/qemu-iotests/134.out | 10 ++++++++++ 2 files changed, 19 insertions(+) diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotests/134 index 9914415..6083ae4 100755 --- a/tests/qemu-iotests/134 +++ b/tests/qemu-iotests/134 @@ -59,6 +59,15 @@ echo "=3D=3D reading whole image =3D=3D" $QEMU_IO --object $SECRET -c "read 0 $size" --image-opts $IMGSPEC | _filte= r_qemu_io | _filter_testdir =20 echo +echo "=3D=3D rewriting cluster part =3D=3D" +$QEMU_IO --object $SECRET -c "write -P 0xb 512 512" --image-opts $IMGSPEC = | _filter_qemu_io | _filter_testdir + +echo +echo "=3D=3D verify pattern =3D=3D" +$QEMU_IO --object $SECRET -c "read -P 0 0 512" --image-opts $IMGSPEC | _f= ilter_qemu_io | _filter_testdir +$QEMU_IO --object $SECRET -c "read -P 0xb 512 512" --image-opts $IMGSPEC = | _filter_qemu_io | _filter_testdir + +echo echo "=3D=3D rewriting whole image =3D=3D" $QEMU_IO --object $SECRET -c "write -P 0xa 0 $size" --image-opts $IMGSPEC = | _filter_qemu_io | _filter_testdir =20 diff --git a/tests/qemu-iotests/134.out b/tests/qemu-iotests/134.out index 972be49..09d46f6 100644 --- a/tests/qemu-iotests/134.out +++ b/tests/qemu-iotests/134.out @@ -5,6 +5,16 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=3DIMGFMT size=3D134217= 728 encryption=3Don encrypt. read 134217728/134217728 bytes at offset 0 128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) =20 +=3D=3D rewriting cluster part =3D=3D +wrote 512/512 bytes at offset 512 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + +=3D=3D verify pattern =3D=3D +read 512/512 bytes at offset 0 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) +read 512/512 bytes at offset 512 +512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) + =3D=3D rewriting whole image =3D=3D wrote 134217728/134217728 bytes at offset 0 128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec) --=20 2.7.4