From nobody Sat Oct 25 23:38:20 2025 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 1516108099932169.4997398675887; Tue, 16 Jan 2018 05:08:19 -0800 (PST) Received: from localhost ([::1]:35114 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQyN-0004eF-5M for importer@patchew.org; Tue, 16 Jan 2018 08:08:15 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55611) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvK-0002ck-LQ for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvE-0006S7-TX for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:06 -0500 Received: from mail-ve1eur01on0113.outbound.protection.outlook.com ([104.47.1.113]:61824 helo=EUR01-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 1ebQvE-0006R7-Mt; Tue, 16 Jan 2018 08:05:00 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:04:58 +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=dsW5Dvue9V06GEDP5Q82bTARDp3HcaDLxKkCrmvPaA0=; b=TOqn5IpKr4MulDbfwKVFsKH3im+phDEmQQkPz/kF5AMRr6GPK7xFpMmpLQe/9ocavVVJu5YVQhSwRAXIlDkj3mmE5qI+mQ0Pe/4cJBy3jE5UW9aiv2AZ4Zta7kXwFqLrzVxV01CufigoEsJBMDRD7khi3E7VcPLVo+Z36af+i+w= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:22 +0300 Message-Id: <1516107870-8110-2-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 49001e23-ffd4-4236-9f93-08d55ce1bf72 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:U2YJX7sJH/ilgS5XA4U9OI/2Jzm0t802OyV/N7CPsmjyjckbtuVL+u3ukG2yvo2pt9hmeXGx6QPDhG3o07ywXgAigJEhDoMCkAOdzpTRyLsbGy6N0/TfLzO3Gm4B78NKFnkdiD6icw956rxYGPQzXsLIDakUSRiGGGKRdMAwxJiNAIyEW6gRqeySIXYKS+R2TGEx+gcHxy/yjYdxkUoK0TpD6YO/TW0Ffpp9Ny04aPgzwnAgI4kXoHVhqKF2G8jT; 25:PtOdUy0RdV/a4lrKiGyMI4ERMSnqdXIZFzFNnfFYqzPlkb5x3rpVbnYCQKS0KUjtyX4YAq4kJzSbY9SJ8nXbs2iMvdkdSICemfUyCSabigLMYsBW/QSqtltE/bSjdgbFcgvmer3pyKsK+Y4PrLNC4PZi5wGYcECPLdxEMQs/QNsfqyxzfqQjZUU80SiWlQaUHjYEuQ4Yyioyvi9ddYJKm4E+NJ473zhWA4qx5ffojKcc5Z40J4tqpKfM04JVYmdMPBvHDXYguwBonyvRhdtIe1jwMcVObIgP+y5BUWzqTKgyKGiAI7LyykfDpUoPLr2mk3bzEwlhGsaMj3lN+2y0IA==; 31:MjaOCbA7lwn6v6cMj9NVtvAbr2DpxNXMUgSmVALwkiek/t5aY6MqSTYaCAvdDnoVaF1PigR8MgB7TmV/Xedmkb7QfjahMl0VuI4eFgStc/QhEzYX8G4mkk8Ds2vUxC7ivxZJ1YQCgqsjNbPhFEyLVLxF8rd/r8Spz6Tb4JBtOeYiuXjOKvoi5BbM6Z+hF+oY7leBmux91A2AdrKNOOuYtyhDkuW5+jngOekUcIZyOro= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:NNt69MEUdhXYWzJuXl3CEjT12A7NNpKtbWIeWTWKFVGpHNfy+uVYgaOyA79c6UwwX5Qhd1tpjqPi4KMXgXYFK+ahYb7Tz7g4DhirZo+4VR8KdLhpJ83+NdnlsaU1L/jQ3ZaG/ZyUO0oQ9y6yRNo8GOwZi8rnj3vsAsrE7KquckOgLyw/Be7VclbkcpM0dCiKYdF9Xz+GVTEEEuUQd6MaHHSIvJpzYhQalN8E0dfgzrDrJYkZtizQPew+Q25wH4Ofvg20BSFwx9gSASiTrY32tyPZyOw0s7zi6z3mnld2txv1OWglbeKrDV7Q0sDz9wfkQAS8k5qMRAUoqk4PuYjtgHMRiLquYHbMPywCAuNcK7cheD3dxOosmsbt+dwn0lKFT92+E3/O+RoemqDWuZTUZam7+fkfs3zdv2xyJVh6w2c=; 4:ZlH03MrOrR7+Vt/ZGS3H+n8Y7PfnKwuJhJNOACi2rAhND45Z7qkgM/DSwsNXzYkMtYRqUCaXg+sO7rokcyhzBYYhkDo19hU3J3uaSa4zVgkkXEHwOeFZpG08odxvhKJw8qN+U5iT+3rpaferfd++18TYTz9WRDtKQNbgeAxSymU5RdvhCudYT7RfBeXL1aAbDsrLcbFP/plJh5E81FaYNPnPyhDF5nymAndEOwsgzt4iYeTSir68EA09Vy/aNe6wVxt+BPxg/RiKwfNl9EMQ2A== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(59450400001)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:tNPr+2ZOPrz5nXrMMOyYH2N3d0YDjeAq5QS2OU3?= =?us-ascii?Q?/TzDCprJ1rSfnrIUSLikbXIRH+TLXDoaFGTFxPa+Q9xnaU7EO1tIqc8VcT17?= =?us-ascii?Q?J8eWJ0/NVdcn5zqOBjWGMk8xys3LZUpgXtugR6aZmdH/SP9ss3z3JSHkyEIz?= =?us-ascii?Q?5dQ/x8LwoFVXXcjrqnSsn2NtIXj2+xQqLEyoSXE4lomsG6gf8RjfTTIpAqpX?= =?us-ascii?Q?7YVCzuaMBBuHAz3z5mgD0duv2CTd75DjYJJkhOjiSpS6EQeh9hjUiJDx9E04?= =?us-ascii?Q?0w4C30tOfgRxxLYK4xbw1glZ09GWPOC75Do8zlhxdDSi5oxy4J5CAiqkPsEZ?= =?us-ascii?Q?LPpKQiSTdhBMU0KrITxdORQ4UbCSZxx1c7laUsZS1rfkuZMcDoNI91xoHCru?= =?us-ascii?Q?H1OuqkoUVqynYnlRjz5Sovla37Gmc4DfCcyoc2B4KygxHNarLbaCg2MfOrJx?= =?us-ascii?Q?a4fI5j+xkBMdACdOdmoRx1v29LvmblgkhI0pmNl4M0uGDTwIObVut86GDOGd?= =?us-ascii?Q?k7yA/M1oEvO34hkIkejEVuurzCvy+hyG091teVXhlK8maLpvy/phtJRtVweP?= =?us-ascii?Q?BL3Mw2/8tWt/xPEmPKK3fKdmzU4AlNXWdMzAdsN2Yvzoq3sxKxJZhM0aPCub?= =?us-ascii?Q?OFvA2OP8KHRvzl9ADEemBnqdTcSyIfPgKoFmFbakXdWqCKkZMqrMVYaMbI3I?= =?us-ascii?Q?2WU9eYnc7zfQ9Apj2n3nn0kCW56ZHYZ0yABc2D49fUm1o0pcS+HrBqCspUgk?= =?us-ascii?Q?cspBVbRjUyRsP7A5V3P0Li4prYBOdGBaXR5cs9IkfQlYDqUQupaWFWNNxAWT?= =?us-ascii?Q?Tfkl4/NJxEWyfxNfcXfUn8MnMKV1ygB6keNsIHcsKdpvH42Q1iuEozcIMv/t?= =?us-ascii?Q?dIdjh1X3LLd28BOl2KaK1raW6fgQJhbfpxo8SD1RLC98uYZdNv4/M13EeHC8?= =?us-ascii?Q?pyu8NletJ/NAqvppoC9HnKauRfLHCnXa50Wk/8BBLoQSek8dCjr+8L5hTGJQ?= =?us-ascii?Q?H+fQ4M4zICwocCqtEAPq4RbJg0MCwjF9c6kk9pBVt9PbQozJkAo555Uvp1kx?= =?us-ascii?Q?EoNJlbUtUHd3/FvX5C1XFkGtvaQQeSh7VSFUFh3LHGQ+TCE3OF/niI0ysmur?= =?us-ascii?Q?MA2Tm+qNYba7q2w6d4Ng11BTXGVdJtar8VqSh5OJhVdocWXOwDnpFp219WiN?= =?us-ascii?Q?0E2YD+Q5QhCJOkVS8MeqTUWXLy8PXLB3zA3IR?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:qbopR9rIgJuy/sRtFXzDWjhIUUKbxffanW477ODJBoQmfTsKPMTaDG4qpPVoGyLXqSrr258HB4v9WuNvGAPHFhAMLTDlz+kobHWx4yRR3ZBCfHddYqPGMQSBGsjQo03GQCGwsRSXAG+M/wCZgOvY99LvmUEy90wfytJf/OlE/NZLdVk6i27/k/VH2s1IZTPo1rfPZBoRDDCOn+BNH6DV5z/9jhbvNBog8vH1HAcj9z3fUM+4rW38eBVlBuhhP0A+wojCbnoDLGtKw8fSWe4R+IOKLYn2/qBisECKFLYl7anrvEVX1Lb0IgWxNhta63y+ViCs/qS9qKiTXMyZFR/Iq9aexQfOV9rvrHhNcfNNv6E=; 5:/+jjPjHFJxQ63kGeBVO0B7LiY2mv+fQAgoFBM4C5Z1YoCBsy2tOhUWc5sQEaRXKPFIWdcIuAKBPQA2AIWZfKj+rUw8Z8pwxLOgyOAzqlQvLpt5XlvyftwzYLZ3zPdHKTvAjb0TNKJkJt9xx241rgDKiPn3sVVQBq0cJK5pQJPaE=; 24:KPuX1RbBJiUG86BmBuXju5YYAB4OJZJ0ErwwFMTOl/xb4vFI691o67FWfGVH/QiProjP4thRAZKwnrQdjXAzcWRWmwvVzdQrqntbbx/J8sY=; 7:ZNpSjXsTHGlNaVpInQ6kiRmuq7QDosIRaC00cFBOv5uiHrxWJoMxHsaLWDX1ywDxeTwwoCHF50PHE2SfVwKfSzOQTsZpBgOoCbCujqLwRvJMkBobrbhjTsyVXwZFlSYHmU6ksrnJQ59D6FamQ9xmjGvXRVRMKQ935APWYa1B3HrTfCkbBTbpm4FgouaseLIjXRjjVwbZQi5HUtgcz9ZyezRy95ovL/kpTNJRK4c6EaCPGMzwQJTxzU8nQTSqgHgh SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:upcDz/R+OgypMzvqWp6dXuEZTjSfXFd/TI9SU+DB7h2Xj+OVMD5x5Y7pQzLG6CZKGrvUD2EtajgY4mg3m/lHNBHyJkP+FHEnQS6gMgDy3+lQ90FuTduUicetaCJgLn0q6jXSsT/awtPeLn3vjp6BICsCzhPvkHCUGlKSI2vq+v4= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:04:58.4806 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 49001e23-ffd4-4236-9f93-08d55ce1bf72 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.113 Subject: [Qemu-devel] [PATCH v6 1/9] 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 c9badc1..d18ec65 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 Sat Oct 25 23:38:20 2025 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 1516108053090174.1570889615184; Tue, 16 Jan 2018 05:07:33 -0800 (PST) Received: from localhost ([::1]:35113 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQxa-00042W-JW for importer@patchew.org; Tue, 16 Jan 2018 08:07:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55588) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvJ-0002cI-G3 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:15 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvF-0006SU-99 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:05 -0500 Received: from mail-ve1eur01on0113.outbound.protection.outlook.com ([104.47.1.113]:61824 helo=EUR01-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 1ebQvF-0006R7-2g; Tue, 16 Jan 2018 08:05:01 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:04:59 +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=G4LG5MlrMqP819rLlJ1ysv6IMR6RTYB2P+hO7kJUPgY=; b=X7T+UoVhTzMceWWmuXXLl60AIPUmcdKO5YUOHIFcawubOOPduHmqSovVa0ZMqm/cld3qy8ZbztyrhSLQhJGsxRtzGtfhtVw9myR2aNC+qberwwBd0zE2LRuXqPFza//De5dM556+0XpMswAHkusBnpZxCnrQPUqLVTUYZOaPHik= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:23 +0300 Message-Id: <1516107870-8110-3-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 5e40daa4-7876-4b40-bfd6-08d55ce1c014 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:b8eio2Ke/HLIasu/zw+WCaB8CxY8V2QryKFY07PgWH4HjsyvjZ2AgFIfiUPsXf9bDgv1ywyjP6t+QLB+yzc1hV5zgnt0hEgywiE3KddXctQqdNamd9CDKNDVcUs5Eb0O4sBj4o5XtRuHcMgtoFu7hXfkcLmzVeVADc6TQJQp855VxVGu16q/uQKvZDlGwntFjI1c0bbgG9daOZb4IzrEJb7VJNbEtAyXHLlkREBpjLZFhwxHDtYz7khSlXBTp5Kn; 25:qzra/i8P+w1tRM0Cge9EO04t8IF5Nb1tge0ysSV1ZfaJwqR+0Bo94EqZdnTeuxbOBX9r/hNeGloSc6iLxmw0RcO3GNNmGFN5BPVaORmWGSsWuKyLE3/AKMPaSZkS74MD0y6whdrGWdGa2PlEra5tLoZJqIRV5htYSorhSg11HlH3O7T7ewcvuuLSzZ7bEuOwN0NrjGFg/wEWMBHKG/I9UVBB7ryC3twBC4LRRMFafRoMTFzpIBp2mS2yMmjT+fbaCvtAUWWLSyiYq0Ix5Ocfp5tnu1wQNeVaXs1TfPj9l0sXzccIESk9P9+cnOWGLaagODkIX1PE1B5wS7Mnek7o6Q==; 31:sh/EGvwbMUIjkWBQrmXOgtpfvrR/SJi9HTphAj49GatQv1fKbUKmF5oKVmTwtlDSKpcF5FU5wj3EimIMevUWbIcTB/25si0HStDgnlA69N7msWblL1TskVHMxEtN1Gr1CMGFm0bRx1MVXKKbc0Jc08labIBiwslmIPn607A102UyrJAtPHMc6cf8ZW65kCRHzFtqMbWEwFG4o4rtXPU7EHdeP7+jwB4uncsvf2zltGU= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:iDhRrNYOzJ76TLkHJIheIxc5OYvhhLg41ylaIypAxwGR58o/i0u5D2dbTWI7B3SgYzlw/F4OQtcZjx5/18r3ZGWOMZZqoIDB74mK4cMiS2gHJQFmI+vWni6f4hpOvjwb9btMouWVu9wFN2JfkdK44vyyHykfvbU4PAWdgW9m++zzE/roTC1n2tbvfJ3HAqjBf0TRTLBZgDN64Kydmxu64y2xhRMLxDJSVdMWwdhu1rH6hGhlctuV1NiAtS5NqPIdNGhRHYccvum+BEuZlLedwpZsHOJGjphCiJIRwiRkAX12A5XFSlLEcrlrUQ+7GGs8199fTt2MkVn3qHwZVY9kJdAzcjuTiN4mC4zl1mELKQ0YAK8tgVmqz+SVWhVM+771IERGknqeHs2tHtzztI0cYdsV8NctR07dLiuV8ePAgXs=; 4:oODyTIPXWvbOxgyA/k5zgr96LNBZTrvOTROu1FBkUem1WMQ7bJkB6xlUyODuekSdIBahMFpaw5POzf81yEFdJqpJYAu7cFj529qx6Br6eIPDQQLxYSX+UDpIu5IR9KLx4lpc+eSMEqnC/CPMttDe3tgsnhqVYlcGsY5UDMk43xY4JLMtFinSbWulUKW12pq02DwaKgkyaZCBbI/M6BpuCnkrP3YeiAzp+K2eR/WeYp8VZNtESjKef7c/kXyHYeugxLYczZYpA/7IrGYZurdSOw== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:0ICSbSn+3/ZjTOkr6dZRjv3b7xab9N+20TuP8ZH?= =?us-ascii?Q?26RS8WH2/78rSHnZr7pQjeSyaQhUc5ILqKdRNMKwf0MLqmeVddSp0aZz4I3a?= =?us-ascii?Q?eUXjS5byJb4idDMESfeyfKUQGGeXxTROly5vCCrpaCDPYHq4MAe0W0V2Tnm5?= =?us-ascii?Q?jhLtSN/AhEQI7JC+0BSzejLZa9INMDWJDe8TyQKckFJqaUuxb0c4BP0JSt43?= =?us-ascii?Q?iU08NbwHcFmofENnzywkZGiOQrGGY1XwNYTnzxybaXT0y+4drxuvgJLifzMB?= =?us-ascii?Q?+IElyD73q3n7wvu1ke+3yGZqqEx96b4H/TlK1YWysSNhbVJN0cNQegJmVHjk?= =?us-ascii?Q?6WWRLn2rbtL+ThkjWrvAM6AANGyyTIZWn4Ef4AzVnfYwDk8TgBKpqahMkIR9?= =?us-ascii?Q?+TtMdoQgTSVPbvEnzHw99Hsu1EEc2q2j1cFl1cmsg+4FZxZNw+g9SVjYKACj?= =?us-ascii?Q?N1Jkdi9ZWpKBwrbcKqssPv04hobAMAsrltMheQJ6n80mzDPK+Nq5A+V2zImW?= =?us-ascii?Q?u9E50MDdzWGJyBuRLhJavSzbmUwkhsybFJnX5g0Q/uPmXr3eJBEfqGKyiarZ?= =?us-ascii?Q?Hr0UkV59B7/X4oNLT1HBTL6lM1r6mKBaeqsAQ5AwWySqAvHok1DpHGZGvDTV?= =?us-ascii?Q?Ho//5iRxlN+VxnEysySIN3KKj072pIkAVieJRz+e8vCAXjtHN4/GuceszyXj?= =?us-ascii?Q?otShsbfOWXmtM4Ccl6NvjTmkkhAjXmSXgxO/V5AnQMoXjeJ8GHdSRVrhohJj?= =?us-ascii?Q?WFt4SzkRYEJoXk0jCqJxWMpvaSvtmApaegY6ivKAFMhjCCuXi4hENDcjwX9E?= =?us-ascii?Q?d9nFULybY8U/J8M3yKky8qfip+T1jT612aCnpTeKpX0Tov4TiZDNTeEYLTyE?= =?us-ascii?Q?Ue40T4184fA6e9fJ+ZCHbXlsn/mNrE1ydvCG8xsea43W44vOkbRXqgj84NYD?= =?us-ascii?Q?huffQjqTLWSISbRoMk1eqLv5+65u/HnQDzyhUP/+vlgltc5hm43esu3VI/Bx?= =?us-ascii?Q?yc4GuKYpLWF+ryhrrrNHiZvZDEftNrdR4rJdB3Ly4TlN5T8B3VpCRb52POz5?= =?us-ascii?Q?+W8YRULe+BSKrE4Gj4XkqBfCVz+nE86co6Lfe2h7jPyTDZwMXDlvCrLugSWS?= =?us-ascii?Q?ziLxU/XnbrQ99cFMTRRzohtA7SBnuMlqbxx/zIyKSb5GvAVoUpw/3Pt9+2vY?= =?us-ascii?Q?ZY/OtvQ94r83qtt4=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:3NEa8h7pFRVpAsHOzL+8Huao6wtZk1TBCT5V6ba8EafC8ipJJMqYCknFAeovPL4KqOhiPnmqZNR7qoC52K5yhAEmqZ2rr5vd5hvz8kFf7w5P1foljC8Wt+VJscZISg6V82VFVbWDVJQRDiIXFxRCGwXn9PIdU97mJ0gGzyyxFrPWU6jiZXjFM203GKwBufMEMfzUGm6EmG4OrEV+n7a72DSU0meZk9clmhlFnRPBS6Sqyk2J8cTtQ/2Vblhari6yV+ukWhDCt/a98r45q61dG6P4NPlO4y+uWiUBy/VGycAKcyLyyjqIL5DXekrlW9Eiy1wtqXFGTD/gYwo958AveXKFZk++oLrw1TnC3ULd/HY=; 5:3AQFiRkyTYmRtgTuin24GeBsW2Hgofr0bu7u7Wndaph/BvBYo95r6O1zHVDSLaQhK1evuhl6UlXZdgVUipTwtu3NDFlVMDLX6+p8upN7NWFfaVZLsI0yQvj6FJ19Zc7EwkaE97gSRxqyog/Z7PGh0bui5PUkn3NSHRg4EE8FehY=; 24:HhIEvn2h2pJz9cmwTvgPHppjfTJVnGeEDgOHsdVDiHVgKoZfK8AT4UyEVJ8VkQKjBzOmyqJsVVUr1JqTXgB95Pl+fRN82Y6sZg8ZL7403Xo=; 7:RxWTMQqGLbLRaoBXQLMm/BKwCXMwZ+fP5A2MbC+trKHDIPRUDusqSCGQMyEPPOT2n5c91nfjdES4+mCfRccTbN5CiHiUNCzFW8FpEjkCRSBEj3zeYjXh1NIsVmZgOX8xa1wzWEIQFhNVA8fhWrMBEd/ikjeNJG+dcef2mIpheygaWzuudhXpZ0+/5vq8ILR2hPOUR72/jDPc9r52mCSCFaKnRWr20fxxiamMGG3PkH+tPBuEfxsrx0kCnjd013Et SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:bBB/WvKsP+UvCkNBCfY6RwE+5USEtZBwxv5YljFMFKvhUhgd2ms5ZHZDbRAZmntK8yG8qzkV6qExgsx3PB21yrO0d81Uj+uqqHqNSLHbww+7Y7RQJpFgETX1u+r1MCLY/j6rEBwWq7Fnzvb0OSg66LOJuY6lzwr/xDJjYq+nDCA= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:04:59.5587 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5e40daa4-7876-4b40-bfd6-08d55ce1c014 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.113 Subject: [Qemu-devel] [PATCH v6 2/9] 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_0 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 Sat Oct 25 23:38:20 2025 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 1516108051027113.4466463439228; Tue, 16 Jan 2018 05:07:31 -0800 (PST) Received: from localhost ([::1]:35111 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQxX-0003yx-1e for importer@patchew.org; Tue, 16 Jan 2018 08:07:23 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55625) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvM-0002dD-4W for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:12 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvH-0006Tm-QW for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:08 -0500 Received: from mail-ve1eur01on0099.outbound.protection.outlook.com ([104.47.1.99]:39168 helo=EUR01-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 1ebQvH-0006T2-AD; Tue, 16 Jan 2018 08:05:03 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:00 +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=yBFMpInOPdYlJ4w7940vHgaPI05D8gSiQd6JttTBU8s=; b=XYMqFE+C4N6qzOZVxEN6xBLYj144mD84WMjC5J0sLpnP027xBzEO/0Ihmm/mhULHhcimQUGGE3bHQWwUyv9Kd6bdbZlT6+qhVbnglB1jEa7ehfvwEMPLNIRx80D5UD9ENSFCnqna1yjiAgSPjVOFknSG77pxr5j1B5sXQclSaoU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:24 +0300 Message-Id: <1516107870-8110-4-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 337079e4-9c4a-4d9f-1b59-08d55ce1c0b2 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:DcTta+oGjcAsATPbes6FSB0o3qz3QxYz96kuBGHReIqoI/LIcw3oTwTCeCjn1kFZa6UmEIvCm1X5zYyU3BUooplSo0jI8tU3bT77Nj8AC5/v1Qcumm9+sDZl6WxbKy4OtqWVRdLzHTqSqUR0D+TNOQW3A7tNm38nD/CSfWSNCN/fQ0YHjSr6ZiIcS3xE8sjD5QNwInWHo9wR9BHy5emPBBpwYzUSo7STpKoXGtiIsJcSQmRJe5XhGDLF6SWzrtcU; 25:OIgSlqCaYf9Wj9luGDMtCwIj1WmeuZw7vH9YXHjuCGvPqXQ1+SEb++wP4zVVG/t8BXxh8IeHu0Oh58cav7O4mMJetWLLFmS0LGeD54OdV/eVKru5rv4KHmQk4aPS79uv1jnlGYAmbM3inVW4ay5eeUz3XoDLJcqedTUxh4wXdL+kGM4820iVcHBZq725CuzGm8bYwEVVNa8g+qWua790oa9eFL3loUnRS1rl1BlOIgyQCWghCpriqKOy4rhZslAQAuTIYKgm/eGoaNMtMdKxhSiqs0BtlmyxJUHjESEN36L5GVfOC0x/4pLexqtkCkZVczFO6umncCJhFzxHG0n2wA==; 31:yjIF5JyZyz8JDaULgA9ebPU9/qD/BLhTBX+q/MZna19e7PRBp/suQRu1YO/buq5J4/Fr53L1+llxPAY5w81wHYiwOWtQ+y0cQzHgCvDfxfacLE3wVU/cw6ADQnkl6KIjofAUG7jVTugrAugQnhR1sFXujbBy7wfascyCA4+doitQjZjJSD/R0sXcx2T2frfTSCUVMIdGVPjp7BmZMx6ekbP+K+FjkfqGui9XCYBEMrw= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:+t7ZxCjT/EpsCdLuHsi2CoVkwPPegZWVrSYMRM2Xw7aqBl4wrZEogkwkN70QlafSGypv8lRgi10sO73Utp9y+kIKd6hbpEYwMoatbelUAp4v4hd5YplmpA1uTZPN3OULUtw6mc7LA2yHoowy6LlZv1+uXulli59UuhW3niYxJ4dqYPk4R+tk1xQd6BzgS+MRh7vFkAoOjEYbYcmym0fzBY3Q3RnAInJ0nDrqCPqN0ZcJMpD6GaQHFC+cIFjHCuV689SBxBACNFFY9ZBiwP/KuKWmQGAoPhw1mdOXJda4/IRejcVLLZnSfzHiDLPjaFN8DYsCbqplG3FmcKY8WuVi+HOu+abxJEjHPZX+Z+VzSJGuFInUSCXJBkAOQ4lWIMOl2pOQk2uL10I1mWj//y2ZT0oVAybtoR5chEOgF9nQ4lg=; 4:L9EcoPPmUfEhEtm6YyKZIpHsxaVQMcJ3PQbwiefcyE0skJVmJahYWWHlb4eXqe0sz59HMur9E2tloJc6aaDd3x1AYYUXKwMf4hV8ajwDnYtEcT2mFISQpvulZ7mH6Olu+domMJp7ApZWW1MQU4nooaYTkP8AUm4p/CFZWZdgXZkxJfQGthIpuKoZmqAjFgX47ktbfK0726ZxV9vXFnHqfsyi7b3pniui49ILBiqxrjNxvf3JgBFOEiGSYzZ6tJgKtDeMOTlpc8CFw2XOXY2ehA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(59450400001)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:GM2znBX25GY8dOpCtX7bMGipZRiimmTD9A9vJBT?= =?us-ascii?Q?rXJNzCzkmD6+4ae/xOMcW6uNb+eYA+eadOoFzNkgmUY0AU4m+McFP0pBbOU+?= =?us-ascii?Q?kSM8rXa9KlaL//wVr1/hCu6ESIq8NwlcyvnslQRyFBd3wxgFO/l2CaebJ8u7?= =?us-ascii?Q?1C+XaLFdM2BHwt8QhVFSp+ckh639bG57bjuOPP3N8Wmpt1175XgCvDui+r1B?= =?us-ascii?Q?TDpj6CtryQO2CivsQm2O6nBsZrHFfU1PllETXYNW45e8p7OkhOoiM7YfXtXc?= =?us-ascii?Q?4GCsmgfchr5Gj3U35aycaBTKtaN9YlKlk4O2ECqysQhg4sGE/ngXp7rnhAzN?= =?us-ascii?Q?+qmJA7urJOFKwQMgP2iKlE4xlRoSFTdXZ3RQpW5Fm/Nq0MNz8nNchRXMjRrD?= =?us-ascii?Q?mK95LNJwbHoyEmMp185BaEodQ2y/JhkbdrA3nhi02CxsG6XCeirpZlPKUpfu?= =?us-ascii?Q?VdaZZrgNqm9fH5Zvsx61NTt5Y/ICd2WPIBJ/Q4VoVjKeMwft8MrjOagTRETx?= =?us-ascii?Q?DejAQrEbsqZvcC5BAQBkthFaYMQ0/ANceZMazSTySDiOu95F+0GcMx+Jyj8A?= =?us-ascii?Q?CLwU5LB8CKEtNVBk3w6Mb+nk2dyih1Is9f0vHpSONPoS5N18mQFOd6iJ6QcE?= =?us-ascii?Q?jLCNnNX68KrS4JSnmc9Js345anEbMH7NLpKXoD6tZE7KnQL7RWyEsEimlKfA?= =?us-ascii?Q?DQBy2BLFnOvWJpTWiCeyIiQFoEeCv4yQC1smLSyUaiseNUF6EsAOBAbCZGZG?= =?us-ascii?Q?qIGCugD6Su2dhlX4vZ2iNp9X+8z3BGRe//TWIsFjSXJTHp9p80yGMU4ma+Mc?= =?us-ascii?Q?aZl2juqPJ9fUwZ+DW9RLPxq4zoxqO8VSj5PJy8/wq7WhIMx7JSCiQ3a87GBc?= =?us-ascii?Q?itVVfeapqtAW3mf3rJZXZNPOs5SqoHrS1Xci1plZx8gjWB/hWol/eyOvs/Vq?= =?us-ascii?Q?fU0H93ewCA0NGHRRLFnMvbE4GkRcRM8hIud9NU/1Jx6Zj/8Fb7utumKzdcxz?= =?us-ascii?Q?YB8ens0XlvBJlzCcHNEUa2CQn3+1X2BLTh0UrKue4rOphp8QtwG0fDMh35BE?= =?us-ascii?Q?OVj+XPzX/umNnRRTg5IgeBQou4b8aIddv4uB2CnXoZPvPWgObEt0/lORSYe6?= =?us-ascii?Q?Z7q2NccMmwvtVv32PcxEtskR3ZMEzXjzfPG7IZUEaSHZF4N/PTwg8a2/iAii?= =?us-ascii?Q?RfP1BLk32sPOT7L3Da2Ayi+CvoqQTFN+hunkK?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:BJd4YWCGXNXH2s2dgLlZI0m6Ah0CfRusLcsb0scz7tG6ow86NIN8naYO+Lv96/Pbl1j38/zZKNWRsiTbRMAnWR3IKyPiTASr17qq5T7lhQs+CYlmk5YBeoZI50+TqkvHH9jUSXEVLLcJ/Tz40uJKqnomVPH0isn2V710254EjA+VqC+lySM6aFyvDJfvCaRiXEiONcIC04TgjE9GYFO/BoLaKEOuYqR8qMysrFL+mZbFUJsbTNqlapIzAp2OLRPMwVwZd+YwWHAojdpZ5YVimAITo311L34XnkAVmfNyDE7nDbH+lL2Z3p+k7UM0daKJ8a2GgGRPkYGwu2w+Wt0vExYqkqPwB8hphwZXNzSryN0=; 5:Ss+JN/TDh6dSHA8ak5VMybYqSjt2hz1ouR2Yrt5SiHEsIhzv1P1J0bX6X+AnxsfKz2GBcYjbrpvepNIh7IdmHAmYqZdmYEC29Gm+k7G+mtoF8wrpOrVvBdvVW3KsEsL10vqdfi/VA6EO+TFn0H5VLvDPcTGlcCxTPgzky5VTrPo=; 24:sQIoW5rQC2zWFVNqVnTjYHKRYVJrPsw4a3bQjn/huWbhWSxxotdYQh7S0r+nOgghFhjLvGlPjO+qojMXZGHQI0ExhloILd7qq7dfknsz4pQ=; 7:4RnU2qSJnkZeX4FHCEGT4lKR6Tobo6MA/FD7Syr7FmxVozN353NeswfFtvs+HlXceZJRfrRl4qwop8fYZa2qJRvHOXnQmbK65q1z6Lo3h81xJc067IOETYHJo7+xH5mlmOAVHwH46hbj7m28a0ZLMv/JzV8596v9gIoUrtMgv4wd777NjkCULSY7wJqL9oiYzOOfE2iLUZjRep+ycm2UrWtkmKxWXsLmLkqdZ8FPRzNs+CC5gwLRSWmYw9edhg0T SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:1yzleaDTITHhaqCBRk7s2Wkhy9GQ88XZmGX+TDUngbnl2wNhy4n82IGuiUrmYodMJOJc7J0Z2SU6F+gXeDV1dXsoYzb3h9gSLLA5cP8RqdYGKjAan3eSZh9OFtYQIyuSO5lHnQ0nFsNeipt1dllbpwCFVvhadQj+z6FGyMF4OQM= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:00.6056 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 337079e4-9c4a-4d9f-1b59-08d55ce1c0b2 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.99 Subject: [Qemu-devel] [PATCH v6 3/9] 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 9b12774..3e31b89 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 29cafa4..b141710 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 7ea4023..cf2f84c 100644 --- a/block/io.c +++ b/block/io.c @@ -1424,7 +1424,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 @@ -1514,8 +1514,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; @@ -1593,6 +1593,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, @@ -1693,6 +1696,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. @@ -1822,6 +1828,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 Sat Oct 25 23:38:20 2025 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 1516108259240660.3305696830141; Tue, 16 Jan 2018 05:10:59 -0800 (PST) Received: from localhost ([::1]:35196 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR10-00079J-Bk for importer@patchew.org; Tue, 16 Jan 2018 08:10:58 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55636) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvM-0002dn-PE for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvI-0006UQ-L4 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:08 -0500 Received: from mail-ve1eur01on0099.outbound.protection.outlook.com ([104.47.1.99]:39168 helo=EUR01-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 1ebQvH-0006T2-Vs; Tue, 16 Jan 2018 08:05:04 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:01 +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=PKdTX4sH7WEVE8AJufEh15xi1Ekk6ZM3z7G18fKIWqI=; b=IdJkzYdq64us8gIYyMEHO2LUO/9au49Qg7rWxiQjWv280e7PZkE2qBv6qj0+PXya7DyCmgNvu1dZ5nClqiwD3IMWxjGjdr0PqWq0cc+8bexJJkKryVUfN+6anXfT+IelfnvOEqPszC7xz9ffKaZA2VVY6Be+3TvHjBz4hp+6R9A= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:25 +0300 Message-Id: <1516107870-8110-5-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e8be0279-9a98-4f66-b22f-08d55ce1c14a X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:jk13QZCF6apfEZjbypW5nVBq4HOhnYZvCl5LkJ/ekyOjz0oGULmtSrSsy2Oa4x8z3CZUIE5Bs6P1qLq/WxGvc+IyTB2H3izYgBNP72LjGu/Zfk8mjQg/tI3h+0vkOW/CrOd/MO9dIj4vAjMoNiVIfWJMFxfyCIDHYmccGXGnnA8nmipDT54NAv3p7sUhiMpb3HrTndCKBQwIJ6q1/yZilt2mfVeS+oe32wuNu0Xi1WHsZmTM7pnV/8PwwmtapYAD; 25:NV3uedAUnnGpNwrjICczMt9w0aLks4EGcjC946zDkUYuzUeoTxGDVWioVNo9ckGdHl+vZnqcK9P8gvnI4joKUJk+balIYwbbJNUSxCL1MdZ/vajUR1K7fiTv19DMCbprBNke7bh5pCS109kqOnxDZZGErTfrjRFa0jg7pf0gAqUmEfjAk8bXbOHqEIbo94H3cLVpG0uPdF075O20YHoKZVvNoV2XC7FslKM/0QlJlgz8Qfcofv1HwRrHLt7MK/bqpKcTJnYRpVSSBCDcfxhI+LDdJTaRlNg+6qAJtOAhMF8VmvXGBphwJWruURLRAvrrRpjBcFdH1v1qebub9NZjHw==; 31:dIO2PbQfNhmXFGMoTcPdeS5RniVCRtXrAYza6myS2YSHg78bEmzXxFktyELDW+kuuFYvbkBSpV3CbnKt9RJYkT3kG1ljRRiSernwKWokKNfQGFOzNcGA9zBN0lI8O4muqMGc5cfr555MTGSqVeWbrXQE2RaGavHJ2S4IiL7CmHqe1XEXEMxZjpOSOkkQCYLhV3qrhpU5y2ji8qU2x95YyXXlVifEE3y9ydmjttSxoiM= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:Pp8HHZaxeWBDC04L95Wbr1u+mlddOl1P5/AoqGFdrQWVxKBmKf3hbsLwN1B4CEv2a6a/JqGSabQb6yqUXIdcqmPJrQb9DRKJ3tRn8jzcZReDvI+cGSbubtX46BpM865pPzqOCThHQUxTIGXOp4Ba2fwOY9NvtDzC1KgPlU2SUaf5DoZ5spM0id+bUm8dldmb+GATOOuUro5y8y0F2AOYtD/BSuwGxhsg1vNj+3jQAW2qFhghWaYifNSy2Zk2N/PjkQPMbCWZipOdxhj6mLDOP7jviWyW/Nfn9NHcFTYvHYkkr5Z1cSJQ0T3eMo3uZ0A09gfK3JOwoKKt1nPQcR58PCpiFmqGlT0glEJabMvypJTQLibs0R23TrKqd3YGIUrrwdtmYhbyf/0r3n8Ci1mSx73v7LohncV0sfs4vaHa6Ks=; 4:9Y4XWIg+rqxCor6zsxVFqAtFjpjJOwivGsZ5dZRUE+jPB/RF6iCGqgMP+PnDDBGclo7Tg3urbZcw9da9Gj3PWwIUppnsAT9uO86PZs53qXc3Tqzh88usdmHmQkCeizMXjo8/0hyba02PydVJW6CRgu0oOCjNiOZQ+oUmtxhU+GOp5mhrf/pBAx8yT+4QU1QZc1aRdHx/d6sSjog3ilY46GF+lYvS88DTEiVFU7KcPSXosiU/qqcyWgfiM6DcH/SYOULdFUhFJHx1dp+7ncAsFA== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(59450400001)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(575784001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:z7X0TyeoGwXq4yRQe5K8WJ6UQWkzHulGFMv5gUi?= =?us-ascii?Q?NNPcVJxNxg3cSm16hqb9Mk4sAiSYNT9orCzvjFANxwjEzRHRVTQkHnQlqoNQ?= =?us-ascii?Q?+14qs0PfVTVo4/4f4uY20MMC/AYGmNewUq2hI1U/8yUIA1JO9jo6SGXb9jkz?= =?us-ascii?Q?lfEd/aO5JGMgKlYKMxqFprVdk7LYVpgasSDcgLuLO0kJUd57i1m0tAjvZlz2?= =?us-ascii?Q?CqI4fmsgsw8c6p23BvaX/JlMlj0y64oBIM49AZJqsA3bjFWevzZgeXzDF+xi?= =?us-ascii?Q?Z8ArHEirpUwMWhuxxXmRj1GKukwMDpAooVwZhZUQiSYRhbUDjBwvIxYNzu4c?= =?us-ascii?Q?iXlZFO9fhOxQ4BRr7Aa7RczCabOcKvuWeUvXP6IeCU1ukvKF8YlXTNaVng36?= =?us-ascii?Q?u64aGqx3rqQ4M4JGDa0yOjYLeqpAkeaCp+YxSMeSxatNU8AoVTMeOr7HBVo0?= =?us-ascii?Q?7OjRowzHypv2nmDl417LsK7VwhJ55gpKXYJ1RdnIIBrf3XtsFWmhtbQAHh5W?= =?us-ascii?Q?o6kecvzDa5dkxeS1dy3FASC+C9srrelkX4b3Yjwj+RyKHjZa5sKSBkjnwj+1?= =?us-ascii?Q?9vPS4KMvEYzdtzELQYTBDlXGifn8ZdAcSlN3/UIkrFW5hXKHgoAsMiMk4BIK?= =?us-ascii?Q?VFc2tqPBGs6737vDwfVb43shiWoXScEPDe+qOhxKYVj8Kps8rHmilVwgTsx0?= =?us-ascii?Q?wYaHfHhqQ/V4y8WaKLHllwDlLPZktYEyPYr3KfAwvjgQDHp6gsmX5+KHh+OF?= =?us-ascii?Q?LUaS0vKnzOIYLCtvmaSB11Crl+Idi8RZiOO/QYJ8EXooh6f0ApiWhdMxmex8?= =?us-ascii?Q?2maM9F/vUGd2KAiMeFH//v96JcDxvAx1Yfbj/OXIZpLfVBGbET838BFE1GRZ?= =?us-ascii?Q?zKYTrRdWmOLazWPWzDHMYzWKOJiMmkLSzdbbmCFGlq2eckdy8am4L2xuST53?= =?us-ascii?Q?xBPU1FBBnGClY9rWIV9SNM//mWHJe9pMjgohreBNplfDPYDBgPKXKLK2Ryps?= =?us-ascii?Q?C/6dv0I8NEwowPvee8Wj2GbgDRr24cEKzIY52XNOl9pIEDjll8Qsl3WIsXQn?= =?us-ascii?Q?ERIq/FhWi22K3ZMIirfMcMhpVbGgfTTSn4tFYCaULOioDd6QXOjLzas4FOjY?= =?us-ascii?Q?HhFkexzEy1pBl921K0xL7y8pICHtkzD5fP6WbUhK81xmk18m0PdnoAISUJKR?= =?us-ascii?Q?2fFNn28aJdQg4Jxcx1cngcHsg8rYue86bEhSJhmHAOq9tqUpA5Ug6lxbFeA?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:muk4wbaoxyqgzMcgE1JAmEdKlE9/JGC9tDWTpH4RxwNGyTvLKfzaTK83KgWavuhTGnbsLdRHIlymciWIU2jaPVvu7pQN3ZKNxUa5fBrxs47wfmVihKNAv49Dfu4BqXotnJ8YeAYB0bVJ/MNPcqMdJ1aScvWpC8pBnrqHJDQ3SNZIbrsTfY44pKH6lRx+AueKZ2jC+Vy0+PIg2ssUGHtopzFva24np39OH3CokS/K+v00K/k6gumDJUM9h3uhlMAbr+czKCMs09QgVPIRGjBCrzkMMUyseiUntw5zh4oRLkHg8M8YI5kUC6pigfY7qqMPeB/HqyTLvTPCOtXF7wl3THeYeRJhSOKaldde+RkMnYM=; 5:csHbeEbHw0sDYhDgoRnhAW4wNrzkux+jyCgg2KGkEJ4B8+pyauKo6G/4em5HIVL0taheWLrNyosnorrtly+1oVatdwNP3+6T/vamn0Hu1pRlStGJ+QMmkZldtRUr4EN6JWSmsqTevfmjGl+Bbyem+E3rGteFSuGg0HI87MBfERM=; 24:gH2glx6FyNNIE1lvzi+Bgf7T+Mzac9IekpXsEuC6f/zhKovRs4aG/pPFOR/eNSAcJDdD5u0Z/YkewDHUYuBzoy6DohvZ+5P35btEarNL57o=; 7:vn/0w/Qbvd6SnQoFeEhMERwhyXuOFKs0UwcuSQdazMLb3vNaQR/9zZnZE9QYOLj6xT1GqITYkiMKVGkdeKgYl4aDMQeaxzAwDCE5sAtWpZ0JbpuhnS865W8aFjwyYCaumYZb1iiIiU8WNiS3EKFNcEdMzz7A5rbHGMSrPZo3OsNScpcrhVJwNwiOpRtFymFv7hKAVb/daO9ZrqRWdNfWh3uXMQ2EqoxTVW8qJ8OR7RAcCC0AVnTfq5f4l8Uj4/6L SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:qz4694HVZo8M9EAvYSZly74DSv27n87LT9J9Oj7/3ixe8k2wv53po4JPPqTh+6zDRWmTJjWpIKB2E/TAUp7ZZ5Qc6UoMELrHQEvoKE7rOcit2AmMJw9nAlRwu8/jrUl/bo9GJFeABmaue9P+UuCabijuUgw0MQoalTKjc/wRLJc= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:01.6056 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e8be0279-9a98-4f66-b22f-08d55ce1c14a X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.99 Subject: [Qemu-devel] [PATCH v6 4/9] 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 Reviewed-by: Eric Blake --- block/io.c | 27 +++++++++++++++++++-------- 1 file changed, 19 insertions(+), 8 deletions(-) diff --git a/block/io.c b/block/io.c index cf2f84c..4b0d34f 100644 --- a/block/io.c +++ b/block/io.c @@ -605,7 +605,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; @@ -636,11 +637,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; } } @@ -1206,7 +1210,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) { @@ -1504,7 +1508,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); @@ -1608,7 +1615,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); @@ -1628,6 +1635,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. */ @@ -1646,7 +1657,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); @@ -1717,7 +1728,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) { @@ -1758,7 +1769,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 Sat Oct 25 23:38:20 2025 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 1516108398468289.3169197138991; Tue, 16 Jan 2018 05:13:18 -0800 (PST) Received: from localhost ([::1]:35333 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR38-0000hF-1v for importer@patchew.org; Tue, 16 Jan 2018 08:13:10 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55714) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvS-0002mK-KE for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:20 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvJ-0006Uu-8R for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:14 -0500 Received: from mail-ve1eur01on0099.outbound.protection.outlook.com ([104.47.1.99]:39168 helo=EUR01-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 1ebQvI-0006T2-QJ; Tue, 16 Jan 2018 08:05:05 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:02 +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=gnR3bHpqvUFIIqd/LCma2waUTEv4X3LW1lj2gueTuCOO1fSAdbf4mcb7sXYBWhDFn0TI+pEYDLLUwReoQQafwRb6cn15XDqLmw2qLhIXEIjDMIgDNq2ftaEublebtvob8V5SuEX0v56ME5ZTi8r5CR10Qc9zNFLI3aLl1zOxj9k= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:26 +0300 Message-Id: <1516107870-8110-6-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: dbe05d9a-db10-47be-5d37-08d55ce1c1d7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:Far6qt0vKenj/t6WE4DR04/q6l0pToEamAefPJl49BkpkYJCwo1wNaQfzujZZi0unvatUp58amajYIloLLyYVT2wRCLmgPkw0VQmYMR2yFze+X/3fPU+8k9XUq3VrNB9xBWAvFIg7bi+mQjOF/HiXCPqJQaNLPRdpQ057LDs9BqmNTUf3rNONWVduOPAHVDh0DMAEMkEBYbayvO9il6cpd6azo+3/PlJXfJY8hLEH94ob3Oqq8ob4UddUHPUlWXM; 25:1ylCiGPe7uwzoeyg4y4TrJqK93yJcbuavzo2xzu3uxBuAoqPOZiCNL88mSOsJEQyAwaVBh9xjC6gMz/us3ikyDn6tceOE+AmOWqipLU62ZwIVKFJU7V7WsvglUR3TdRvlPhxEIToOXNw51FL5nxO6ATldHcK+3L2aO+O+0vgBUeg96jOaeJ9LMDiFcPHTP+6s1S/8+9jRMOAZFVzW4gPfa29UUHB8YgJUhwH7BG5X64/OzeU1F1U285anGZyqaom+JU1rXFlvIRm2WV8yHty3hV89BkOUleqbZEYY6RVnLt7kHvJzvhEpAMMKL88iK60JDrR86WvfyVZqPtGPJC1jg==; 31:t0PHO+ELJ4k2rDHwIv/qrSHbgMyYFOD7UKbcgvLn64LmycnCp2vYJeFmAJj/QRQeP9C4NWaIOCtvlz1otnBEhUouOEMBqILcV9mhzZrJWRtccn+QrZAFuOsO5XHvc9jElUmyjoL/5Vl8U3DDzMDCRFao6Ue7jiYD7MZpXtjcccLhfi0FDJn87MLh5QWH6j1P68MNZDOuBfrDibKbygmCYS1bUBz10pRx0srIRwRbZgY= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:DqFgSIeg6cL8BZTInwy/mISP2tr3t3f/ey+L5DDiAu8MrqiZaE2z5vdmluqKNJvyvZQlYI5eCjbLuekNpQkOdHQyz9IggCSUcEEMEISGLg29P5GN8Zc3qD416m6dVUffHunvIsvwpPH1neU89DRvZu0UjYt1l7SfsseWDFoKaH0kasmZz0aqLaqaAHAflRZeqSdpH1Fo2zkjniesIEQ1sfCSRGJkWZPiRwlECG61oDQBHU8RpadQNX1ka29y7wNjo+mtKFlvXuNZu3Fr6QCUU8VR6AXX0Y0PK4Sa0ItNZH4hdL7L3RjBS9dkIWwKlHoCHNz74VA98K07qiugIs4R17EiDXGZCnb7qUDXsLpZ+UAZUu3UALlEJewRdGdZ4qSdSJhn02epgOs7kWmwKYO6Q8sg3FjVmeddRHrkKj757Is=; 4:oHscA/RS1VT9cECnjjlFDYLVrS4qyt4fvZcmASaunHhtsocSDx5mWcfk06L8NVDWKaS6SbXrrvPyn5AyoI6wyIRbijIfQU2XlgnlzeCnmN522WOvJUAnfn/MLa0dvK1KYjiOby0CWVoiyU6+84nrBTjRcTMAg6ccc5QR9Pzx93mR05sJ3N4HELMALmwPyyjciTNrYOJJnhAkiPuHP7E7TWky+7sE9ufkmjNAG0hq9Sn1sqSA5EBejq0pmGsrcV73B9ieZltqLManY4JyOcUqEQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:PptHC5cdayO8zEc2Y2aZ0yppOe3mo89SRnJPoDQ?= =?us-ascii?Q?KRIZ3n4Et7at+E5YobFrceXddrhgGPNYKopUrOwR4yIbl3Y5QBRC28eg7KBq?= =?us-ascii?Q?C4CRBe7+Fahg/fdYi9TJomuamt0ND9Qaj17KFcVWFA4wabb49IH8srybTNIh?= =?us-ascii?Q?+wZF7bXM/Haty6ubn6p9+aY4fF2y27mDYRN5DMC889mUe2hXe6L8oxVdH5f9?= =?us-ascii?Q?js87DfyPgTOJWv+/5YlIK4gWCJDa8IKSyRD+mSRacXdJu9qCU57KGR6MOzRf?= =?us-ascii?Q?72vnkEB42ICElHV7CCU68HXchmRdSf1eHGNHyBHRUa7bubKGCaa5ePWIIBbF?= =?us-ascii?Q?ToFjrU6PAO+9db2BCGH36A7KvPwtZgFZzBgAkJRcJ0kn/+GCGwC9cs2YaRPQ?= =?us-ascii?Q?Jz47hyoOS/YoUsRfP+hM9tCOF8u7GrY6k/pIoSZnBzrPwXR9Z0F9t3oRYyNj?= =?us-ascii?Q?GirIdRx/01FKyezjz99TgQwIc5R6ay6LAIA4HTSN2UrfA08QwV/fv5dIgHsz?= =?us-ascii?Q?LqC5jfuARmbNSqJRE/A5Ge9vWaDkoKPSKPRzVTX4q80cK3u0Xznf4ACWIuhE?= =?us-ascii?Q?ydV57gA+8pYJePoL29rcmHxxBrki1taTQLJ/Qu+Be0jULrQZOZ3oRmY1CBrM?= =?us-ascii?Q?TeNWzvzT4829TxuyZwokwcXPqb72PpF6xCju1ERFYRaKdP8JijXjYn/Ougxy?= =?us-ascii?Q?GVKmfHg0q9TWGDnBYKnxOJR9vpKIhdHxNPota7KCaobuj51SYeA4B4OO1X0Y?= =?us-ascii?Q?wp6HEf7twa6RcSFtTQA5RyUhmoQJsJHNdX1j3SHoVKGLQs8085+88EjYVnYY?= =?us-ascii?Q?FUKcWTNFkyVB0y6cFZu2eRrvGcr61c73ZSE6BDOWe8f6pnTsGsxaMxuntqNK?= =?us-ascii?Q?3vkY6DtMiAyfYtH96/0o9sS1CaMLNIeM97w0ENFkEB9gWu38MNkRw+U99+kN?= =?us-ascii?Q?mHmVxJ8t/XHtxI9IcR5pvIZcyijK2+NbwINYOAf5OmEyc9qAno8MkVgYM3pO?= =?us-ascii?Q?PVDYBWTC+q9o6/qlQYH5oWRqlSV3FvVp/xUmXyv0Xbjrpz7bTGxQAusEnvme?= =?us-ascii?Q?G812TM+9wkuuvh6VJCj1QdcjUZt3oXp5N0pAROxmkzKVQ2zJTOJKUllYrC4H?= =?us-ascii?Q?GueJGhJ6as+jDgzaJNS/mzkk4F5byfBJGXJn8naVQGuyYBOurULLWl0gtIzE?= =?us-ascii?Q?BglgWtemyo0C48QM=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:BbiAtbubhNZpvMwxfj3UAC5k+drSebXmmM4TZaLgy+R1bursJ5f5yJYfjdlkMdLFR/16bYfcPwDxEcUk30HHyc1nWDGwiU55TKzIxPDNBdfwFntOsnQjPz3tRZI4oBrG06QSbIg6L19CffzrLHE8ZmBAQkIqgU5g+imHHD7mTJNeA4ESs+RPn8ioGXtauqRixBh4AxDjKQZXj35QeSeM6Q581R6EK0ewg9RYY0DRd7t3HKOjBK1/Vb77cm1GbZKC7Any6rpta1JcYmAeonQXfXEbaGFj7m7l7VRm3LK99ovIaHO5ZehQ21Fv8H/CbU6GqqgJP02DeyfEpS4YHkujCREjKuy1QgiVu1OEkancDMk=; 5:BlCofmLohv5kxvIw/GpJWuY3uZKBppMa3T3iytowBVk5uo4FzrHh8U++IsG/i32hj9XIL1H1kPCxX79/3ZLs4qnHS+N7psRoCZ5+/xghyyHmxTMC/BKoiof+jRCOHa7QHhAYFPDMKKpaY/lhR2H6n3CdJeOsqUDdmd+CDg8R31k=; 24:71oKruCQ1bYvHM9vO7vvZzaSNGJUTr2J2O/HXIQyZFyDU74JCRUlGB+epIdqSEux8bqxDFbru6La+YYe8D3Eb3EICv0ZJb597PSv8eysh1g=; 7:WNU/mR4oVJGSZee9eW/lUk0SZGkoK6SQhsS9qPuSX4rhAqcgJ7k6iz9xt7ZZ8PYzpoRz1mWKf4Exz9S/L4aSqON/3ux09U3JvVhRuKqoZ5hNTlGPYuQccHkdH2IoqwZluODanUu0yNqKIjqHPYDLvnd5ANB06L3l4LAYG09/ECvF7HUTlKgpFZGC2yb+2xRxUaDGLve7cvrvZuRm5FPUAYzRQlKHjesGtzws/jO1hGFtjjI1Ux5wUTMkIM3cacYO SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:EfjHyZyzN5mZBY7781+34Ro7TOZ5IAHWCiJBctrhAScU/ZaB0ob7DWFIB2I3l63mwBaOgqTIOUBFcjqx8JIM/reC0CDiYc3FAxDKMOa5d+wj6IsyDyVG09QpTL/jAXR1QIAcZ0fTq2aIvhYK1gpGZwQ+zgryTp5VPfHWGqJD8V0= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:02.5275 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: dbe05d9a-db10-47be-5d37-08d55ce1c1d7 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.99 Subject: [Qemu-devel] [PATCH v6 5/9] 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 Sat Oct 25 23:38:20 2025 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 1516108404731519.3184620616734; Tue, 16 Jan 2018 05:13:24 -0800 (PST) Received: from localhost ([::1]:35336 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR3G-0000nO-ST for importer@patchew.org; Tue, 16 Jan 2018 08:13:18 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55723) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvT-0002n7-26 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:19 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvJ-0006VK-Jc for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:15 -0500 Received: from mail-ve1eur01on0099.outbound.protection.outlook.com ([104.47.1.99]:39168 helo=EUR01-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 1ebQvJ-0006T2-Di; Tue, 16 Jan 2018 08:05:05 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:03 +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=wSDcWIWKcj5APoSYHWxJghyyqCiJF2bnWFE0iQsN+m4=; b=bLNmx22oBQjbZelCdLBiuuYQl+U3sviiAPXvGz+FrbnaGfaKYPwEafBI9LrPwn3HR0gXva6XR9TksIvTXIgRtVROGsDwj1H3OnOAxo2xCCwWuHP9OanQ16wtLMs/NB+z47Ps9uzGYkDgXQ3rf3xC9XpdVriKgfNUB2o9C4ikOk0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:27 +0300 Message-Id: <1516107870-8110-7-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 83b4784f-dba2-4e5e-91b1-08d55ce1c26d X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:9ehfpLUIdFIj8CGoR8TPwrn72c/QIs1p0tNYBl/rhktWKZAda3Ns8XEgaUuo4m0lKoSGr8DJVCiFoSzCO8lflIC1VFOJ2WsVhBEV4k1eq4Du34vgKSEoATW+lvPtt8azhjp47ey/j6xPDeYp65HrLvuYwQFWpGWHDrCZM1m5NeevNLWYSbqsfwvJINWa2puIIE0fPOvErvIj8hA6ro1LdnM8f59CIGPC0Ky4SR31RhgTesCyLPb+H4mSPagWN2uN; 25:JkR9kQZ816lUpJ1VhU2JUTt22Js828E+AgTxpRrvGk0PlptxhgpGXrQL81AXg6HhjcGAFTBvtWmYrdC+hMlU2pSAQS4AsRdr8ykSaEvTwYPH8UFZn1m0o+D+jUH/z5UIlHOuBia2C0KM8oiIG8NopSwwykdSq7sJRDMwMmZKxzKn7I3X8eDtYirCXrlpQ4qQg7HSd6mPe+ZJ85L+JBY1UKXDvWDm+VjnxZGsAWmf2HyKUAo1fE/TqomPKcAQmPsVk/qUGmuHyVrsxEBkO0pbn18ZQ+MZpwxjK38s7GXcYVq17vMTkZFK/DbHh5w7SHFdzIvQc6xK7Cgre/uUgzZ4Ig==; 31:RWLM02/Ne8gqxg1hA0Cc35UbKrWQFu7m6MfCUAoydwclwcCLWI0TIK/aCRfUxqylw4lj+1Nhh5rq1OMhI7YM9Il4mJdB+LeTQzh6X9zobJF7bBxm+u5aIFGAsB296SZsbdJGQFSWmRUAQqnorjN8RHNGY6zmVE9F82wmy5SpmuTQuQ6u1ItZoUiagoau+cHRCihXwV+j3M1nXj/B3G6JIl0WhzxuN0E9g9uXKc3FNQI= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:RhT1sKI6i3ROprZM0NYsmuwYazEWdMmtL8qzQGtJx6TolLrJyokI8OK68CszkGETteaFZGG9WT28d61Hp6+2tPh8MIhjH/xjo8gHnCe7+2+P8nOqONZMnmkujoGitZNWuVQix0MZBot8yEt8VXzO66FeFjeAm5PPzGRvMtDtAzlFwkQX3gUci9ZzL273043xE3bMhCs1BCePOm6iXAKkffgM9UPbEo9S+9HuSJjtPaInOLiH/+IJvZME61RyKnykpTtO6jOdjAQXS+oUrVeX6ElVq3qgu0curMvu9r8PgRd16EjlDHKQV0AHh8rdij7sLrXNyAbZpLelczLTlEMsFKxeOPBUg5Sa9s4cmr6nhUHyjtKUkbr07r3G5zg4BPxe4VlO6YeIkMRIN0Ji/q37idmmnoSwhne3Sn26gt7psao=; 4:lOBjQJ5+06DZZB92sIH7ImqPkHudiC8gDig2JKAfbIeWN/Tf50j3/NbkZrSNN3sF6y/hr+VhlSfjPePPB9p/OORaNJrk4bWvrclFRvse1CrH7DEHtkhU/Hs8bGLILOw/ZVzkac4zrqEvMzvWib3+9tLLW0SeEFFI4eLnkZgmI4HrIP4ICJAzFxR7Ld+A5Ml+tapPztrEXuh2w/PmdJwhFpbG/hP03KT8xktvEO+pubHbCBJCiygJrWgQb9v4k4z+evz0VY8LIVu0vhnraxwmaQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:Q6CEuDSB+WydxV58RDMgePW2/flKqxGT/P4uH74?= =?us-ascii?Q?x7SC/PgcFyQcnIbxRGJ6ZiRnrr/PjheKZ7RXnsW+qr9UzssqThHYgGfr/lre?= =?us-ascii?Q?abWinno65STHOr1pznOrrxD7bPvEtL0Tl4MChLiXlBXoTpbIbUrUqeDBHai5?= =?us-ascii?Q?t45RGzo1y69Bais8rw/uhb+GPZ8gsfGQHIHqDIzSoc2GWo8wyHoOdiHELSdU?= =?us-ascii?Q?A7oxmCmA+/54jsTucM8yBNWPlvJE9AFgyTlFEOEzvZ6nPv0i5M4bc1CJBz/v?= =?us-ascii?Q?DVa1LKnzTV+Mm9HoUfhTc/KSMWHk8jceq+NGDEdgMBcklUPajpBUDNYWAo4E?= =?us-ascii?Q?tEQgKDG4XVol/1cGuqUQrzBPhR9owNNFnLbrc4NztBSTmgFJ+mUfXbWGQ4uo?= =?us-ascii?Q?tVYqDt+mDu7h+lGBI2f2ooRWT8Fig+yeTRieDTZ9jO9Z0T9kPAuCG5MfPYQr?= =?us-ascii?Q?BuVU7inThNNOut92CjdKGjmzqRxTxMQZEBqam/+jnXtoBqwR+rgO9GyWP38w?= =?us-ascii?Q?CyBxKPFNp9Yp2m8mNmmEQKNqwpkzT+hjUQLxbTPrWc7ywIATJDE02jNu9Q2P?= =?us-ascii?Q?OTAjT92tHNfcZNY+z+51nmy1PNfkcPg2QbgtMwVI44dabzN+YPfBLpOLtUJw?= =?us-ascii?Q?ZY02YnkNAY7dO/GgaEQxbGEoFSx8vl7Ol+184+yiurWdUlaQDI/RiZ4T5Fnf?= =?us-ascii?Q?0QH8AogzjgwPBV93biM6Eg87Cy4qm0eedwgvj1NLO49ukLlYpUCGdFUGiIkD?= =?us-ascii?Q?S/ee7ZjV9iET53TQDr0Bwg02MRLUaByxebJHA7++B654Vr3wIoqvRnGweP0U?= =?us-ascii?Q?xGPdIjKMKNNu2wFvyAhvujU7755oAc0BM0C8CMlGSDkReXCfFhtZBsmhMRdt?= =?us-ascii?Q?7BVvNB/42Y4UUx4cBwnieZDL4gfxzNZOLpB7Qg0vWvJKQVN36kH1SQ/oHo+7?= =?us-ascii?Q?ig5dPFohzHTr3JbAwb5CyNwEaAG6U4pc+90MhtzfiJziQ9k4T+GAC9E329El?= =?us-ascii?Q?e4uQ3Kio2END8bdGvd1HzLYCSB5vk1hpRlrEHi8duTyAL4c1HSek1g1iA2HC?= =?us-ascii?Q?EUI3kX1fg/nD5qJ1dWccLRcBns6t9EqjuzbJQTH6kB74YSrUXKglm2oAY28c?= =?us-ascii?Q?+N6s82zRtGfneB7WsftV4cY1sfspzsxexHVnQGAbjlgAdR0jf1AiX3E21nCx?= =?us-ascii?Q?cPDqu1HuX9xaCDPM=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:BIjkBwpdyhn2Ha3Z/0lx/NcNWMT1ZyYFP8lB9cVcmHUJjd2J3Je2TKGGoWbDlRapve6AMz5ZDxax37FQZLnBtNSreQSayUzHhXuOyAqnyHIBvwjcq2ljGt7X06Ps6oHcLA7ELZWxS67EdbX4gan6ca4zbucqwhXc8ArPbM8XRMxsoilfIV326CYtqjzBAtEQO/bo5IPZP4tuTHeZR6HjK+XMDP9RZGHLXMkm2BgVT6oXccUqsPydPylo6jKRdHq9D1oIenhCpxXfn00L+ZDONWZFsbQ57DE0Dfh+TAVbZkdoOIAbnT/p1cn5GjsU8TqOva3FoNla0bFKZYWTV9obbN8HUL3M6FHsbPLFveTp6PA=; 5:U3JQdLmXZ5sC1B2a96XsaYWozQjgPK/+CrmjQgRar3CSj1G9JLKxsUpPBy3wOxSKy5VmRQ4HHiH01VKYALL3aSJXF7g5xfbcIx1C1XxYS1oBfDjla8935t14lwSiOSORqp3Q55G5FnOJeC1/R8LW6ct1ZT8WuV8Gb/hk3rmbjHU=; 24:csVprB/R3+sUpyzBvcOHZ6oLwbKFPN2zvY3F4r/GGou7apxWK3MbeG7haefgNwfOu+KSqB8JF2sno1n7wRwec4d+yRO5p/g5ag1NrxDEyZ8=; 7:/tH0aMrEKmUIDOtN2gvjt7yjizJczZdsXWsO40wJE2ZVCcvwWDZDBehr9nFfcazVNPDXCUPwg6GFI2Euu6krQoBTdZGhSWBK1b9uHnjcTG/sTjizuvdXn7vvglnIH29yQifozIfgwr9zljrrzb7fk1Rf2WPlq65F8EUxclakgm8Kx6QDDm6+d85ms8m8MesqQ9VQOFkvE2peHd9iSCDs87zQ3sBcmP40j2RDs3NAbKlytPKv9+DVW+of5+u7FYEE SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:WHqn1bbErFkvT0/uNNGijHwsRQisjoFq9eG8+GsyeGTgtRyVzdCfZhAZsni7q1ABfAKOiHxUnWkketwQYt46ruMDSmTMVvkzEYlTy0D3EOuSXHXa13LkAlBHNQpI7As5oo6SzWdY5nstSADEMo9YxAZR6ur1oITX795UY37TjSo= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:03.5119 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 83b4784f-dba2-4e5e-91b1-08d55ce1c26d X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.99 Subject: [Qemu-devel] [PATCH v6 6/9] 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 d18ec65..eb41deb 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 Sat Oct 25 23:38:20 2025 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 1516108227522558.460547011598; Tue, 16 Jan 2018 05:10:27 -0800 (PST) Received: from localhost ([::1]:35189 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR0P-0006cR-ML for importer@patchew.org; Tue, 16 Jan 2018 08:10:21 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55748) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvU-0002op-O8 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvL-0006WQ-8P for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:16 -0500 Received: from mail-ve1eur01on0091.outbound.protection.outlook.com ([104.47.1.91]:25568 helo=EUR01-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 1ebQvK-0006Va-VO; Tue, 16 Jan 2018 08:05:07 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:04 +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=dzrJ6E1TLwhjhu9GHNeyMFsPVECKfM46zlwMqw6O/t8=; b=Dy6X/EJFbXkHkW/H7PB1J4mmM2w9LBKD5Ppf1TzOHuhHzdCyBilulO8MvrjuhrOmycfJanfqpU7l35ko4HCNVyeCnUR54XEffOZid7D+FNCKzN1bhqcUDHRf4WRvFuM6de+H2E3Vgm6Zwkqbre7E6f+Mej6K7R53G8TV7Ut2KhU= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:28 +0300 Message-Id: <1516107870-8110-8-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed9f0730-9358-410b-9f11-08d55ce1c2fc X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:ODNDX+DRyaTXupFuWbW5He5rJ0Mkh0dIjE7HrdVsFq9Gov+ARjisjDMW9vou4quCGx8+Jv0ORq06xGqLW4ZuNHMvCcvvKEnMqtDC14EdCsEzE2erdvs5LzGnizXjPx5Vh+icl6QAgliZB2yJF7baa9ndei2W6dcEHw481wAUJ4HthBVsQ/zgg+yD2vkH3EHcJoK+PaxNxseeljFwhm55F3lvM8APVwMfqFwtoxW6gktV8h/8YUxA/qha7BePzDKO; 25:HgsERoD/XPXgXh1Rbfo04EarShcy//8cA4g9ybAIci7ar2e3TKNvoFnq+c5x37N56eeLOyxhApyWQst0Qf9GsyOqKrrvCYSQRz9PpeZBrfVSMPW2hNSIE/RUw+GcbiMspQ1LizxIi2X0YiNytyaTNaAAKWKrBW4A1vBBzSFpT/qb5P5SbctCnFHICnjzVgprsQB2jkFainK9oc0PIJd65rw/lnJPqYB57JoLSIH9WIxl7dSWzunE1OXj3ma5vm6yRZrRREmAeC66pFlan9SiMsfK1FCS+TWjdQsBAUqDTbHMQAVhrF8RVsV50B+TjtDcN/gHlY8BT1Jp6uaxasbGNQ==; 31:dsqwz9JgLlJhIkE6sp7fro34RrvXVI3QXm6Wbgd4YfYGBSy16iivFg8JY70tbLau2zmOrpxd4hprjXtBkslKBZb/nUsaZkF0K1bSDhlxMBe9KXURoC2rcG/FvbL42ehgvmqk4nt56OaX+F2xgowvP7Odj7CYBG3TUiRfUCUdfUaqtrvGxZp9LAJ+gndBuHs4mQtZ+smndRMtfmhmXkNzVivlTrLZ3lCICGdlS0Y51I4= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:GKEJV28OwWzKLB/aLixYHmZZ9NVcx/f9TtWaHbI2b4t1zifQeIWdXX/WcrKXLHl0owQ4KbFJP8LR5h9AlvX/ZN4kiKTmi5f4oBeNpQKNnA5aziXeXSzxO7WmSQ+GJ3Re/szDKnN9+ULnEPHxbwxlcblLKiEFCH/CD86JY2vklgTsQApUhf3wE+jctWtq10R0bTi7Bh2q3dzo1PwrkublW2WWNOHJBjVFuDump+6Lefl5ZrRp8XPDcJteeukrMD4r9+Zuqy4LoHjCNsrD0GHjsGGtqcjcGYi6rH7y3mfGHTAm91/q7wfNEb/M3zIEOdXl807e/UPHYv8bcpXU8QBKj2BQrFutWZ0tUN7yT8PpliIyCg9IFF5EIi24to+lEXjNIKOOmHkuxnyeTqrM8MljwiSnggBpYZx64zrnIztV+t0=; 4:1JBagjHN7xjhJqUetWxOFYfAZJx6nUIJCQOK7IIsch1VgvUMNC/+QvuKWdqd8THFxSs9JrdbTVIF1ceDV9R9VusV5gClAcas6Enx++ZAygW/Q4FR2xU2R7QAn5z8sVw5CsG2g3NIfPEq6ysiq+7cTl0c5cPG6/UpIBQvaxDyq8259pPny8LzhHtJK+XSFQmtfTc5bqeNbzKHbxwp1idlXwQSsxn5aBgOSakNgWUK9wphC4Tqo+01KmiXf1zMPxVIYFxkNA8xwW4xxbkuddruUQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:NBtzYD/FTobbayLlvANeDMVc3JctCOVhZx57Kds?= =?us-ascii?Q?IM+BTbBjpebrsaGBfJJcTdfCnswBPHTm+t+gAvAMm2BncMU4zxVOeG+ukXJj?= =?us-ascii?Q?8u/SAl8y28fuTuUCItmzYJuHNreJJmCK3zUQOc1fHoAOR439FFgiV3haRd9n?= =?us-ascii?Q?90/VQ95telR+AYBqNnIQJa3lM+h+56qhWgZrFuhsUgyylGdO4DPyCwAy390x?= =?us-ascii?Q?kBa9zPg2kL3VWzkZNA6HK3lVinsXEkW+Xx70tXW83HnOi/kB3+9Xph3GBVFe?= =?us-ascii?Q?y/kt1cDd9DZ6LHlH0COjmG6X2mntZti6bat+jY0XpY/YKnpfNDanqPqluTCL?= =?us-ascii?Q?gU1Q7pEqloJHLPIjEI+h1ySdMdL2dJYV6/dj2CKBBFOnh8BfFQ0C4NucYZCN?= =?us-ascii?Q?3jMocBjdMHeIqHPsJPFegvxx6SVFCvFNt5P1rW3FjFAKOlLCcIilhoCDUTm/?= =?us-ascii?Q?L55yLniIDH3zyPB4/qO1FcrMBZhFgw0OX3udDyz8VdBSzTim/7lCHxB2sYfv?= =?us-ascii?Q?zYEDqIAs8koHWVfWw51s01NZ7JanPHI3pftMXFlUfSooU1MQxI5JDoZ6tLk8?= =?us-ascii?Q?57gOmpLFevSnclBquzlYdPBIyiRgGHWbKQF7b8knKFvBCXJomGx98JXBRSQM?= =?us-ascii?Q?BsjWi1+ZIxd6y2onY197Ua4YIImbf0LicdiuOSTbsdLquLt9nV0BEK3q3li2?= =?us-ascii?Q?enwxadlY8u9IT+lu2UfPX9mJOanEpj/wqFNxsvrEpBvKqEM0qUFj/GnY+A3W?= =?us-ascii?Q?1jDqS0sYjFdmb6c8PslJtftCJpjgkIPm7DAcRFEM15U2CqGasNb8gi0ftr4y?= =?us-ascii?Q?vbGpGL1DdClOTmU6cHBAfv1DdgFwqO0P4P/ZzH9b6PtRcH1dlWKepL7WAdi3?= =?us-ascii?Q?IbI9w7Ag7OFfYMAx7lk3jIco3RqXoA0sw3rYDJjnCK8oCla6vOa/3fK0hSp7?= =?us-ascii?Q?wCbjJYH2LnOQ8IZ8JvhxFJJ3T9epDBdKhrCWyfrznowg6psjkrA8x5RbHEYO?= =?us-ascii?Q?ELOpQSWIwr6+7QFGObl61YqxsgF7PtbYYuiJnmZcb4/wU2iaQE7jDBpn/xSl?= =?us-ascii?Q?7e1I5ACtnny8cieoKdM5mFcieETlcuVrTVLvTztPeGaMFlPnE5yn2WDXUtvF?= =?us-ascii?Q?rVNxeWy8I3HHaxegtsmBPsvAdlz0k/7hLYjPGqTBay0q1iw3wCm0IUcfjE5c?= =?us-ascii?Q?uhY7WM8a0AZ2/CWY=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:i+kns48+2yWJfsUNB8Vt+bDr2APPptd0TjPPpZ05CIgSodZXgAih2rSI+iMCBRE49G3Hc5ZGKZwQ1iVEMvV4wQJ5cM9J2xu1q904nyY1Pv4/a3BKLbVsjb9scPgFSnlCGxbVavjq4kNd/XC9eVj6A7zBKp4lG9pALAXNesuIS3W8ZQ6DFcQDo0JPhK5IQ703s0LZwUN2VJSdIVl3hW+iYbgsoawhuGZu9icB5TYZue5/0aaBDFnSLTpWTwgI4IfKDk4kiDqRktd2JxJHXtPoQXFfXYU+QA2EigQw75O6d6gDkrKUSShcdHck/2dfFlQrCLoPy+msYIJedA6qYFA6teXW3XnsIzBE2g5oG+gR5PM=; 5:0cMB1VLkJZ+ZDhrCKIuDoXClaBQ8wl2YTtl2syYs2cQ3zkM3tox3hPS/Yb2BuIuCfG+4fABmfliJSQGysmoKtIQCzFB1XO3Y8TghYprhbe1HcYBxv47DsC2WZYuoalv4yCRk0xVNXl/FXuSMdklYlFefctKrWkigZwmiOojce5Y=; 24:xDqhNP7mVBEbD0b5LablUh2IHu5yLRx3k8xeS+r7IYVhXsZbX66I445gB9ENFcuFoGG0EKFTiWiXECQl167J/Dc54AeM09o77BhsTzkZiok=; 7:Djx0RD9fB9FFBN1d9eK7A1EqhczsPquSMdgCMEUYf2VEjBHKTgx34z7k8M0HGbmxUZW+nh1lL+vuNSBPSqD38DZINNf06FZMK605fhpM8brF7wKTHUIO1VoUtFfM/wlCUkMZdWMVO7zuT8dVulrBpiba9VrPfsX15mJrpjBB73/Di0+19wDbvdmXSm0SNV71LNO6n8NqHyB2cw/FqZNsUBsRWvnd77pxjh4CbE9uPf2CcVxN8kUhAkpYdVsfXxIE SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:Dl/YJ57OlTITTh2VA2BQX/CWyky2tJlEbzbITrheKl1oF4Rz+KMlS8lCDynSnbbZSnd9vk609SfZzlpZ3mrdSAwba1wrghjR9m1Uk/SzRn+ziwBL3YFd5xC+SO9nox3exGX+QyzEW8M8Koiw5vBU1b+UxWR1cn+4Z20L1qulQrU= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:04.4494 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ed9f0730-9358-410b-9f11-08d55ce1c2fc X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.91 Subject: [Qemu-devel] [PATCH v6 7/9] 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 4348b2c..2ed21ff 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1858,6 +1858,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) @@ -2975,24 +2992,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 Sat Oct 25 23:38:20 2025 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 15161085028931004.4727053734263; Tue, 16 Jan 2018 05:15:02 -0800 (PST) Received: from localhost ([::1]:35499 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR4w-0002DF-3q for importer@patchew.org; Tue, 16 Jan 2018 08:15:02 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55771) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvW-0002qI-0z for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:24 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvL-0006Wi-OJ for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:18 -0500 Received: from mail-ve1eur01on0091.outbound.protection.outlook.com ([104.47.1.91]:25568 helo=EUR01-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 1ebQvL-0006Va-Df; Tue, 16 Jan 2018 08:05:07 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:05 +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=yweBPoPlRT5aTsh7mBM8zgaTJK0ARCJAWHfb2gscz9U=; b=G5DtpG0ceUTDfzlN3lPsmt+IjY8NuRu+C2ILzpvRpsw1soA0gQ9WCIxPE20Z++eOQpjNLlr7rLvPwSyAmrNbFAghpgyeozU9oJeNp/ZTO54Zo462BCgznNZvDlbQf/2I62exYly2N8Hla/z9Rxh3IfXiyWm1CQu+y+Eih61HrQ0= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:29 +0300 Message-Id: <1516107870-8110-9-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 3367d490-f786-40f6-712c-08d55ce1c390 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:c5yh9qFEKwHI09AQS2wsXvzx/T77nIwd9iRpMFGIXrask/R8yFe4/JARUBTpd1pgcbinbh9xMD5ggD1t5sGyKPa86Kt63cC59eooZYXH1pdt3iAsHZCg5pxDMROBwltVtkAK9p3x+Q+Ba50JqbiTrg1rGlBist334iuXonJXHRdGMPUfiQWFFi+xmb9x7fKKuwBZqnn+k8/QT2QbXB8B81/459R7VrNueyfGSzJUaxcJKk/epL0xB9e6HmegEO4K; 25:e+lL624xplmxsxX1lzfn138lWg+RBzonSA3k86w8+xtuyYsy1plNtO0YOi3XQoOFiz/O5tUqjYRJGtCpfn7QJhPU+4sxRRzsdTbKIfdYnJCQ++MSGr5Fy+GMoC4P7nT0J1cArwyFXRQxai4hPyTywrlmrdK/kqqTx4UBA1TV5Y6x+mgMut1W1IHRkDtuLy7LaV9zo30CIzvwY+KZ3BQRKuogEM1VLx1f/gDtMud0GFexbzRas2+XvhbyZfTZiuLL0ckmoyrffg/YMdpyp8n1SMxZvFO1MdXvIyWFt6xuwtJv7i8Bj6mdZZ1h57gm9ZyLkt4EIP4W1UOyk+FaTrh6SQ==; 31:ldrQqzLLBiCMtRl8abAun6AQwwX5h2cyLox6RmkVkH+pwdPaVgTEqmzO8lwj3649MkNecymywDZQA81LQrMSylDMK68AkCeJMajxqGHrc4hCWvNNNtIN0X0d7Re/3aCWRBnJUzJzgn2Vb5Y4NnUas1yCbivp3wP0lRv8F/w+HEySupOLWNaaUGSL2ll5xVUAZI4fBqbdFE0PtXV5OXYa66BM91nqRFa8IEX+afftUFM= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:I62aG14DmSOPxur5TzHGRYjHgSII+XJXy31n8kyZUcmgWfCGzQA7lu07SON/xvmOinn2tuGtSKMBu/6qM69C9x/V6d2xC0HVQlwgfw+FsLRjtHTaDtFQp0PVIlVYF24tVx4K2N/VZKFML3uH+h8WUcouLXEa33+UZgffecbR+wQ6YivHWzuQy3vidTU2oV0IXHbQ8HzouPeoL9qOkyKG/eHZzMYnEW4PUeMGYn0NVtJujXKx9CPA5KfdowrLUZTIRVpbq14mpGRsSLJj19YcJJI225gvwFdk3NDfYhfT/tGddcVogRz61wkCqr4gapgIjmdJRh2tPZ3P/TP0I8Zm1NrHmh+vIMdVB7two0q4GnnWuErRoqnFvVPmDlcQeWLnz/0f7zHhAHnqLhLWAZ30J9mGRfreXpCmD+qh2ib65Cc=; 4:39hUfu3aCSucCqRqS59oCy4ejJv+tf18QiUPAJlGnpqhHy3/msdz2iNOKxtggareGJhYCNlot7Gcbs+QYXZDGDgH4pCxP+2iboutz2ARXUDGqwBOCKFjGcjnWdvhZsrHOJ2Dku77tvTxamTRfJBXEpU35UW08abMoFwZ332XZiMUiP6LD4sym0HEf/tmKcgpAzB3DSyZF2Gg21QyLCnDfN3jCy40WMTTPivnzEFPwGlV7itFSdYjqNW8o95KOdGBxLLy/GQfBneme6qkU5K8bg== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(59450400001)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(575784001)(107886003)(7736002)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:Cmbe2t/e13lOUZFL8R5F2NA378/r1pD8sMqoNyL?= =?us-ascii?Q?K831mrISyUFEZ/Zf8ejhCBO4Lq20SEktRIf0FNhyHYjaOd+/P1C8QtsgW374?= =?us-ascii?Q?dw0Z0CxwBERRnYT194MPKPfFwHFDJBhRDnQ0CbVzsBrZV7x0XTTigihvw9XJ?= =?us-ascii?Q?0f76bnx4B+9lrYVo+xy7PZvMVjq5T5aP40swRDr5T6UhLERirY7JnktE9x2Y?= =?us-ascii?Q?qnBtz9e3CNw7SKrqljtzuG/iX5ZE/Q8e9ekW9q9MyF3hybtisN58O0OailUH?= =?us-ascii?Q?dvdWrBcFnHG3uMQN+ET/vMwDEhC2CPb6HXcGn15SNtWOHLJI6CflkpmZBg7t?= =?us-ascii?Q?Yrxuzy3OMEg6uVJC3F6K6tA8a5iasn2AsrNdAS14tS/Ovv27hBR8PvVcrdkY?= =?us-ascii?Q?Y/iSOeIpMQ0mFZzRanB95RzsRDohBDMVVELZAkE3LOJAp40/EQ9Nihqiym8B?= =?us-ascii?Q?hxJz+c9F96ekuajTSecK/mmMxxFleeTFydormaJULZlZSdWyfRFivHyi9VNt?= =?us-ascii?Q?MsmnB3Pb4zHXhGzGO6Zwrm6kTFzchfedADcv40DrnK5mmvslj0DKzAOtz/1J?= =?us-ascii?Q?Q3eRAOWiSsywWWCNqSiVL87WUJ1gEimNUDHNjgw/np9FCyUCsaSncNZC/5fL?= =?us-ascii?Q?TlFQg4e9v8BjiYFiNz6xqdBP2Fbp6PQkq4DRaNqDo31H6e5jJQLLnzCgHU4+?= =?us-ascii?Q?JLqrskxS5ND7aUrnJd/FVnPF8ovmdby3eQvsMml5j91LcEj62d/Ox2vnRRWl?= =?us-ascii?Q?CQ5nxD6zPligSy9F8qFMmQgbGvpf3ny5wnHXfMkgTIOwnJUbnin0zMsKTMJI?= =?us-ascii?Q?RRxaGhLDocOo7XWvCXgbhT1JSckpv0yOqHVvK8mTbI7zbgs4ZgRJe6wrCTZO?= =?us-ascii?Q?TdrWe1RuCjrxTC6rzzue8f1wzaVWft9APEDZUIcMOQyk51Tge0PgC0o5KwX1?= =?us-ascii?Q?awO6pbZhpwPE9z/+3lvoS4o7uUhmvS/fIb7Ua1LwRK4x+KRZUE8GYaiaVmNv?= =?us-ascii?Q?hgR//nrs50QtWXvB+19uNgA8wd0AW9kC0fLZAJOirPGyE1SrjpQPycsVzh+b?= =?us-ascii?Q?Bfhv3knmpiYLUk+/avjGsbJcsy4DYv6i8f/uYnKQrcZ8JUqB8WR+KBPBxpwS?= =?us-ascii?Q?X6JnZKYCvsPOPVKfSoJvuHTntGLNYdJXMR5BvQcWXSDmCSlrmvCI3EAPkKIe?= =?us-ascii?Q?1xEtsjwp1hjZh8cOD77mx0A/7yEw/+xq0XXEicIxSVDq5BV1GLdmX/psUaRf?= =?us-ascii?Q?aL5kI8g78V2fzC1V43JQ=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:+J3fPoIvhYdl0gdj8ndEE74x3tfNsjltGF0O7ILFgMfhn9SM+yG4v1SE6EuF0ZvCj1ROu6tdG16S/b0dwvWtx4bs4gPz3n0Rdu9GUc5UWdNoF1D3fms5YjTE18z4t0cLzguNqxYgqiwUD10GwvLvgHbQ8aat6ATHe6MOw9jchGzBnHHOCjkrUi5XvYFpUFd7QT0AA0vs+H4HcMJ10n/tQ0Bn9icRQgfvsvowv+D+Pn7pQE6V9meKuS+Q/7v92cDeXwq19w+//BKqNhxneTu193MS6xRaAUoTOBLJg8oXlV1312F7nfmFxyxl7HMP36/AbgNomC4L14D5LLIIHgfhUIfj+T2fsgMtukVLascL5Ss=; 5:v4JzDF8nxZFixX5zRmXC7DUHCRP/KenKogqdXB78Xv3dv980GvKODjzvFyaA4MFQ3RcaMhRUr8ktPTwIFxVgLr/9yA/Wy3zetj3urRyb/6iBtA9+abiI87HYvankgxjt0C6/OQkqR2jhRBdoKQAJ19xHgWi9w7sGUoGaVjRn55A=; 24:daHMiFSgAPGzfPKBE6Au7jv3UMK13oAXwKwgGnlD1BcWTpYn7HOvINkjsvPKefPdaIASL6ifH6jnJ/npolhNL2FvN65bPGSqa5Slqkm2Hqo=; 7:Plg0l8IRrXv9NZJmB/nc5uzd1lRzC2BSqAH3hgxRy0WyzrEpI4fl5As6muQ+RTsyw6VCPmt11Yt+rt+UPDHeiJwa0amKnyNan76oq5zpA/Kbzxivw9UlrjlutqFlkg0xx6ECaERuS+aYTZ8XbdpM7QN0atxAIgR+6OKp3LRIbd3tKkSavjJalZ5PHUGGsvc9I2TUxYDlQHfqz6OlA4+NiMrUIhRmUAAF6+6ckMMvLSg2egOG3QHzgiDbFmt2z1m1 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:I7TNBXpB3K+C+GT8ym5xdVdzkNnnIgnoc4enAXF2aJ1GTVZHb/m85xG/3vN1HC3iUUqOlaiQiTJ+iRc+Tvs11cJvNeIpTiKU77HlsG2PffWpldC40wCEgE/lo+tj4FoKKGx/fxA7+7jr1ad40KNCAd0qgCl/fLiYijYRkUOTfeY= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:05.4182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 3367d490-f786-40f6-712c-08d55ce1c390 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.91 Subject: [Qemu-devel] [PATCH v6 8/9] 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 | 2 +- block/qcow2.c | 63 ++++++++++++++++++++++++++++++++++++++++++= ++-- 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, 75 insertions(+), 8 deletions(-) diff --git a/block/qcow2.h b/block/qcow2.h index 46c8cf4..e6e3a22 100644 --- a/block/qcow2.h +++ b/block/qcow2.h @@ -377,6 +377,12 @@ typedef struct QCowL2Meta Qcow2COWRegion cow_end; =20 /** + * Indicates that COW regions are already handled and do not require + * any more processing. + */ + bool skip_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 a3fec27..511ceb8 100644 --- a/block/qcow2-cluster.c +++ b/block/qcow2-cluster.c @@ -791,7 +791,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->skip_co= w) { return 0; } =20 diff --git a/block/qcow2.c b/block/qcow2.c index 2ed21ff..811adeb 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -1833,6 +1833,11 @@ static bool merge_cow(uint64_t offset, unsigned byte= s, continue; } =20 + /* If COW regions are handled already, skip this too */ + if (m->skip_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) { @@ -1875,6 +1880,53 @@ 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 (!is_zero(bs, m->offset + m->cow_start.offset, m->cow_start.nb_byte= s)) { + return false; + } + + if (!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->skip_cow =3D true; + } +} + static coroutine_fn int qcow2_co_pwritev(BlockDriverState *bs, uint64_t of= fset, uint64_t bytes, QEMUIOVector *qio= v, int flags) @@ -1957,24 +2009,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 14797dd..1d09bc0 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 c4cb7c6..7a0fbb8 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 Sat Oct 25 23:38:20 2025 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 1516108275471732.5167670400882; Tue, 16 Jan 2018 05:11:15 -0800 (PST) Received: from localhost ([::1]:35202 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebR1G-0007PS-K5 for importer@patchew.org; Tue, 16 Jan 2018 08:11:14 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55711) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ebQvS-0002lt-03 for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:18 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ebQvM-0006X4-9G for qemu-devel@nongnu.org; Tue, 16 Jan 2018 08:05:13 -0500 Received: from mail-ve1eur01on0091.outbound.protection.outlook.com ([104.47.1.91]:25568 helo=EUR01-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 1ebQvM-0006Va-1n; Tue, 16 Jan 2018 08:05:08 -0500 Received: from xantnef-ws.sw.ru (195.214.232.6) by VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.407.7; Tue, 16 Jan 2018 13:05:06 +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=HjX01YmYLXUz31rm7s9t4qiH9jvP19idWURzf5vA6F/OboavItHBQEwIztxFz3FMi2ADN0qQFcT9TRNRP49DwKqfIQ7e8ODKF/p8FKB67lEckfATcfoG3apx22v/Cbl5yzPnzoQsQXWw4oDpTNw7YYumbx52yOp5a0slwnOkgls= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=anton.nefedov@virtuozzo.com; From: Anton Nefedov To: qemu-devel@nongnu.org Date: Tue, 16 Jan 2018 16:04:30 +0300 Message-Id: <1516107870-8110-10-git-send-email-anton.nefedov@virtuozzo.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> References: <1516107870-8110-1-git-send-email-anton.nefedov@virtuozzo.com> MIME-Version: 1.0 X-Originating-IP: [195.214.232.6] X-ClientProxiedBy: HE1P190CA0006.EURP190.PROD.OUTLOOK.COM (2603:10a6:3:bc::16) To VI1PR0801MB2000.eurprd08.prod.outlook.com (2603:10a6:800:8a::21) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 37a17278-b19f-4f25-07fd-08d55ce1c429 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(4652020)(5600026)(4604075)(2017052603307)(7153060)(7193020); SRVR:VI1PR0801MB2000; X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 3:f2gYnQCCrFNa4CNztfqAbV9Zfe4zfRnuHMG0zS+lhj9G5puPt2hUmBopEuRSDQQDahhPbaBoYPhRRa+ju9WcM4bt/ynaoSx30CYRaHHW6NHnMZfXxNotRa0O884qcwvAiNvP9pG5LnCzM3/rBd7eHzwxC0yG+v2DHSW6xvYwGfOF5Br25+9GkO5fxXB3Pb1ZcIwwDeU3GJmA5ve78NPTIrNWi6xS3GaqyR9Ocrxmyh++e19X/owBQPQGpcHnGkQa; 25:kxtFK3N5vAJ0BDQQLwsFz5jSKiieWKoWQQyv/VKZFP2V1q0gP0YfGH6FbSYMQ5im4uGIEZ4e9Fsg1vx2ub7gIKsO7+GsfGLOB16pD1hiRydnKoibcOCITg31TBVgEA6foRz+3XaNwBSAi5drAw5W9EqiX9gSNvxKu71AC3YUWXnp3hCp9SnNQ7zq7LtmeQMZhC9Qpc3EldTyV3YWpHA74i7+lUobZv7vVgFXhZSejIGbkwNPirP3orE0fiq+pUOO81DPhgDyaf4dA29CClBCwpCdYF+QSJC563cWnxbhfCYCNOOllUzLDVJaBPuqo86yb4lbfRIlk5r8htXFO9tDKQ==; 31:J+Zp0VQRbwM7zZxRwRJiqigAf4/tZbqQ5uMHsXlMGOGzBcf8BB+sFjOCIRE8+EjEp3+IlmT3J5r8zt98hkkPULeXl0/l3leNUO/onQJ7dh/j0zw/5JVaato1NjL9VuYTBxF8X8wt/m5nTmfjEx7WmuJjgjaGKl1RPEaaE/Gl/FE5P0rjki710VrT4E7jNEVhGOs/EmYnHnuYA5vHyknnkB8RVmwt+ygZ7vRfaTwvO+0= X-MS-TrafficTypeDiagnostic: VI1PR0801MB2000: X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:sOkmzjg0Q9BKDTSWEyCXIVM77RjvwcF5KU+TNwTNuyEcXLb8a9Ng+vwl7fxhki7bdYmDhsEhwNLuk5W1scJy5bqE6mQYAvs5/aZT8GdVMgaHTKo7tEj5b2EugXsHb5zpBT53kt+SmD7YB8VZ49rdnUplSIUUeGvzic0zoDnvwWAXYvKDSI+W44ItHA1ibN6ySkPXldDFEBffV68ILfm18im5O31cyj57e6X5hb+tvi46jtyqlwJHiojApFflVGDBWBXJ/ehAlum+252pTGAZ75RekelX1/jX/Q2L6I1eg5VtaDFGIocD88s6iQBMcv44a8yzuY4rFDNSS/+wzS+GdPp1cfP8SlZrPqcBPZM7egA8iuaYJEVB4uUaeBrgyVYLaU7qHiTytof+rofywkyFxKBh6F96Jjc0kbCoy9msCRk=; 4:OAbY/gzLZuLqCarSPy9QiUgje66q+IbKRzOl3xNGmk7YnyP+aDf2y1uIuvNNQILvPQPLfJQ/ZBX/365xL6Hl/g2tTGSFC9/e5d4ShIr/zVdnIJ7lvex+VFTiF5Eh78U0dy9B7VwuJq7ImluWzgvWC9HoDqRSMo56x+4yu1ZMHesSECQflcTfQKJGitsKM0TXrEAUbi9GgRerpokZ5d2ZQC0EUGKfs+xHCv+fimpCrddrKK6TgNzbhgPREFj9AytqxxWxpHcoqeIWUe3SlMFj9w== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040470)(2401047)(5005006)(8121501046)(93006095)(93001095)(3002001)(3231023)(944501161)(10201501046)(6041268)(20161123564045)(20161123558120)(20161123560045)(20161123562045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(6072148)(201708071742011); SRVR:VI1PR0801MB2000; BCL:0; PCL:0; RULEID:(100000803101)(100110400095); SRVR:VI1PR0801MB2000; X-Forefront-PRVS: 0554B1F54F X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10019020)(346002)(396003)(366004)(39380400002)(376002)(39840400004)(189003)(199004)(105586002)(2906002)(48376002)(6916009)(2950100002)(5660300001)(53416004)(66066001)(6512007)(53936002)(26005)(50466002)(47776003)(16526018)(6666003)(2351001)(478600001)(36756003)(106356001)(2361001)(69596002)(51416003)(305945005)(68736007)(4326008)(8936002)(81166006)(386003)(52116002)(3846002)(25786009)(8676002)(81156014)(59450400001)(6486002)(50226002)(76176011)(6116002)(6506007)(97736004)(316002)(16586007)(86362001)(107886003)(7736002)(21314002); DIR:OUT; SFP:1102; SCL:1; SRVR:VI1PR0801MB2000; 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; VI1PR0801MB2000; 23:/p+7iCPAOKc57Fic7z0ThuL0IbZxBYZUKWe6jhF?= =?us-ascii?Q?wAJPkPHztb8X61G9AXGrLXW9vLh9fAMsS5tqUJfrJ/C/b/KHHjykvgUxEo/u?= =?us-ascii?Q?hUu/y86p9UcE8g3C8vBOC0d00waRL1H4JBK3mapbkYmlvr2genoVSnmNdq9z?= =?us-ascii?Q?Hf3XjKOP8QKGjmjZwVz/FEtGtUJ1Bxi6JALLDiBED+eOluK8sohX3DXQp39m?= =?us-ascii?Q?lyJelpT1rv+D5FRmYDAixs4OxRMUUEXgPKn9+2ROHGhxP07aLskCGHXsmjvp?= =?us-ascii?Q?hc6h2VGJgWFWm1GQbuk3Jxp4YuzBqio9YG3TUZ4nH3jAFUzg+gHECkUSbJAl?= =?us-ascii?Q?QWfbCf8O+A2TUXN+QsP5UNBeXhvd+FTo3cNINAAm0CCHqDV6bceoKuY5uLIb?= =?us-ascii?Q?lkOF7QnMilKYZ+TJPwhMdd3w6gPAsCQXiMMb5tHMRewddOGONwRvtzLOD/v8?= =?us-ascii?Q?dPhskkX7klci3+kstgthEYr6m0pwzTTOILVI7D416ku0zHnpLqkE1pVrsUI/?= =?us-ascii?Q?58zz+IkmUouGFWH1fy/dfaia34kR+00Rkr2QblwsOyfqu+kuL2s3qosX+3pi?= =?us-ascii?Q?CTZK6DqFvX7db8rxwy625rNVjKqPtjIVCIXu8s8kzpMDVEAYhvKvlKJAubNP?= =?us-ascii?Q?hxV6ABqIrfS8WQpSUikTaShWtoWFIZS+j0ZD69f0dWPtLVtit6TKYaCQB0pW?= =?us-ascii?Q?llJdnDLKIn+Ly/TJleLNrNHBSHwQSST+sPRs/8PN916TkW4z5gBIK7ZW8vq4?= =?us-ascii?Q?ARa/sZH+U/IdTgRlvKKxPn4A+x9T1Gwd072bAvEmFgr7NmGPn01T/s5q6rqI?= =?us-ascii?Q?5ealY8p0esEBsR4uK1I8gS2FuxBXNJYCB01q1IJec4z2I39TmidOLKUuCPef?= =?us-ascii?Q?7Y9DicXcHrikUpxesG1+m+jpWtEYfAfdYNZ0/DsUoy7xr0xpyk2jkmjJjGsf?= =?us-ascii?Q?ZxL7E5QfJoyL9L86+sNP42TUV/HEYNme4mQ5ZoP56fHQ4T4sUSiL2qsV8yc8?= =?us-ascii?Q?TOdkfBl6zQRBjxpJACuYU6tZEMBOjhmd/oTAynToAXNET8ljbp3ju7qZv1RP?= =?us-ascii?Q?pJwVFVcY2mevesKyYm8axSCHcYBGHYbKYbqd5Au/aoVdPMnEZGYTWKrg877Z?= =?us-ascii?Q?ttAjYXgzmibiWThWf2lz5olkBnVjX0Dj+a0EEh3ccda7EB4DG5a+C88Ob7V5?= =?us-ascii?Q?V9lCdaJdCwXWpYZSwSKmcvP9ez6Zqqy3fmXYlyryhY1VBQQt2wJNORZfxRg?= =?us-ascii?Q?=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 6:y/QJz+w1MBW1s2/G1MMvMOKP6QCK7Yi3PuvhzeNDMpLhoI0IIbKeiKl47pZeVva1WV00XIgGl98I8eroif1U+PingTZqxoAmBaHAwyoXP5JxA9CsSlYHOkgbwvXFIsSJVYASE6+6owRm+768uqmgG0cNx5iWz80xEkEG12W2dcqZNLsY0J0o5A9ypM0dDtWf+IriKMFHLkOLa09v8mu586cAWMyQaqcN3eTDEgPJ2UAltbnXJo9GXTSKTS/OyyyRDZmtOJMBqNpi/qqThmlaKLjHHLJih7KEkZBwxTgQiDm835jNSjeBU8Z04FKH+38lpdk+LzT4PIg01LuDQ9lOtCp9fCp/sSl0v9BHpzsZ26o=; 5:qedxOIZNjf3pQG/SKikjOAoabf8j7+3+sbjiddbNjJFPyvKeXfBubB8ab0zJNmTdOOpgLr4K0/eV39wQCJrfXl42wqoEHTbinVfomVZTv1cbn1hfwLdNyb6YMycgg0ADOq2aTAZWwB/SxTyTU4G90acEYevmXEy1TzJGOjuU97g=; 24:XpclGgve6WezYQky2CxRvPbvGBANkmdT43BMu1hZ0prb0WUFPnMShIpgQyU1F7mr0ZFrwlLyHr0owaIlb/1Zpohs7F21n1uN0zK/GGAMV3Y=; 7:UwonMi26G/ASmpzm+D14cgH+9pu7T2noc/SdsWmDTdfOg0w8kRLfysSdGb3+vTPGFZ3zbXfDfLf9K24fgU/0/eipAWeoK5ggC3LhiC/I74SFANE0o1DcZORMWhHAPti6xWwYuY1li65zGkvYF/W1H6i/zNOgsKBKJ6XD7OsRQtEvb78LnYDu3Z4yCrfvXT9A7yZcAwl5G9xWE9KqKtVm7AgRbM6jWNKE2eUyxUsjSVMm4uS3Go5fFDGvDYjkzYX3 SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; VI1PR0801MB2000; 20:OcprxaMiLKFLITRdcpi+3gTfg2JTg5sh3UOL8bmFPNzr5SOaNDF9Pw9on4ZUggi14/3F0Fd8uyGyqF4mHou0f0TJkJbsK2YZP8uJpu57ZHWDhKo/FgZzCczFnZY8bBVNuMR4Psgt3UfRxdCR75pOGKTicL8ZO25Pfa7ZfJM5DA8= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2018 13:05:06.4182 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 37a17278-b19f-4f25-07fd-08d55ce1c429 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0801MB2000 X-detected-operating-system: by eggs.gnu.org: Windows 7 or 8 [fuzzy] X-Received-From: 104.47.1.91 Subject: [Qemu-devel] [PATCH v6 9/9] 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 Reviewed-by: Eric Blake --- 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