From nobody Fri May 3 04:35:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660554653; cv=pass; d=zohomail.com; s=zohoarc; b=Ws087QPKIf5h7hZk7igb98SZ2JnIT0/7R2HkhlGUB6GatuMKFVQDjEL+yV2NDt1VffjGgn2PhWa5ghX4mT2n9G25XceTfWMNEPM51j5oyGZtdbeWMH5XtnakEiFrYwFtqVUXze72pO/zYkYpknoxS+3B4UI5ibyZRftl0sJho2A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660554653; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=uzBp86pgnhluBiYfAuHw1k1RqIxCKbpvxfJfiGG/aPg=; b=ezoyLiZLdNxi9U9W6iGX8tKPYyzpKhUzRjCMyJQXoR8aitp9eo2LSvoWjEXKE8XQtU0aafKp03v3Iei5PH344s/GwZsfsN26yVnewJnVHHPZrxWuWiMDpHd/qPwGGfy+x0hRe601crKkYRx6kX+HPj4gJR2f/rese4qj5L/S9oE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660554653936198.65133439935357; Mon, 15 Aug 2022 02:10:53 -0700 (PDT) Received: from localhost ([::1]:59374 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNW7X-0003cB-Or for importer2@patchew.org; Mon, 15 Aug 2022 05:10:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60752) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzd-0000R7-B8; Mon, 15 Aug 2022 05:02:41 -0400 Received: from mail-vi1eur05on2121.outbound.protection.outlook.com ([40.107.21.121]:60736 helo=EUR05-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzb-0000Mn-1f; Mon, 15 Aug 2022 05:02:41 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:25 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:25 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kA5ICAOC+LINjy/7zrKkFhN3eS5koW5rPYnVqhx4Z5/veFIZb1O+rQE44rS1KjvgDjm+RAuRTmKTmTDJvjNvjLDrJrXzDpa/JyFbquRL2JuuivYKSEQ/pK1uvhvsjb6mybxEmsGNiY3dLT6HrpENdvtIoa92sufIAp44XOssXD0qkWPJjXIWZiqvYLZIjWRBLfOF7uFlp4aoS3bVOrE/GsH/Axez1V49nXk9OLggUmOjU0vg+sTSYWVbd6z4/aMjsp8gIk7SklWdcsOMNm4N1eFCgh1rM7x7RbIblM7nrp1+9jZ/OMagAguVUA7LgkVJ3UaCXgf2pfI1CZmHkxOr6A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uzBp86pgnhluBiYfAuHw1k1RqIxCKbpvxfJfiGG/aPg=; b=Cylm8qkRgNH1ZURR5gJ9RCfi2UNiLFmpRrRYNMUVqnNunVV3YXCl5nhi5xDKJ30aVAB7RqYLF9t1efjXte6FvJeFD1N6biHmcH/uvgTwMWbSRcTr73AoU/TNC49TqdXElDG9Vy6l5fbMiYU1iCdHAU6BRdKPTEe4cYdUrru7ke1oqk/YfMiNyeWFjuXC9Img1wc+bzuE7G1zbYy57zNuBhcLsKDRoLBSjas2jt/o/xjod1D4BpEH9SirBuNgZyN5gGUXa/crbMwl7V+baEE5bhOQKLdcttzlqR63EHxgtrYa/TJdPPRR1sopOjqcr9bBMeRomvgG8mupBE7fnrCCrA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uzBp86pgnhluBiYfAuHw1k1RqIxCKbpvxfJfiGG/aPg=; b=r46k6+EF3snDXMICUHK1XAtT5CEywuNH4QK7WAusiMdwrCDEjm3K1qoiv8tdntDv5MXCEGK1M7mFy2zy6axC021bPMFztVjkep52JN4+QpTVWd4WbF8yM/1v3oaN5rWM6Q/H+GsuQDEvu0NZP3yEU1Dnaf0/3Wm5tRlwQwb03K0/KrM1DNl22g8NM2jldA39i6zmLyAKeMt5w+zFtR2N2I6fyvZgtF6pLai5uLL13a+27N+dS7f2E9O8DcJp1bPhmzrX0b+1ptMA/guCUScz+bkoxjj7t0VfEKR2BCjc6QV4w/UhZGtIfTSlZPpCt8nVtiESQcz2RRCTDTrBb7OFWQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 1/8] parallels: Out of image offset in BAT leads to image inflation Date: Mon, 15 Aug 2022 11:02:09 +0200 Message-Id: <20220815090216.1818622-2-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 0aaf1db9-e25a-4321-e162-08da7e9cdf7c X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: jiBUT8HEjaSBEuv86NeroyQ0gV78uj1XklfQLHYTZgzR5IxMOngsOWU1BKYzkfmZcgtgWq/3ta0/iJXqlxE0m1nORHSNESe+1AYg5YsAdxkhxUkAr194uThtXtxF9obQt71gBSKNy6Nds2vkvc0+ARYzvMHYw2m5DqqYJVuyCTwTBz/k7AyzhRjPWBeuy2zl0tYM7Ny0z57bvWra+1AAsr490UfyHbtav4A32lcLt7p8tVHDMfHshxVJ7n1Fj68y7dy+Bvy/adoIJICc0NB8ViNi1qEXmZ3GgdG+swNJ36+Lqt19YptPPNXHTkZomjwCHPCqW+OqZpfn/MxEoW+/VKiatN3jWan2BYcC/YuqIJTGtNsE+wKL+VKr56fdem69cuMdpWzWr5TgM8JgbD/xWI+RgZ4iarVD5yixDwCWmeeVOz1J14gV470xd0rW0K7AAtSHyJilsisIHgwYv7amOle019woYnwNrwb7enTT5ksqHBDaIEtWGb78+n0vRy2XMKe+gHghaTUoOn78L/3s3CtWgA1+ZkV/08tXeX98uxLCmn5NLr2qVzeBlz4HYFafy67Lq5ux8Mshnn0OPQJddtwJ7KSJ7AbvIpGJCxb70L+FIILPdriS3oUc65Tc3Mo3m4X/zp3vUNVOUbSb80eq77R6wq/Qzv3wuOpQD/5QSsxcvFJGUlQOeOJuhamWCh0tBo5pV+dZyJDUzJnMIlvS+BSm1Wemdg/R8Gt5g7OCbGbNSK52hw4EkMwZ693dp5/5HQI1EMAP7t9zIqEKmIKaOxeTB9ZKvbHG5HJDtx3KYMM0odtGlDlIY0/hZRsi6UCX X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?XC4mzc2PrK8vY8rJlTY/zUHRr2/++GKiGmPx3sikZ9tdfK0H3pmOypj7qH7m?= =?us-ascii?Q?Bqvlq0Y6JSEpb/eUySZsRMAz52qdM6Jp2ZJCpdROUHZO3MXEYgUXxNVPkynk?= =?us-ascii?Q?03bUZ+sG06LeK5ZpQTfE+kxDSGPKrVr2zBjKBjCmWGya3QM7l91TAa11Ifpz?= =?us-ascii?Q?GkngVtNPyKK53UZx98nGSQjIUbrfd7JVva1IXQVknQEcSn3FINi/dDxDJqea?= =?us-ascii?Q?1LphPHwlmw1ei+uJIHyKppNL6ILOzSJcCDEZbl6L8t+CHvEIBuo7PJOuHo0y?= =?us-ascii?Q?HE9+IfLei8dR0MCPpXGqAaOv0w7h5Jj9CHhsKIx62W8kmkTNzdRkE2MNG/Vc?= =?us-ascii?Q?KgqIUQHM6LgwpPaI+5SxgWjdvDAzp5d2Ta24Hme8TJZbYvI6Qth+l99JHsR2?= =?us-ascii?Q?Qo98CjPHAe36zoC9UqpZZizDhuSVc4k203wvA9vpo5UkrVPnj49fLxInGkDT?= =?us-ascii?Q?T2bKfe6o5YmWhl13b4FGH6Bikb+UCnG68T7YsiENxccFQ8Ftlwx/kNc1pYsk?= =?us-ascii?Q?JAlMDID+cF+Kz9eLTuuwJAOlNgvKrHhh6A21J2RhFg1UguEgIvRnT9AP0T4n?= =?us-ascii?Q?3HK94hrfeE/zFdX4q6QmgsYBGCBxcGkixzb1m+AeiRBNuJMDg5iRQuDnjJac?= =?us-ascii?Q?uIJPHeYe4d3bzqaNwUbwNyFiWvdBSjt04JcHMWsJTsRoutjdgoy8p+c5x9/E?= =?us-ascii?Q?T68SgJ9YDJMVwFsFaiyCqs8923ykytzDu5Gtu4tbQMiCiUDep3cyfACfrOrE?= =?us-ascii?Q?my+Vvz4Ii039B/afsXj8+kDDANhDo/2goxrITOcgsbvhy0zj2YyQMxXSohPO?= =?us-ascii?Q?wRyC8QaM+EcptBwPlvz5wrtbJVm4JNvJqiJ4sStEiJ5OsG8PUDJXANqspgrZ?= =?us-ascii?Q?q7Bj1dkRgf9wLJZinoOBQ9GS9OGnxIwo3NPzHuqK44LbeYaj4OKIcYfptWQQ?= =?us-ascii?Q?JvcnAknA8e249WMDmY4fXcUKbbW7jnNj/AA+iBZ4h6A5ez3pEyzkVQI8IYti?= =?us-ascii?Q?tjfjr6MBiOxuH/I3O3iwAX8cUQ3aewqAmQHAlkkQ39NK/KJdc4mHtDLKVtYm?= =?us-ascii?Q?jUNfDFdB4N3jlq9r0IV/HF/zEOSpB0S4LscYkkTljmLAKPs5LDUXNubXUfu+?= =?us-ascii?Q?HKlzI0bFAKDhceTNKyJoVoPyUPBfUuZJZRRbO7mWsWd/KE0NkLKcQOdNB3T+?= =?us-ascii?Q?jBM/LhwQk8uN2xuW4GH4jn//mJNcb8BISR+CeYm2anRNT6KsqWIiWxL+jPtw?= =?us-ascii?Q?f1ZNviGv6rDB0wnwRf1L28Qf/OGtqXGEB9SFATHmTvQwRF1QeSzAhLTRLVVH?= =?us-ascii?Q?BN2V6fQ6et0dMgcWSctW5oXXFw/QiELaW/bRDVm5BVApea54xUWNSm/V6t/q?= =?us-ascii?Q?mndF6JbNFqCgmOBzLoh6OewLFrjiyKMyIJZHGm9J8LDxkb90rzLQdM5bdrJl?= =?us-ascii?Q?I6zRU0xwMTR9oLuCP9lXW9s09onhzJNGhQUnCPdtq3SYZHyuL6yhkFI6i4B2?= =?us-ascii?Q?2Umxx8z4dm312maE425FvwletBWmeN6JHaVgrwlhoIQ6o4LO6ulycYJ9uoWq?= =?us-ascii?Q?Oa7EUCUHkpzu1ZFky8QFiZo+AgQwLjsgHnf8rKbAzK+ACZh824rJDE3zH5Fk?= =?us-ascii?Q?FXZ+9x6QJZXe0EB88XCb7U0=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0aaf1db9-e25a-4321-e162-08da7e9cdf7c X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:25.8291 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JcFcQmnW87LT2rpYDTYKRYrVvd3GhuYdiaLnqhQNBeUlmiH6bUO2CYrb5Bk9uYC8/XsPqLPiKxYYRHbO+ROW/xFmRGyCBQZelUfqGb1GjYM= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.21.121; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR05-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660554655509100001 Content-Type: text/plain; charset="utf-8" data_end field in BDRVParallelsState is set to the biggest offset present in BAT. If this offset is outside of the image, any further write will crea= te the cluster at this offset and/or the image will be truncated to this offset on close. This is definitely not correct and should be fixed. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- v2: No change. v3: Fix commit message. block/parallels.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/block/parallels.c b/block/parallels.c index a229c06f25..a76cf9d993 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -732,6 +732,7 @@ static int parallels_open(BlockDriverState *bs, QDict *= options, int flags, BDRVParallelsState *s =3D bs->opaque; ParallelsHeader ph; int ret, size, i; + int64_t file_size; QemuOpts *opts =3D NULL; Error *local_err =3D NULL; char *buf; @@ -811,6 +812,22 @@ static int parallels_open(BlockDriverState *bs, QDict = *options, int flags, } } =20 + file_size =3D bdrv_getlength(bs->file->bs); + if (file_size < 0) { + goto fail; + } + + file_size >>=3D BDRV_SECTOR_BITS; + if (s->data_end > file_size) { + if (flags & BDRV_O_CHECK) { + s->data_end =3D file_size; + } else { + error_setg(errp, "parallels: Offset in BAT is out of image"); + ret =3D -EINVAL; + goto fail; + } + } + if (le32_to_cpu(ph.inuse) =3D=3D HEADER_INUSE_MAGIC) { /* Image was not closed correctly. The check is mandatory */ s->header_unclean =3D true; --=20 2.34.1 From nobody Fri May 3 04:35:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660554653; cv=pass; d=zohomail.com; s=zohoarc; b=FD8sbp81+iao19OGPwph3vHGgUfKovCJFVzXcitvojpINKB5S+WkJcqAE0qk1GKb+hDvcgGfxOrz9Kfkt19a3JFSqUcIeekb3OFMlOwRO6hHViXHqRNHZs6E+yQXu1uOwfqOIFQ3jPbPb9v1SzDxELFLsTKc/9iWA3h3xMetXgE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660554653; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=ifWQhL0I51wkH60Z9MI61nRIr0HO3hO6Esfz20/8DDc=; b=PJC6wfo71hTd4G0QrCodvCqZe6WdYqhLooTTG+ACUPUdEmVYdL+d9XaBcMGdomoxttVwOKNo/dfK0Ou/RRRhsXim5SuAAQEML+piwr9ofUq23+UF22S987inQaym+v8ywxmt4tVisRpzX6hWS5IoHUJJdHsv1s46QujJmSlVgiM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660554652999686.4335152735517; Mon, 15 Aug 2022 02:10:52 -0700 (PDT) Received: from localhost ([::1]:59352 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNW7W-0003bG-Su for importer2@patchew.org; Mon, 15 Aug 2022 05:10:50 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60690) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVza-0000QQ-DC; Mon, 15 Aug 2022 05:02:39 -0400 Received: from mail-dbaeur03on2099.outbound.protection.outlook.com ([40.107.104.99]:8993 helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzW-0000MA-1S; Mon, 15 Aug 2022 05:02:35 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:26 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:26 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hP15FnWdfKxD7I2lZcWxgDJKcYslkhWApnHz1+MGSgM79TN6MpC0kkli5Uva1YMm8I4p6tVeU+bassHa+c5S256B6EHPcNzyCyTkO4ITkr0nDFhrg/hkSOXkmbEzx56bCMkOOj8SZee+4ihyTw1zSjCRi+J/79I4uYYt6sKqyY+F6TO0Ui30/wMCG/txWp+dKDziI2eaW+psPrDcvUnXso/3eCafygXYOQTqcoUGumJFTJ0tyv776lwFZVzgLlo0iC/HzLhoxQVrS2W9g0rwn2AVEN3Dz1ALMg2VPTlhXBtmPweHRJK8tdpA93e6C1IdgwRcsadiMTCGa9zA+gZ3Ow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=ifWQhL0I51wkH60Z9MI61nRIr0HO3hO6Esfz20/8DDc=; b=mPnh4COIdYpoUTgNiCSODoMOmmdugaLlfY9QgKgVM2Kqmpz/+qxp07nZdKcvFlKO4s+d4o54uG7XWHSmiXnlXW5wPnvCO00/nLdCGBNdPnej709f4S33mdeGuBYaCwkqSvEZ5bsoLhi1ImSgMCKSrQwkmDhPMFsQ9pM8C1zKfT7TUQqVt2whxXWt5DPzMK26UKRRw/r6IPctc3+UdPQzDK7t9HVrUtyuqBNwelSXltVUlQzSQo3y4TPEjCQiN8wl7fryqrJSBosQHlJ3clhNjKGrUfDRZRH29RW19PlkN/xn+yVgokDkgB329hyW4gFRiRZQfBJQj2hgOPiId5CLJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ifWQhL0I51wkH60Z9MI61nRIr0HO3hO6Esfz20/8DDc=; b=lNIZ3VlrGX+k2R8SqCei4JK2H5Kxc9/N26+LfMZRKgvHpiiHF3EHtY+/kCCAO72fihdvdxSeHPqDgHjaYYmZcvixnz7d8chA78HoV5isKIC7NoRQ6LZ8sbpfuStCGoc3uCokENN29yvgPsZ4Y2poo6dehlN6Hp+nRrke+23/6nWEciKulQCVgOCtR+42Z7MQG4XzUCQ8QStNNUi8CBk6L29t+A5M+MllEsV65OexjsT+tIV9OhpLMufaH37aukA3GvDe+mzB+XyNCL3HsPHwa8yy8lmG3IVKsHcvz80AmPAmdF0Y66HeVmloCm0G0+H7fx2O//B9kRTyxr6bE5u4ZA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 2/8] parallels: create parallels_set_bat_entry_helper() to assign BAT value Date: Mon, 15 Aug 2022 11:02:10 +0200 Message-Id: <20220815090216.1818622-3-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c6b38640-fc2a-41df-e821-08da7e9ce006 X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ue4PcNml4s5Oo2NnEVkssBBUMSsoEj0kgvDOIVG2SjgbwsFiaWBT5L6IdLZmC0tp4HvXP+z8565/CgxsdugZdpR4YVHtpOJHHQdpsgbweR0BEm5M6H4c5DqFDhFtZArWUjfIUXgcvuUX6bqVEOFxSxIfZ3MqiTuX+VZCWFE44kRdIl13Rd9ldBu0krT4AQnnwVIc6PlnyViCSoo8fHv0MhmSlLLvFjRSnyqKT/US8S9BpUZEXrxGX3lY7JEUgA7ZJXzHJtY6W/XlxHRqyNRECTOhrucymBLK1oBNVYPbCrF2RmuDpfmL8EYp76f9owdruYQ1HcmrDPddUk5jiTaVctmysoeTjllNZD02GseUD7b2dDjG5raWuQ5qT7vWRr5IKYlnn1F23s+mggd7BhHPxTgC35ViT4JXIgRMAAOY/mv6YYUEcUOorMTwb6C5zOqLcqiqC2a54Kyep5okRuJqbJvQ64uYXOt4N6WxoZw/BCi7r3aYc3q0TzlyRqjk6TDlzw6Z5CYZlLQrNjFABulmJRP6DdncHYpsvxUSP8r9Y2/STLOuOM45zU4kto7eAUIcZJDydQh+6E+m5z062RnBLNkyUFq2/5VXG+1CQo4LMvrFsniBjqAj8p1zkaURWWB25ERpzS7FkmghdotLVVXUCrPL31wEDc+M0LzRVjtxveC4/mRX5z5p66jgYW6dMx4O0kxlHp81YaKnjRLJw4SkrKN7ztJA8GZuqDSbUYjaYtQ1EZso9Ti0zXqJ1L9KlPzIa7JFBmQypUs0uTC1sq/L2oNa2DcB8fx5eNK2VPYuemI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?NXicYe7VW6nhhA2GUy4CP3xSlWqO1VbcbU3GqpoWilLBVDEGcD5mCaTlhKL9?= =?us-ascii?Q?PUy0efjWOCbPI4tceTaIyS74wSzqpoLIR9Fkx5PsYR1bGFAOR/EHC1o2+f7L?= =?us-ascii?Q?1Yy19PoOYdkRZYwgxs6wwTKGEZGG2Zzo+jPjA/7i59YuW81XFEMa8h15c/oj?= =?us-ascii?Q?3rluf+CbP5rAijKQxKH1eA7YEZi4bR5gdEwLMiOyMWqswNtGbLGDRrJFUgfx?= =?us-ascii?Q?L5GG9g5hmcp8V7hanWGKZxkuatZ5TRVybIf3OmTJ85AHKpQqA3O8QMrwFrbF?= =?us-ascii?Q?V2uT2t9GpZ+BkTrxci4Ai6/pR661zmitDoOrvqxjYbziOFeITi6qvYHhkWrc?= =?us-ascii?Q?Dr2KEW5U0cDyj6txhZH0iMtLQdkdXy7EijqoQiVYtvVI+8iog5nD7k54iESB?= =?us-ascii?Q?fKVr6NPdyKs2jhLI5fDQWze9U7Gl2BmelWBseIcgjJNgJ3pQpw7Il3CXSnCV?= =?us-ascii?Q?2u5VyynnYvT8xoD3N4WLYGr2WFtjcqFdS10bZKGIg0ThB7G9wrf3ajKBeqKI?= =?us-ascii?Q?CTinz6BbDx78acqtMIxXuj1UfoLJMVq9APSBqzRAy1wEoHmGnCqcZKXOEGSq?= =?us-ascii?Q?qcz15bBN9B2N4iRAu3OfOc3NdQZ+290RmsvugrIpOFiGnf+eO3nkkPEYLHVX?= =?us-ascii?Q?ZwQQlb1YUdkr6jwnEXAeGZFaxZY/rziNK1YHtKPA339v7L6amhtBDQ5PUmAW?= =?us-ascii?Q?Wdz1MM0jD0lYbChwcRzm27pM1IFnz6t1UEmF11RJgL9SvV53YJBsvzqZXq1t?= =?us-ascii?Q?aym2kg0KCZK7c9tWsNFPTceyB0mqxiIZ7PiVB1zbznHEILOorFQfHVSH2GwB?= =?us-ascii?Q?GNmgfzxTNTQrkiC7U3ZUBXdXSi+sszHz4Qtbnopls0IxrJpYqGZ6jkzW9/k6?= =?us-ascii?Q?vQh7tUcTI4kBbqyOTjBh/y1S3G9sosp8dUe6k2itKa2u/9OTKcnXGlsymBjz?= =?us-ascii?Q?jRVVVjLKogXHTC8GX0YhHzY+PDB5Y+ZjO5HkPEG8skgFKj9yvPn1lUBn0d+i?= =?us-ascii?Q?uGUm7ef9entPY5uGKPbmJATPZca+Q4YWqbuypgKaW/BDMCtT0IVQaPyhhPS3?= =?us-ascii?Q?v8j/3zjfSoXDOC12kv9ZEftpNZVYx0iu/Fp7wMhSTBej1odCcZvdh+mj1Qmu?= =?us-ascii?Q?60LKRBosvzZ7p1LxZUlCUO1wAGisBSjKTP2X8tbPQ/vHXbeVuJxaRU4FGKRX?= =?us-ascii?Q?gD37/aNY2W+IeNL/gPxsreD6Ti/BGj9/PlCW/7EFXqgejeBs74aWIuXQkcnB?= =?us-ascii?Q?tmOLX/KOzkWdEIB4zM4i9cyexMwxM03DY7GxZyEpOvUtIP99Rmgco5MwJPQN?= =?us-ascii?Q?eeVeqZQ86LhWe8D4RfXBsGplBTFpzktChh3kEWdmue+FDn60H8x5W8tSPO3V?= =?us-ascii?Q?+klTFLJ4xe0pEd306ZCE63igeKiK6G5LwWvrJLgMcA7elR25mak0/BGuKzRq?= =?us-ascii?Q?4GYkC1E3Thhsz8/hOUZ+vwry2U3ATf0Tkg8+WSkvQCtxkX+4TanIMiO3kk+v?= =?us-ascii?Q?OvolY75FVkdO2DlPMTy6vCI7PXxVP/SZgIheG98Byd6GRJAy+pdcBaAAOkuA?= =?us-ascii?Q?zpaZ7KItLuv4ufDQxBEE79wEmVKwDQ5fibirPSi9N3/QOEfFzJW5mRbPth+H?= =?us-ascii?Q?34xShdnwBj8qx5OCLxFeoA4=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: c6b38640-fc2a-41df-e821-08da7e9ce006 X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:26.6143 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: AEruLovZ8zs7v1yv8sA21D1os6ZQvNcain2pva5Dzh0CDGtIiEgHp8qhSQwofYaW9Y/GTTcY06+mT3dTSW15wdcglS4sLH1MzK+5Z/BwiqQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.104.99; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660554655591100004 Content-Type: text/plain; charset="utf-8" This helper will be reused in next patches during parallels_co_check rework to simplify its code. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- v2: A new patch - a part of a splitted patch. v3: Fix commit message. block/parallels.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index a76cf9d993..7f68f3cbc9 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -165,6 +165,13 @@ static int64_t block_status(BDRVParallelsState *s, int= 64_t sector_num, return start_off; } =20 +static void parallels_set_bat_entry(BDRVParallelsState *s, + uint32_t index, uint32_t offset) +{ + s->bat_bitmap[index] =3D offset; + bitmap_set(s->bat_dirty_bmap, bat_entry_off(index) / s->bat_dirty_bloc= k, 1); +} + static int64_t allocate_clusters(BlockDriverState *bs, int64_t sector_num, int nb_sectors, int *pnum) { @@ -250,10 +257,9 @@ static int64_t allocate_clusters(BlockDriverState *bs,= int64_t sector_num, } =20 for (i =3D 0; i < to_allocate; i++) { - s->bat_bitmap[idx + i] =3D cpu_to_le32(s->data_end / s->off_multip= lier); + parallels_set_bat_entry(s, idx + i, + cpu_to_le32(s->data_end / s->off_multiplie= r)); s->data_end +=3D s->tracks; - bitmap_set(s->bat_dirty_bmap, - bat_entry_off(idx + i) / s->bat_dirty_block, 1); } =20 return bat2sect(s, idx) + sector_num % s->tracks; --=20 2.34.1 From nobody Fri May 3 04:35:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660555064; cv=pass; d=zohomail.com; s=zohoarc; b=W4wOGHnq2KphH17f9W2vTHMtHBelqTLB7yC5OJBTg4Tso+me1e1UAYwD1CXFuwnELZZjUJFbKq1hWPZgej8xKuj9s2PsXKk0Mv7xhOLdUJxrD7kJQYl2Fgf2IYawguJXIaBR/GaJm66LPL4TdP32yqYnl6SuV+NwUPlZ+vmmQoI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660555064; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=xFwyXlkdf5j9f0kc3Xx3zZffRz32mQ57UskGPkaHJQ0=; b=P0GFk4oxZB+2sp3HAZLDxa/feSHzQXUYduWbr4LDh5TZXp8LJNUyeI/jEExY+uAmPiv0TnsR8qzhjW+g7OQaObRLP0TE9aQVNoSJGENtpzSPCreVri718GD2USr0oCdW1OdCUZIbPf/IFERzqwWZ+coBQnBdR7w68itb9e8ZfeY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660555064198578.6349791776388; Mon, 15 Aug 2022 02:17:44 -0700 (PDT) Received: from localhost ([::1]:39558 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWE9-0000wF-1U for importer2@patchew.org; Mon, 15 Aug 2022 05:17:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60750) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzd-0000R2-Bs; Mon, 15 Aug 2022 05:02:41 -0400 Received: from mail-dbaeur03on2099.outbound.protection.outlook.com ([40.107.104.99]:8993 helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVza-0000MA-VO; Mon, 15 Aug 2022 05:02:40 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:27 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:27 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nglJaJ5ROMd3Py/GM7zki0hyNlto8USuafJv6vttC5FX9o4KUj+lpzI8kA2J78iy3dS0ZzIAKpQ+R1TcL2in0F5FraIDVDScjqSg9QVx4aopDeVbfiPJq0cAg2OtWSD2mAD+dT9ln9x+6GvzGPIy1BnRXWTeJmwPczJiAjN7sVXYFOhbN/9qGATic34nc9KGt9mjlqxyw8P4M7api7CCZJ09W4WlOcH0wQ8BsOnsx+5xa4PZtgIk4X86XrSXeSlLZCMfwS9ePX6dsmPdlez4F2Y0DG47SxEBiBzFcyg9isGnxlaBeFNnilEMn8lbO7cPwKQ40vFjrSMsYIXCphhTKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=xFwyXlkdf5j9f0kc3Xx3zZffRz32mQ57UskGPkaHJQ0=; b=QvxahAzfSK0KDMRgJDj7auSP3Dlki2DPrLXhW89ysh9mWphvrXy9YFAkftWuO9X3c7doVqaKhw2dvXnJrjLMxRLyECVLsXGYWjOab5GMrY4t+nUskrgmqMmOqZbeEazZJGzP3i3JeDUBVmx1gEwVo/sJ9OjquFIPEDJRqoul1u0izmoR5TpF2GE5TDPPvDC+0aKQDyboPlWLbUeWGbpiJ+/LZANaui8Jc64XgSOyZmftle2Ur8JIsis6AvoqQ6NIoxoi1RUdZCMFc7oIkMiYy3SHj22Wts8NtWwe+AZQgzTgRAn+KAbtgJ0N/pvppg204Npx0lb1rspK617+fR29Mw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xFwyXlkdf5j9f0kc3Xx3zZffRz32mQ57UskGPkaHJQ0=; b=kSOYwNTvSmVJ5wdwDDH0HxHwjIrb20xYeWcVjmfFCQQowKcF+LqOYa6XurKm4KYPzqOshdUgM8iXHU7k6+P+q15h+9e5vtIkBlIHDW94o802bZs30YbXC/Zw0HueCwN+8MfLdNTA5jDmQQU05vawFUarvdTwNwfUkmEogJPoMGa4sAqBpwPe6YNtaVCeE7pCoiXZHvSkJmvnrfBDVLesXQ7TgJVrNXdQgPcBrult9RQjpjhpz5Im50XmaKHEIzQL40DZG2I4MxAXglb1cF/+9NreNIxroNIxe9YiKCPUJwKz7RgSLmpB97uWjj8DUvO0UIrGb72lqCbo8mTDHa9CCw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 3/8] parallels: Use generic infrastructure for BAT writing in parallels_co_check() Date: Mon, 15 Aug 2022 11:02:11 +0200 Message-Id: <20220815090216.1818622-4-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8e11228c-e674-4599-f858-08da7e9ce0a1 X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: D3U1u2chH94rQ/w8G91S+S0mB+dkU3MnOA5/Esnzf9gzLR6q3EaquDN3LR7fuXhYOlxMnG5mOSJs2pxxkVDz60PQJYDZSJZyBAXQj4nc21iORWcMVyzHTSvdVrPNezBpMAyYtpEv5HMzCFn9zAR59fnPDyZ1/+ItFAOt06t64NEIq/zQRNBgOtakgsukjifXNRkb0vHK5MSmSlaT5/rjYQ3HDA2toSYaNZaVENf6AJBmmV5/1t2/nohGQUg5z/Wu2nRpVQKDlC+3UIbAHfM151V4BtquyavkDoM+R51lVOU/3SvmgrlOfzLCjzupYSyQAR9Iq6vpSOaTsCZVDhMoNCNG57fU5Gw7VFzs0QZs+YlHjBBhyVdRJ++5/g0tbppki0TPHyzHZY2pI3aCIs4vojnpyQUrb6HjdP+sVgwQxdkavrsSCHoxvHsxcFNHn1wEDTlbA0aIl8B2XafmO4uEDOBcp88bNAsxljW93dWCLZDT9Gb5Fwi8Xb9b34RwM9deiRjDywghWDlXiyYAJoZT/E9rF+t9JAEjPa9XRawrmCF0MAPHKlKPQ599WI7toW4ZqsU79O/VjGEkJhBRdRBxCx0RtjEU84F+mkv7RE1PF3vFaY4Roa8vG89BaFSWf7+LkWJTduaP5gXG/3HA9KKSqpqYKzYzem3Dqmb4HpYre6AlaRZC4kQK35LlT9awyItqprACBeEegdbvVsFr3fjoQa1UEDRK+SlJYM08GoUeJGQeF4n2/Rqsw8YjDAE72ojLVISrHCWHe0qa5GOwtsVCN6y+hgSAlE+QLrOor04d54zbkNunf32PZlPqGToEsmBKLwSv9/7F8xNXEB0Ce55TYg== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002)(41533002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lORbpRGhCkm+v5j1xtkgNwJz9XPHJGR9M7PAnr3PifaHV7Po4qt+CFWG9uWZ?= =?us-ascii?Q?VjVSNBsfntvwdUsNTy33LIXD+f/WYDmuT4R+hErnqSqN9/Njw15s2Rr6/XWF?= =?us-ascii?Q?Q5UkVy0m1YT1Q3xPwi27PiSA/QqKZX+T8Wef1BWmH96runOwniTvKLnzfo3D?= =?us-ascii?Q?WYJarMI98gw/9IndaEPGwOKUn9Sy5tmJc9szZQm9bswd6MQ6Zz3AviIMSPff?= =?us-ascii?Q?tRLAxJm7WpRSTMsZ97MxFP6TeiCIPoWS6Uw8SW++LG/he+fIQyS1lccFqWks?= =?us-ascii?Q?G/CxaxW5nDrrSO8sZ3qGxX9YauKbL9yWsgcWlzpX0gg9IfeH0bORtR2i2GfL?= =?us-ascii?Q?XJtQ62i7CEI0nunurH9ZiSjkrQnznYKOp9llM+E4nFbHL2HQYikivOl0MKfS?= =?us-ascii?Q?dzI59O5eyGd/ydtFgFEU6WVK4B1xzit7efa37AqbuzE6HISnNE3CCl6Svzij?= =?us-ascii?Q?mHdSCvznA/a/YV+c6Mvc57ATZU/5IS9z39dNoYPjqxFU8cAGMmWW28u7CmjQ?= =?us-ascii?Q?9Li6BnnorSm5BNBzZLqoUQkO3nqlwzSdF2tQ2U8oxVHtFwr4mKImjvtfL8j8?= =?us-ascii?Q?kR2tSCrnAvH9xGpR9lVntVvkpEnlHgERSqLh/4W4/pCyyxEFG1VThwUvZEef?= =?us-ascii?Q?8FJf9oou63oLxM55Y0EdJrOjRGYEZdhd10sxOgAp7QjHaqoGKHvAmkdLo2Qo?= =?us-ascii?Q?onsZce+7bpN3AL2jkSVfhjluE7tuJKZmqPjG9vOK6LNG/kgJ8il4AyIDywRQ?= =?us-ascii?Q?z0E9clWoplZgH86wPVsI4qffonl/fC+qqnYXeB7r2Vk9Ust+VpB8E8C1UzkI?= =?us-ascii?Q?p7NZVFC+NMc9voC+iuy16fA9nt+mHR0YHEVnHaTfbNAKddd1z7w4Zab4H2Q9?= =?us-ascii?Q?Yvb2y84GZX3Mq06z9uFtsvX6DQAv6o7yb8/bwzZtQm4nLshKK/j22tSck9cB?= =?us-ascii?Q?R5c4I+EYjB5D3ZVBGrllv+VYgr1X3WahGH1JVTPYSv3CblsAhz8wwOkLtPVD?= =?us-ascii?Q?23tNOddiWjSRPJrfEZ84c+ut8eTS5CHEeGJg0z5XyeiBTAVE/Nq6B9ALElAS?= =?us-ascii?Q?Etdq1Csq6GXNOg55qKIQskcGvguBMI8llQqbVg8rUc4vcd7RrPzZLO6cydL+?= =?us-ascii?Q?2M4GMZG68/MfhmiD0VkBo5H0JYEiSFvNn1TzBCkR4OCDRkmOP66vL/jQtkWB?= =?us-ascii?Q?lh5JMTBpMYLmnMeWnq/LWIAnH3XGbVtz+DLJdzhbzPOmjEsYcP23KwONViW8?= =?us-ascii?Q?pacnEJ2l73yk80GhlxxJhRBrtgWuQQTyrmzORundnj3siyamWYvBKYYMzBkB?= =?us-ascii?Q?FMC0LoC4nDDo4ol0qOBKg4vQjf74cwSbOl7/MC+uG7JwR+v9SH4sZzxczQSt?= =?us-ascii?Q?mETDxq4BUQojbhI5qKf89frnnIQxWnWDLIKth7LoFBHigz5lqV2on9cIaDRa?= =?us-ascii?Q?xlN6FhMSq7VhaRFk6Hn+pZFYtIfMwCd9TeuPCzlkKsBBPZFg2MRkcxJG9FRb?= =?us-ascii?Q?AaNsW2RG7Ptb7mYTerGh3fB9coCpYXnueqQbnFd0HsIy/UGASbQu+tfOPys1?= =?us-ascii?Q?TYmau9thpxLSaSMG2OtHDLsO8LfZ0HjPUerwFwlBJeuFFU8E4Sr1mo6Cf4uP?= =?us-ascii?Q?Of4gM3ZTHiLI8NrO/E3sznw=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e11228c-e674-4599-f858-08da7e9ce0a1 X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:27.6305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: NSOPH7dy0bKi0x7jPgK1BQMQSLT4Y0Z1N599hhdADXfyNcdghikyZVMGdtrKaBI19L/xKBPC/GEUlIPT1nYAu8O+khIgj3fzWS6ogjxF8IA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.104.99; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660555065049100003 Content-Type: text/plain; charset="utf-8" BAT is written in the context of conventional operations over the image inside bdrv_co_flush() when it calls parallels_co_flush_to_os() callback. Thus we should not modify BAT array directly, but call parallels_set_bat_entry() helper and bdrv_co_flush() further on. After that there is no need to manually write BAT and track its modification. This makes code more generic and allows to split parallels_set_bat_entry() for independent pieces. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- v2: Patch order was changed so the replacement is done in parallels_co_chec= k. Now we use a helper to set BAT entry and mark the block dirty. v3: Fix commit message. block/parallels.c | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 7f68f3cbc9..6879ea4597 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -428,7 +428,6 @@ static int coroutine_fn parallels_co_check(BlockDriverS= tate *bs, int64_t size, prev_off, high_off; int ret; uint32_t i; - bool flush_bat =3D false; =20 size =3D bdrv_getlength(bs->file->bs); if (size < 0) { @@ -467,9 +466,8 @@ static int coroutine_fn parallels_co_check(BlockDriverS= tate *bs, res->corruptions++; if (fix & BDRV_FIX_ERRORS) { prev_off =3D 0; - s->bat_bitmap[i] =3D 0; + parallels_set_bat_entry(s, i, 0); res->corruptions_fixed++; - flush_bat =3D true; continue; } } @@ -485,15 +483,6 @@ static int coroutine_fn parallels_co_check(BlockDriver= State *bs, prev_off =3D off; } =20 - ret =3D 0; - if (flush_bat) { - ret =3D bdrv_co_pwrite_sync(bs->file, 0, s->header_size, s->header= , 0); - if (ret < 0) { - res->check_errors++; - goto out; - } - } - res->image_end_offset =3D high_off + s->cluster_size; if (size > res->image_end_offset) { int64_t count; @@ -522,6 +511,12 @@ static int coroutine_fn parallels_co_check(BlockDriver= State *bs, =20 out: qemu_co_mutex_unlock(&s->lock); + + ret =3D bdrv_co_flush(bs); + if (ret < 0) { + res->check_errors++; + } + return ret; } =20 --=20 2.34.1 From nobody Fri May 3 04:35:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660555064; cv=pass; d=zohomail.com; s=zohoarc; b=bdNzLkI8OLDIRAhN8l+0xVzo+m0D5/s9Xl2Pjmhi0RBmIVMID0dIdfh0qTRLIEbKhhlsytzSsQf9o+juaRSuTWyEi2br+iYC+e7J4YPx8d0h33FxyDonfiJZc0GD4FKbouUGj3yzXfwT1qpa+MxpSLWDCOF8q6iVu2glZ2ayR3s= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660555064; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=JgvfI3PPVxfxVKKDZW0ldeBUcwKVgqJ627wnjdmGPZ4=; b=jS1tPWXi9QyszrDnF/CI+l4wg+1L3vcnrKSnd6TsFh4LrQXuICb0efaQsw1Zy+DQvanak1ppW7kD+/kM2ERuUJIqXtNpMxPOBLV1eQzSUFL2ldPgVh2Rso59r8L7+lV8HzhQKaz2iMzqLJUYmW9Usr9aRWyTXfnpnrwKBG/Z5cA= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660555064886420.42770665723253; Mon, 15 Aug 2022 02:17:44 -0700 (PDT) Received: from localhost ([::1]:39692 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWEB-00011d-Pg for importer2@patchew.org; Mon, 15 Aug 2022 05:17:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60782) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzf-0000VO-G7; Mon, 15 Aug 2022 05:02:43 -0400 Received: from mail-dbaeur03on2099.outbound.protection.outlook.com ([40.107.104.99]:8993 helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzd-0000MA-U9; Mon, 15 Aug 2022 05:02:43 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:28 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:28 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pndkdz8//oRyPVWJ6Q0CeHtaDk37kEZyZbotZCaKtnGYpBgZPZ1nhTXuXglIq9I1obA791boh+MuAYbjhSLg3gf4RK+VWAFS8rHpTS8DZw+lzx2om/fZXKddv0PsIqpLcwBk7Nl3LpvEfYHtCoEh6tsh0ofz7hfTMRbT3kIq8S+MLAg/HhovOo1DDAVxQApGDpIQCCz5xVjoAjJdD6+e6mF3fsV8zF5AGbYVwdbc3Np0Uo8HDrfY6eMEmoqC15oBxIFIJEYzwGzMBh8McnxfB4aHoNaxd8Q2TtMq3VB7TfaiCuBC0TZz5rOfR4Gn3+bnEM5JOj142T2HfoD5ecDcSw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=JgvfI3PPVxfxVKKDZW0ldeBUcwKVgqJ627wnjdmGPZ4=; b=Mf/VtzoYDePA5plzDG8ot6NRYmCORcIPTDnvT5ylWiMjiBgDwm3SJ6ybl/5cYMYibGCg/Pd9Cm+r6pqQfq/iT1jkHYJoZPSiCP98Q6NRzDtsclG+cguW2J4jFiXpoY6PAkBldmOdsyMTNe+W8y+FE+pzg+39aXT92cIv31CAlL69k1oI7l6R9xWjJtb9X1eeRpg/rRmVgW99oJrjYi62RfC101Q5Q9z1nDlRoLNlaXZAkn0FNmhKKk/fakxH2NEBzob/U7OXG8CJmITSOjfNp6hbfTnjdFrYqLvbcNH5U3P28B06eGS9Ilgw66AHTqnVrAvbiLuWkQb6ERi0uacsVg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JgvfI3PPVxfxVKKDZW0ldeBUcwKVgqJ627wnjdmGPZ4=; b=zygJH7jfJFypHAMZs+ggNgn+UrSVzv5TKOzXhZUXu4tLjG/sMhdcUoTIrDEv2AzPkhlQ+EQV34p49W25e1Bjw+JK04VVFA1RFHBHrvburF5McNBOsrNAgYzDhKLV4mQCcjeySKEtlaB4nhVA6HBcxN2saeHUhzIOBRwRkKI1hzd10DhWMTDMko3/gPGARRGZafLDGESPsId4MdiAP44soNEYtEBtpQWvkaSIi3wB7niFyMVRUU/63kIHICCe3npEXZeznGiDMwS9x60TB4jQFqfM6blNhmRG+i/wrZQQrbUpl9VgXJdd/D75ogUJ+dXG4xF+TRbsONUZWkmLARY2qQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 4/8] parallels: Move check of unclean image to a separate function Date: Mon, 15 Aug 2022 11:02:12 +0200 Message-Id: <20220815090216.1818622-5-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4bf8385d-d2e3-4ce7-aba2-08da7e9ce11b X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 75ucZajNHXQX4/9pabnRu8n7K/aRxyzgkehafMa3yoV6orAkRiRnEhicLIwWD6Ent+AqlbtZSXw+qBgdUuRQZkk8JaFfGBdYs3c5nNcX6is/tVAfsKBQuSvHmozUkHqdYBK3KaXkOllGDl84okzoopBiQstD8FN8FH+IrOk5pUFrlnAoVzqnCuwEvxQKyTfyUaKu9oedz9I0yhIT2hlVZqEKY3CWCsJAH+ZyN6i8Rq8atv9dpfJeD654VNjzfQsrdxwuE5BRek99yyWPx5RCA4sptcTwwhb3VA7M1dhMDcJcXjrVjQlT7BUz1dP9tkqIkkFGQ2TXKeRcGNWGYl/d0c5RQOubLiaINzKMo4HNOmnZ1JZengiQCHcw2EhSRLSD0kaam7U688ttLEKNo02rABcYmkS1zdoEftU8MvWRiBUo3Ta+kpOpxtZ9hQDlYfPAvAOoWDe3bZrT8EJPu9e1h0N20DzT9iHBblD5Iewv76y9kQalIxoXB+AeoioZvOhkHhcJAJao7PtPMJASjRXsLjbOFeY61uO1fjuD62hTMqL7fRiaHJOSSpBKhEtMTacyOPYQaTwvVly/uKejWurn/35YTu6+t/fCdzKzvLWnykudTRYJyG/sKw5QwPnLpV1SyLE/gGR8uutls2O1zWwQShY6J6u02NGg/DSxuPJpTmDG/154ckOZ0PGJWvPvwYfQ6rnY/yPULkfzFTQP2QWqoRlGdrsijFI2QVWCJJ6KO5mPjPS0Md8XsS4doEF8//ksMu3zPDTcAplOTReCbXbeeeKcbtD3Esr6XO4dQNmp46E= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ninyg9o3J/83uSzdY+sZ+UBzBxw6cqjA14dXljL5xfanbG5GtZ8qEcvtm04f?= =?us-ascii?Q?VDEjW8WqkPSv4/tGxsNBGy0MILJoIli1FCgNBoGg6ok/iDniQwadHydAkcxQ?= =?us-ascii?Q?74ie/GWIuW76vbjroaIXc79StRaqUxzX7138JBVwIx6JB8OxFT7mtPw8h3lS?= =?us-ascii?Q?Lq3qxNRcqUxKUsxXv6cJawgpRo0F+3y3WjQJwRAjRizrU/KhV5Sz9/ABKkUY?= =?us-ascii?Q?nqK8vJPWlgBMKJGN530fu2lqfbXTUpL4zSDIgQDFXnlWkDxjn8+rNLcAL1TB?= =?us-ascii?Q?mgu3k6zI2IcYeqBgt4fQipYLimVYskdzQ7L3yod8nd8g5K8SNXcXk7b2lE/S?= =?us-ascii?Q?e2cfBHc1AwHkzAoH4lXST7wcfRttNn4lyg/UEmmhULW7oW31BEO3g4SgkreK?= =?us-ascii?Q?pEtiN01C07WfCbpNV0Z2dfkLc7325aGWnGF+4wN1dKHjSd+1atCs2Y+7PuFl?= =?us-ascii?Q?1At9nxl2TKhlA1uWzoh/JC8cPX0mZUPr8oG9TE8008AlEUATvlpCmYwaKdpk?= =?us-ascii?Q?2b8omgcwQErs+5q1W3WYNBZUwoI6qBneKyMrBQggtMprylwvwlJxrgoPv2Re?= =?us-ascii?Q?G+P8uwdnY2QRsV+xAEMd0dAhoObDEyCGE9wdnXjvMKtEDPedxfDevx46OZCg?= =?us-ascii?Q?DmKRQiykimt7OgxAyIJwLZcFyeusZ1HueWLQIRnGD3RUpNT9yc1QXbkR9uWx?= =?us-ascii?Q?eHxPTuNo/xLZ9EhPYEyJr8dz7ob1LP/9glUzcmmGJMJC4RVw5dDmiMOqinv+?= =?us-ascii?Q?UIGHwA4B8PkFuM6yqIGXkwqvqdPaJnVShB7X9COUAKExA1oIdUIxfiX9g/JK?= =?us-ascii?Q?wXVkCutZx1/8kw6uumLsPwVVDoLVh5Pznr1mkb3SBItQz4Ty4Jl1puHDBNiT?= =?us-ascii?Q?yeihifwUZ3xHy+a6ZzAUoU22ARdwYs9J5vIaK0vv+/OPDr5G12z4LdAoXBhV?= =?us-ascii?Q?uKUdnBn51MrONLwq62dbEYvmGaEtKFdX8WC8vPHuDmW6Z6NO1iGsDxabKBd3?= =?us-ascii?Q?/OX/9yMssJWtMvX+nWimt1avey35KKQ8lkJ4GuKX1jm/x9TXF8ymeYMR7hVU?= =?us-ascii?Q?NwJTRCexHd+RT9evWC39geM/qkhmFDC8gzZ56VVXVkGBa6edFL5G5EliLh11?= =?us-ascii?Q?8wU8XnAIfTf43xTem3Q6452YCYQm7yQCqmlYcNIwstroG53mdaL7XaafmU1h?= =?us-ascii?Q?0N5ueWLT3VVNHnzngslD7dT2msTP+EpMwSZlLdxTewVFaxbWZOWJj9iZ1P5H?= =?us-ascii?Q?sqzBWqVNcLtb+ArL4QAXshKSwPAhFgAHFPL3BfEIWK4D62O0e+xzHKrgiiQt?= =?us-ascii?Q?u700567AUh7T9Md0sSgD7Pt9YvC53vbx0GdKeMO/dk/9S8q0C9Vs65wSTcmQ?= =?us-ascii?Q?OwM79sXUEYlIjzLqU8jUQly9GBwIH8OxkR4DTDHRS4tPPCBG6OVmj10gz1wA?= =?us-ascii?Q?ndgnioq9OiNWyFDx9QzL5C5NnWa3KkQdi7L3JBKXJA2wWlCYK0K4wnY3/0jR?= =?us-ascii?Q?iFnXqHkhYQYZDF2roh/CAVYonwom+xP4Gftzp7pNxxDgCicdE4beVJTvT4M/?= =?us-ascii?Q?/p8IfYXWEMzcahMeMugrwz3lWQGXP3m1b+1wYVguteW/nQJ/9dsFArwSkTHu?= =?us-ascii?Q?pkPJKDl9mVdoXrMLXlkYHm0=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4bf8385d-d2e3-4ce7-aba2-08da7e9ce11b X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:28.4437 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 8xsUPihuQJmHW587aAunCho+biYT9yiRyuhVKfo5Z6XFBVMB7KPK8EtzZFA91dMhA4hdZumoF14Cel/2MnBUwC07x+cRODaU0VgT4hBZaFc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.104.99; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660555066842100005 Content-Type: text/plain; charset="utf-8" We will add more and more checks so we need a better code structure in parallels_co_check. Let each check performs in a separate loop in a separate helper. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- v2: Revert the condition with s->header_unclean. v3: Fix commit message. block/parallels.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 6879ea4597..c53b2810cf 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -419,6 +419,25 @@ static coroutine_fn int parallels_co_readv(BlockDriver= State *bs, return ret; } =20 +static void parallels_check_unclean(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) +{ + BDRVParallelsState *s =3D bs->opaque; + + if (!s->header_unclean) { + return; + } + + fprintf(stderr, "%s image was not closed correctly\n", + fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR"); + res->corruptions++; + if (fix & BDRV_FIX_ERRORS) { + /* parallels_close will do the job right */ + res->corruptions_fixed++; + s->header_unclean =3D false; + } +} =20 static int coroutine_fn parallels_co_check(BlockDriverState *bs, BdrvCheckResult *res, @@ -436,16 +455,8 @@ static int coroutine_fn parallels_co_check(BlockDriver= State *bs, } =20 qemu_co_mutex_lock(&s->lock); - if (s->header_unclean) { - fprintf(stderr, "%s image was not closed correctly\n", - fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR"); - res->corruptions++; - if (fix & BDRV_FIX_ERRORS) { - /* parallels_close will do the job right */ - res->corruptions_fixed++; - s->header_unclean =3D false; - } - } + + parallels_check_unclean(bs, res, fix); =20 res->bfi.total_clusters =3D s->bat_size; res->bfi.compressed_clusters =3D 0; /* compression is not supported */ --=20 2.34.1 From nobody Fri May 3 04:35:35 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660555401; cv=pass; d=zohomail.com; s=zohoarc; b=R3S0EMPgiM02nyGkZkNIASuE2kUU8jAv6TmLdNUjYmzEaS1/Nygg4ql7kiS3eTCTk/WHXCxZ5zHEpEenJxCivdmsF0+DitQ6PYfIARYGxosFlWjKiQ9hppzLm5HniJSY93ySIvYxKGxYBhOX3b5WSrlNOiORxfv2XoMit1cp5Bs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660555401; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9KgFDbBT2cKH0hJyZWLKFPlpKhoPRkv5nZCGTmzztf0=; b=QTwWNd+xVlm5M8o2qdSyGIhacKJnZUHpHB/XZHXpF3mp63hXfHgXHAn6inSB0pnmdXDqG+Sb7IYKiIF9gclwQSnV7mhBD1iyAXYR/pzSr7GQoqNfs9kqnBd+7LNGMywuA9Rf+w9sVuM6xRoOVZdwYqPUekoiT5lpYwRU3FcRCM8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660555401765279.7533440357628; Mon, 15 Aug 2022 02:23:21 -0700 (PDT) Received: from localhost ([::1]:46628 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWJc-0005zu-Pw for importer2@patchew.org; Mon, 15 Aug 2022 05:23:20 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60784) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzf-0000VU-MN; Mon, 15 Aug 2022 05:02:43 -0400 Received: from mail-vi1eur05on2121.outbound.protection.outlook.com ([40.107.21.121]:60736 helo=EUR05-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVze-0000Mn-0T; Mon, 15 Aug 2022 05:02:43 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:29 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:29 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VzHJ6Ywueh9BNEr6xAeoe4bClQJcVB+m7ZknuUW5dt3jirKdVNjkFGbM1P/aE7KV4bpol3/PTSl1qMzltZWjk/5j0JzCOAc7Ts8k7fZ8brtseLrrHikjParEY0yQt2RfDJ4LUVYLhwk0Z9kQsd6IUMLmVcfDAwLW80f+vheXQEmWQYHPToHpR4Zo/BTrmLTponSaANqM5vZDA+T95UTFllGGSurD6CuECoNYOjfH3R8VPkSxpqxqjBl0V3ADZYsqLs5sKGRaoP/+qGh6/H2RzEVNscaBMeqgLyXJH+eMx91es+KZOjiBE++mLv00WkwEKZ/48W/3FNSGYhNhF4iZzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=9KgFDbBT2cKH0hJyZWLKFPlpKhoPRkv5nZCGTmzztf0=; b=ffQHB0WDSrbDkU/lJ8SIwOK2qJUG+VArdUV6hdPKedEoz+OiEkSI00QHUmYbJd8fx+nnhUk/eP132buttDb751D7cv/DWo3MDJsKu6LzbmAKpEz0P2i/Wr25wLf+6ZGfgVU/flMrfDEpXszZsqMDnEKkCaODWsMu9ZsMUDtrH08+43Ovr7llpfVCA4aDrHKtULPbYw0hvlnPd/ZEW7M2iM8tXxC1rTBDnu8xMcULsO5liY1VMvvIUKiTvU9VKLCRsxuTQSAzsDLibYhDeNGC3YPehELorldqQW2tg7o5hwscu+yd/6S0R2ZnvMfLD0IVdp/dJIp0FQB15if1xNd+cA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9KgFDbBT2cKH0hJyZWLKFPlpKhoPRkv5nZCGTmzztf0=; b=NW57oFa5G1nkVMA71vRu6r90RhukrXUdd/C+YNwfZbTgfcmiQqI8OEKhhPyx/QeJ0SRtxN6x7V+fDtOHvkOmCVCc9JYIKO4ntDfyin+kM4yKVGI4aM+cFjylt5NzIOd7ZigaiVoSD9gCINzNIZN+6khkWi8zbKIgvNcglYqB7xWyxAh1PNnquda0P1s0rKwspCC5YOGe8kfsuz+jfNV4FsILb4D8Ua3Ftd2BGXRfJKvqKxzg1duB+RXiuCPgw61vX2F8/XH0N8mxjRv8MyNqCi9Kdz7nI6ZiudI98Q9VYYRAB532mI5QLnMSxE4SBFeTOqOd27/oi70lI7ANcycVoQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 5/8] parallels: Move check of cluster outside image to a separate function Date: Mon, 15 Aug 2022 11:02:13 +0200 Message-Id: <20220815090216.1818622-6-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4159cf5c-2e81-466e-3911-08da7e9ce19c X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ATkH+ZwzMW2ME7EoXx4fFS1eURpXvluAq2eAVgzDSHcdLWrafv5yWLkdJG8Wet8ge+xSvVpeylAu62UxAFTVBu0aqyKPYlXD5fqv+j95s0H2YGBDl5DY07j9aoWssuQlm3XUH405KqxfeQYivBV8v/+FbhJrNgxTYtXm+XiqP8o58GZUS0fqj/YnlvD8y9y6kcJ/uRRXl0MI/BveEbM1rqFieqE+FldMLPk79xTCMolGqYZA2hdrPAAxxcAOAbG7tqHuOBiNsB+UzziDEbriLdev9xVecNkMLqpXKHY6t422v1FKVdzz7o5cls/P4HqUQS11HsVNAETqmhafmBPv0mo5Mymw5n8cG1CzJsuXoAHIEWrpuP0TE/oGZ88TnQxodaUlJvme7GXpDoDUj8xOKQSooMvVbTS2mvmjMqlF9Y809JO5fzNIZHA+jRqMVV8GfDcoGXEivIo2SkOqD+6ffq/TOA/muHQrCr5qqIftwtooHcXh/zwDk0vZbK+N/+qqbGv4N5c7h1BR7Pr776Rh137e46rM2GYYoV/k5cmR/pszzWSeXPcy0eHMsU0mb7YchSMZ93KcZtqwD4GGgLKvVz/NLpJu1U1Akn86flVV/Dy+I/K2xzoBbyt1zAAMlme8s5eR9U8nptxAbENaAweCfBw5a2D6nKTMEZ4/9/zkRGALZZ0ru+7ozdq8mBM+nT4l+fGF3Akiv4L3zqpd/U6BDcpxX27buScYghI2p6T29qy+58XyvqcBOOM0eGB+3AHOY4IQEcQSVHomcZ/WNEHGQNoC6rKtxlguNuP8VpR8Lb9f47mIEmET03bBsQUqo5rC X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nWL9DhXPet2zxz5P6YLy+tNMExU3BbTP7D1VOZHTl2Ltne1KpEaf/1UWIeIT?= =?us-ascii?Q?hoEUQDcWibL2IPg9T3WJwzD97QHHBspIwwOaqWO06lKgL8C0f6FmPXp860Ub?= =?us-ascii?Q?bgPCzTom6mPX5apxH63rM/W734fbvLROkWni90ayRUuSINvlKPPO5iWU456y?= =?us-ascii?Q?IB9ef4TLGfG2RZ+jdGu8uWq49oxxuZ/oUqamDA/HiLfLT0sIwya82++2TO87?= =?us-ascii?Q?31iyXTUM94XbXJek6Srv6ZN+RvjMnjS9o5dLJqaQCglZyzVVNBzYtqDXuHA5?= =?us-ascii?Q?ysQtOt6aOyi+Hg00Q3k3oAsM7eFfAIN0oPDg4R6tImDvKP8RVN6po7VoEk4v?= =?us-ascii?Q?MHWoLPLxY54Se58bGlQYgnP0VfkZXqyY6i2DBw/AYn6Oc6KWhfjV5dvAUXut?= =?us-ascii?Q?nVTz4iShCwVcnNHNfqNP0pPHCqejdfrKFAAimfrYgTrDpn9vzgge/dXZD/yY?= =?us-ascii?Q?RQp+q/ib1jtGzMr9SDNSs/OOGA8GL0XlPRSKAjGWv0jNEeL2dSzBvMVBvqLy?= =?us-ascii?Q?fFj9fSjpz8FO2RPkXX3WVz2UJ2CjQHNbUUIAhCHe3bbkHhp9JuOucTK3SZw/?= =?us-ascii?Q?snCuTGn5viGyMfRxp07whTYf8d4Q7DvV7JnP+nvpIXoE3lIeM/lVxXpKIC91?= =?us-ascii?Q?LZ4gxIZmFyfr73Vz+C8nLV+ayqig1tgELsq5g3CLspj8kaAz7B7HQdoVJl59?= =?us-ascii?Q?GXFYwkvNpvwVkTmTWEHKRvLQ3BuuAB9nwh32s84NVoo5k/XorVI2KeWDwB+L?= =?us-ascii?Q?kHqZdDob/gp7F7soLXDHCptfBM6ebCse/q3mjO6Kwhuatg/DzVkka9serc//?= =?us-ascii?Q?UbxpFowgMF+RLnS35GTCS81O3ESGE7qyhIXGmxh/8agyuqrj9CIhDUqvIN8H?= =?us-ascii?Q?eH0jIFXeV8s7O6QoED6j+3T7HIzCAkRsaP5k4hlSzZFRv+kkpM0yeDx56NF/?= =?us-ascii?Q?r5KS3dMu50L/tpQsVJVe7j7hTw0aJbVwKEa5RHaymvIu8HLiGwOFpITu3HSO?= =?us-ascii?Q?uunVECR6eZx5muYklMCKqYPoC+aufuy8flv8JAthQXNEx37YJqtIZaEUNMrY?= =?us-ascii?Q?D7/KI0pDuB+krl9OY8EwB86FvdOBRdYzY7JdqBaq13a2Md1ppGp9INfhJL8b?= =?us-ascii?Q?Uys8po//w+FbvmBKLm+kBYDPXqgVRdBpWawAZ64/tVkvScCtNfdZzvz4HYtp?= =?us-ascii?Q?gbvaM87BYo84uM3lzBUvH4yQjNfZlpX0QeUO1ysUkaCzU8RGLvC6hj2Y9j2w?= =?us-ascii?Q?Oz/catIP9KIynvBk52kiOS6XD7+8kG17vyTpNt8GIC5x5qn4nU+UeubYO1ov?= =?us-ascii?Q?JgDT0moh3HS4juaqgOdoGsRYm6A5OAhJOHstqzTOweO2DTWVT+Q4v8CPBSJx?= =?us-ascii?Q?M94RLPFGfxHgPYuYO5IE5+unJ1D8d6+4jSbt1E8dxKA+jqCWU+Ge8U05l7gi?= =?us-ascii?Q?7adRloCNGpbwcVUJF7jyq8q0BCUbDZnRwNMzl8wH2pXcjr9KWcpuJAOMTkWI?= =?us-ascii?Q?+C1/8wXbDlu5G7TfUwvgCYy0M2FXLBu/AQGtI5h187QvggkhwUl8WXlQOnBe?= =?us-ascii?Q?s85GuUGuehM7IN8hEKa+eM5GtzSIB8Ngf70dRIGRKhW9E/37yzhJNiB7zCCA?= =?us-ascii?Q?Eg8ZeUw1j/mEJKPVpWagn7s=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4159cf5c-2e81-466e-3911-08da7e9ce19c X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:29.3643 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: N/69ApEs1Nc8LVfdTmYis6aYkZV04ebp4+yqwNksYC+E6wmzylWgb13M4/88lb1ChW8kykyj3UnuD/RD3SM48buqWIgk4FkwDHOO6N6xAlY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.21.121; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR05-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660555403510100001 Content-Type: text/plain; charset="utf-8" We will add more and more checks so we need a better code structure in parallels_co_check. Let each check performs in a separate loop in a separate helper. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- v2: Move unrelated helper parallels_set_bat_entry creation to a separate patch. v3: Fix commit message. block/parallels.c | 48 ++++++++++++++++++++++++++++++++++------------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index c53b2810cf..12104ba5ad 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -439,6 +439,36 @@ static void parallels_check_unclean(BlockDriverState *= bs, } } =20 +static int parallels_check_outside_image(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) +{ + BDRVParallelsState *s =3D bs->opaque; + uint32_t i; + int64_t off, size; + + size =3D bdrv_getlength(bs->file->bs); + if (size < 0) { + res->check_errors++; + return size; + } + + for (i =3D 0; i < s->bat_size; i++) { + off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; + if (off > size) { + fprintf(stderr, "%s cluster %u is outside image\n", + fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR", i); + res->corruptions++; + if (fix & BDRV_FIX_ERRORS) { + parallels_set_bat_entry(s, i, 0); + res->corruptions_fixed++; + } + } + } + + return 0; +} + static int coroutine_fn parallels_co_check(BlockDriverState *bs, BdrvCheckResult *res, BdrvCheckMode fix) @@ -458,6 +488,11 @@ static int coroutine_fn parallels_co_check(BlockDriver= State *bs, =20 parallels_check_unclean(bs, res, fix); =20 + ret =3D parallels_check_outside_image(bs, res, fix); + if (ret < 0) { + goto out; + } + res->bfi.total_clusters =3D s->bat_size; res->bfi.compressed_clusters =3D 0; /* compression is not supported */ =20 @@ -470,19 +505,6 @@ static int coroutine_fn parallels_co_check(BlockDriver= State *bs, continue; } =20 - /* cluster outside the image */ - if (off > size) { - fprintf(stderr, "%s cluster %u is outside image\n", - fix & BDRV_FIX_ERRORS ? "Repairing" : "ERROR", i); - res->corruptions++; - if (fix & BDRV_FIX_ERRORS) { - prev_off =3D 0; - parallels_set_bat_entry(s, i, 0); - res->corruptions_fixed++; - continue; - } - } - res->bfi.allocated_clusters++; if (off > high_off) { high_off =3D off; --=20 2.34.1 From nobody Fri May 3 04:35:36 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660555408; cv=pass; d=zohomail.com; s=zohoarc; b=G6sQuU8VWvErqtqdx7raq1Yrf3YhvFYBndduBx3DEuPTtprNxO4NU1wMctj2lDCt8+mwajy3lFLOqMRothsiMsTDgmy3zz7h9veOv15n4wJRP72sKmvcM/6zqZKigXRGkTvQhZO5x6S4dmzPUHMOnmMPcUyD+T0wFodyHg6mJWA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660555408; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iw2mfR1InmCH07m6nqXMQGwYdQ/DVmfxCKxZCPdZFkI=; b=Zj6hIB26A/t6cTwFCE4ayxE/8bGdwTNiowFuB1oE3HFKfpfho3OKlOPVCGmEhVHZvdWUe8eM3NKKTEYgRuw7zL297sO16h4OL+tWTeEl/KixlYAdsNlo/yodvnCcdmXeCmttyqzaU+Vui+PhO1nFnJUvuYIN5lDptbiKQmYoi9E= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660555408934343.5143936929654; Mon, 15 Aug 2022 02:23:28 -0700 (PDT) Received: from localhost ([::1]:46998 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWJj-0006FN-Pv for importer2@patchew.org; Mon, 15 Aug 2022 05:23:27 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60814) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzh-0000at-TJ; Mon, 15 Aug 2022 05:02:45 -0400 Received: from mail-dbaeur03on2099.outbound.protection.outlook.com ([40.107.104.99]:8993 helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzg-0000MA-3G; Mon, 15 Aug 2022 05:02:45 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:30 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZZQ36RCodk1ZNzQRHRfrjkpLFP57hfrVKluo/JKTDMjRHLkgt6ABJkZ/33Xj6epXLN7q47ckyTMu/8eyKj3s1389ZGOIXgdwRB76vTUA+JK/gWpqxsZ/V/uRg7n32UOgDEaSxf5Wxs9FoOh+av8q56UX22qsvaYPEhAPqujE0+8sX+NVZ90FyKInnUjRGO2AIFsZb1rjW8eOfh/TY15WCOu6hScbTx/NDR08/AVuvui7hiRnUEbu9qWNhvwb9A6lHEC9qvdoieYIUmPzcKe4pD9sWvpaC4rniXJ7/TPTD8qphT0xZ9dJEwzJeiu4BUHsQBDlTk31IakL2skXf/GbBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=iw2mfR1InmCH07m6nqXMQGwYdQ/DVmfxCKxZCPdZFkI=; b=mbbQkVzdCAvA13Kk3tpigSEHIwSocXsTwpF6MigiXxhQ3rlY6TBcasf4aB2wIr7U3ghuAtBHMKLvl8B09WI3K0K0e9O0xJmDDwWIdayOH6Z/+YLvxaVEcBiOeU1RqL4VPOvTNNDY0z/cCYPDxuG3L2OqwiGFku1ZVCXrwIdFf+1AhiW5hWbsosaAOoRFmZ+zRHagL3kzw0wFGpFO4MhgFi9jmkNDUlUivT2vOeJ9sc262GiciL1pSyQNxxN/tM/v0f4qazgUPpPhBocHCTjvyx3LmTp1rlgjl+fFI3b1go9s8SJ1oMuz6R+5+cXcwQ43+pHNQBa00EUV+7pm5iLkfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iw2mfR1InmCH07m6nqXMQGwYdQ/DVmfxCKxZCPdZFkI=; b=ssG4YfePrYojzeExtdg1J5EkDjdmgoiGIecxo8I0LSdW8dR8c8FH4sl6ZGSnwnD8OYNYsG6j6pbsLpGidQg7mGL9YFnUenE2miFING2wTGSmwK8HKL2Eke7LiOhUmttQb/M7aMVyUhfAQFyv27bkElqKV4M2khyhK1sGrwmA8HHhPuzc0RWLKesxScuXXXyUstYhBJ+5FqnOJ1RfOuxf9SNRGQ2HzvBV6QEC0M8GYyIqmrbd67xe3i3vYvFUY2/r3s1d/vch9EC5couKW7+veYg1bj2BA+3t+85xDv0nh4tIGsHTB1HosdP9y1BjOD4nnocci0FK1LUxd5Ldu/K1dA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 6/8] parallels: Move check of leaks to a separate function Date: Mon, 15 Aug 2022 11:02:14 +0200 Message-Id: <20220815090216.1818622-7-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 27cb143d-c27b-4bd1-0f55-08da7e9ce229 X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aleiJNBgS16eRXT3aldUwq/y6Uca7RfZwG5kN1KHY4LBZSqUGi0yREgH2N4OSTCFHmn4gcD4M04R8IW3Ont2Qh/K8fXPLKsow7RxSlBCpE1LmvsMjXtsagpJzAKnNMgzcmouxGOl/RLPsW8OQkfAEPW8c8q+Qjv3mxwGFB8JOVXDUE3gX1NTMJAQMHEBnSlaLEQ4wwf4Ew6oC0FYaKyQgzVcu1Ag+nLfxcWdnB2bghPurFGB3ugTovs5cCIxKXMDt4/vpH3VqxxwGN8Qm3VNCd14qoHVPnNOU16iJmRiw8UlyAsVoe+NOvVBtCjcWxnxcNOzrhpE8b4uZ5Tylda9C7vZKp77frggSr2LZWaTFAVkdaUnvmgS92CWCI4KrMuXj3+ZrkCDOQPhVGFmM9Z8Qaw+b8x+VwZDEPvOH3TnG4SX0Jn2BgQFaMyf5nGszrGTK5UXyhy5L3ULitv/S+yFARrW34ubUuqew9YKY5pHps6ghzOVqg/PD644bSBVbDW4POJq46DC2m1CTQGT0VAiz0PNhav8gLfVVgpee3FbaZmvEqKMM+pGrYzte72IFcemVTi6Jgjfo9Ts4vo7yyh/IPrA0Z+uBjEgzDjwYm3xvS0t8be06KA5OsS2+btc4w1eZkpIn1SZbZu22y8SIj5eXEQ0HMJEqcg+gPgMt712e+/mPQLlGBrwH3adgXm0oa/6W66D6Tz8MLbIBM3vVQK3BIIBkDWv0HIzsXTxoj7pz89OYy4yPHlMvkrrJL7Df0o1YnxCa+WdpsgjnaENjdEZakISsmRUV1TlnYqE0KnFOA/IWCos8lsQsqES0ICjb20J X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?o6Vz701seH3U7f1ckwAciiZdUtamIEqEZvrso0sMUnnrgofySqu3l5akc7zi?= =?us-ascii?Q?obzEQdrQgRJ944b7UTtnGuu2RxZQUcK6kjlnKU2MHIHdD9X00XJf2KsGy2ck?= =?us-ascii?Q?Q8qyW2NhAKosl7+6rSBtCT2OIb+C9V1BcJCwW5FvAoDIho0M2fId+Q8Wz4qD?= =?us-ascii?Q?EDTExMDs3XxtG/5f20UUdbW1QS17fPQgvPJ6Ujt3UWOomme8IlgX9Ee7h8aL?= =?us-ascii?Q?OG+kqH85s2zBf9EW8ssE1kj4fNnZzcz0EM7bvjPAybed1eEom6QmN+iCgeyv?= =?us-ascii?Q?0FzZqaizRvGUsyUsdbTSdk6tXb7kNdyrU18kgw+LSaMTmHLVhq2VtyDfmPZN?= =?us-ascii?Q?nOJ+b/IPi3l80zDwY840xxfnVL9uNSWG3GcvhnL0cvWlWqB9TbMIO6G6Xmxg?= =?us-ascii?Q?oCV0HaYioHNNvVvBJEuWdzhAiP7gFsSBFNFTWZ5axi8Chf1kT2t2LYaOJVhA?= =?us-ascii?Q?8Vb3lZC7LFD2G9w4Nva+i3FU4K5y8DQgOUaKTro3s704inTTzV0Muqw4Qq8O?= =?us-ascii?Q?kGiumZXnQ3aN6XuLXG5Bs/f3WkVXhddeiTVpZnHLPBm29+5g990dtdzUFcki?= =?us-ascii?Q?jVbC9S+M1BybcdcpF/yiILb0J1gQh38dEEi9GmaRQS+McaM1B0dYPR5MjRT3?= =?us-ascii?Q?XVgw2GHFr1qn8YaHpuouIM9dDeQdbdIbQ9D3L1yvwN0qdlMoa11R9PW6/CZ+?= =?us-ascii?Q?YxnYvQNnQTpvRddrd/rhYkoBH29pPv483GC0sZN/uLN8wAYXH2c//8jhq+/g?= =?us-ascii?Q?Dwd3hlfCZJNryj9CZOmQlYNy+h/fsLGoM28QJNLORp2JByCTHc6yY2DiTSXs?= =?us-ascii?Q?PtbUdpoQ1u8dvmk35e6XBXzb7+bwO9I4CiKMUrIvhDrVYp2XohmYcYDhrtbM?= =?us-ascii?Q?AcYgZID61B536SInEoMIWAVaivALizgIsosnSSgFGURpQJ5UlPewtC10l63N?= =?us-ascii?Q?ewUCz0xmziSVhRkUTTzGX0ePG1tOAai4MbykOVWCSC9AFjopUhps6EUaPYVU?= =?us-ascii?Q?uFV/zYInDbEvPssNDPc6melU0YZOqcMsuenND8dICrsFqrqBLTOpU8+0HfJd?= =?us-ascii?Q?fahgoAyQE5k/1uNg+4GTDKQTX9rGNFlUOTNvTISNw/AgCZICGV+AF+Ce5KUj?= =?us-ascii?Q?MAxMZont+cBdgJlVT8yK37D0w69GrE4U4pNJutybu3RNaz/vThMs/3v/fl4m?= =?us-ascii?Q?7CdKySIagUzxEar1hZyeTabKi8Fc42fDJugvwpXUTWg3dG7VKGPexFOzO4D/?= =?us-ascii?Q?zBtnDY624I4++Qytimn7HHSB2T66xl2VkumqSzL6xwXijUK4GUlLMyx+Ej6d?= =?us-ascii?Q?Vg/Zg5KTFI6hKWw153fD/HCUlJ8PEhegZKCmOZFhhAFXD9yAuKUNejqAL7bz?= =?us-ascii?Q?XJnuDpnBiny7HYY1ROVkgECIg6FHSdBKaiylfuDedzfcLXMAXGCjFLcfYiS7?= =?us-ascii?Q?VKgYWCbAa5HbEFwYPs6TOBE674Tc5A1q6JSCixqR5YP3NrII+4XWIhJPOiz1?= =?us-ascii?Q?fzII0EIKVvCXaypOjOBc+rODmOOg+ww37VNbBnhm7biyBucfB2ra49uMSX6t?= =?us-ascii?Q?+PE8OCBYmsMRDmi6lxSjZvrYnzIbB0N4MWJVtPepDL0I84lFb1G3erw9p9HO?= =?us-ascii?Q?1Yc1AaAKitPXC1/W97YkO44=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 27cb143d-c27b-4bd1-0f55-08da7e9ce229 X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:30.1779 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YUeeHTe/4VmyNlesuWD6JSAZgdCWLCFFl8nI9FkmeUeJI2uqZ8GH24piua6+xYySmoeh4V2D9Go7zWz1ll62wgjtW6yhzMBuCPVEuPPna7w= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.104.99; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660555409677100001 Content-Type: text/plain; charset="utf-8" We will add more and more checks so we need a better code structure in parallels_co_check. Let each check performs in a separate loop in a separate helper. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- v2: No change. v3: Fix commit message. block/parallels.c | 85 +++++++++++++++++++++++++++++------------------ 1 file changed, 52 insertions(+), 33 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 12104ba5ad..8737eadfb4 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -469,14 +469,13 @@ static int parallels_check_outside_image(BlockDriverS= tate *bs, return 0; } =20 -static int coroutine_fn parallels_co_check(BlockDriverState *bs, - BdrvCheckResult *res, - BdrvCheckMode fix) +static int parallels_check_leak(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) { BDRVParallelsState *s =3D bs->opaque; - int64_t size, prev_off, high_off; - int ret; - uint32_t i; + int64_t size, off, high_off, count; + int i, ret; =20 size =3D bdrv_getlength(bs->file->bs); if (size < 0) { @@ -484,41 +483,16 @@ static int coroutine_fn parallels_co_check(BlockDrive= rState *bs, return size; } =20 - qemu_co_mutex_lock(&s->lock); - - parallels_check_unclean(bs, res, fix); - - ret =3D parallels_check_outside_image(bs, res, fix); - if (ret < 0) { - goto out; - } - - res->bfi.total_clusters =3D s->bat_size; - res->bfi.compressed_clusters =3D 0; /* compression is not supported */ - high_off =3D 0; - prev_off =3D 0; for (i =3D 0; i < s->bat_size; i++) { - int64_t off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; - if (off =3D=3D 0) { - prev_off =3D 0; - continue; - } - - res->bfi.allocated_clusters++; + off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; if (off > high_off) { high_off =3D off; } - - if (prev_off !=3D 0 && (prev_off + s->cluster_size) !=3D off) { - res->bfi.fragmented_clusters++; - } - prev_off =3D off; } =20 res->image_end_offset =3D high_off + s->cluster_size; if (size > res->image_end_offset) { - int64_t count; count =3D DIV_ROUND_UP(size - res->image_end_offset, s->cluster_si= ze); fprintf(stderr, "%s space leaked at the end of the image %" PRId64= "\n", fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", @@ -536,11 +510,56 @@ static int coroutine_fn parallels_co_check(BlockDrive= rState *bs, if (ret < 0) { error_report_err(local_err); res->check_errors++; - goto out; + return ret; } res->leaks_fixed +=3D count; } } + return 0; +} + +static int coroutine_fn parallels_co_check(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) +{ + BDRVParallelsState *s =3D bs->opaque; + int64_t prev_off; + int ret; + uint32_t i; + + + qemu_co_mutex_lock(&s->lock); + + parallels_check_unclean(bs, res, fix); + + ret =3D parallels_check_outside_image(bs, res, fix); + if (ret < 0) { + goto out; + } + + ret =3D parallels_check_leak(bs, res, fix); + if (ret < 0) { + goto out; + } + + res->bfi.total_clusters =3D s->bat_size; + res->bfi.compressed_clusters =3D 0; /* compression is not supported */ + + prev_off =3D 0; + for (i =3D 0; i < s->bat_size; i++) { + int64_t off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; + if (off =3D=3D 0) { + prev_off =3D 0; + continue; + } + + res->bfi.allocated_clusters++; + + if (prev_off !=3D 0 && (prev_off + s->cluster_size) !=3D off) { + res->bfi.fragmented_clusters++; + } + prev_off =3D off; + } =20 out: qemu_co_mutex_unlock(&s->lock); --=20 2.34.1 From nobody Fri May 3 04:35:36 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660555106; cv=pass; d=zohomail.com; s=zohoarc; b=S2HOYeJjZe0ewDUw0pXf+RyK5d51pPHTRbB/aeOSN9dnlOfDAtN9suA9OE6bpO1govlNglnh0QILnNGnD68MQn7bsbozyOuWg0U2cG7vNS73Ko1cSf8y0jBFLcp67/tNeNInE80OtqbXHgTevPUpk+9IGWYJmwzzBmq1XxRYOvk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660555106; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UlnS3YwwT/q9o+a7iMkABm/J6TZEZ26YVutpBiRSF7g=; b=Ed2AR1O53/ZmKY1Xz+/L++u2feDdSNTitUmGUpQx3cx6hY3q7gw7zb2kmTAXaA8ccjsJNwKMuHp7DncMrWz/qfnW5CDsX39OQJnSMY4Jd3r8CYQpYZyuH2UyUtOQmWMzIsXxLCOc4oF8GvsayRUkpgxjhvxVgM7bb394eC8d9L0= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660555106129939.6997015914369; Mon, 15 Aug 2022 02:18:26 -0700 (PDT) Received: from localhost ([::1]:40452 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWEp-0001WL-7G for importer2@patchew.org; Mon, 15 Aug 2022 05:18:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60816) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzi-0000bG-03; Mon, 15 Aug 2022 05:02:46 -0400 Received: from mail-vi1eur05on2121.outbound.protection.outlook.com ([40.107.21.121]:60736 helo=EUR05-VI1-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzg-0000Mn-Aj; Mon, 15 Aug 2022 05:02:45 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:31 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=VUUSEdrVIghu0GDlIsRgadaaPOqh4aSKWmPKwHMNjN9VYgxyA/23FCL7HIlLb/SPMeOagMiK3l3kSE2Fs92lQn6U0JfG7P6YTyQhKkIIH5JXtgVvnX0xZigFtp1ALE9Te58XmFNuq3P2zz+OFynm6eW9X0khkdD628GDDg/AC8GThRdlNk8wp0SZG6Mn31YrAgFp+rHIVGY5xDYe0z9Y3CSBfkub/xArtEKvMSwLko4JGSfu5wjfc9ShZPvrnLO8zZBInh37fjFSndXIwfFcDikCxf/R05DrqXNCsBVAcLylXa/f0UG9iNL7OEQQoT998fr7YaregYAcwQhD5mGNpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=UlnS3YwwT/q9o+a7iMkABm/J6TZEZ26YVutpBiRSF7g=; b=MYxgghB3byyaBskuUs66l2y/ULY2XAigK2GRmrQVzdwlD48mcMDrqp/MldaAk3mmDC/RRygYBkLf433vicZ0Zfx6vrrq/+nuVF7gljfVsifjSJiAVjaVupu3+nT0rz6TH2ZwKF0eV/e/zKBZXowi6OPkCGLjq5/nr16HP8PlLtcGrBafiJsQNxHd8yNWay5IAg8isHtb1fmSEpm/o3WRy6FSUG8H8R6biXRxy+NGS4uGOKj3QmUnauuh2IaRTmmiUbIx+/pfDzrfjC1C/08shOfAN8vE8Hz2sSGCm5kMGg/ZYtFEMv+q75qy0bjbCEe63XNde3hEMr6ogsO0oVrPQA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UlnS3YwwT/q9o+a7iMkABm/J6TZEZ26YVutpBiRSF7g=; b=AwPxqIl5rIv6G0rLop4Aqeqs0nQ21nPeOqwnaaz2hCLemlN+ccVoo2yV07Bass/qDdHVXS8z0UZf2nGmRv4JVqXRrCg8brZHKhDvArLB9bswfOiGkPLZ/4ZBR9CUvjFEzGFFBw+Hkqa/aDHK0/OA95P86beq4phR64iaGdUxnFun/VupakaVF3gAitaLUcMi7hlHU9Mk/2sUDFmoPBsYBeyHONHogwhwS2QNo+I9fr/nUW6orZhRJ1M3tqySnCnbWMhWHa6hB95VsW08PSmorMqXryYYXv8FNI1WBzpKMnP+I+ktc/4/H6v/caclh5DVIZrKQZ8sUvVUJ86IJ3cRcQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 7/8] parallels: Move statistic collection to a separate function Date: Mon, 15 Aug 2022 11:02:15 +0200 Message-Id: <20220815090216.1818622-8-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 57e6651c-ffc2-461c-dcec-08da7e9ce29d X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 8gAFAYRcAAUQtRPj0r9l9Sr7oncHrdsoC3aCaG24p9WuSvVzfet50Cl69ORtTiUykPPfP5YwOGqgW1PdT+owpAwmP0WxkgzSlpKT465HJtOyAn3kOQgH1DDm8KV1KmlZhumdrcqP1N3cg3+jyIlBJKSox6kiauReXkYupSlrxQYoxwdWHoFzZzh8OjZnW1XM5lu6wWL9N41wR1qpaOcR3DmqFKXPf0zVM+LLXCqAY7ky1inSfU53tr3tnIwdKZktIjaY9QTTppuFXozNoIPSyW9Oi/4r5qPyj4cPYToIXg4UD1R2ZFQU0ZDQ1TyWmWWqbp0Dmx0XsEias0zhXE2fEOuw+m4sjXjls/WfjpA3EObtFb3hvwUSZYJlSXCf4vtYGgsyXmTO/GBW5XqnM18KhIsLspQucjFOCW8lUFg6UXmv/2+yu1BdO06axqB7d8Us8gcDI4lEXQnwdSQCn9LIqTAiwi9GUKTMF+yXR8IbWOEEGa3CgcJAILN3nr4MKtzTz984vOf5DHjvatHPlHtRyR3zpT87C7FW524KTinqvXDl8+SggJs1F5MEEgE2A84yf9cx9yfISl9cjzqPWp8X3Lzg2QVCUrjH/r7H1xsiVyushczrnYoxXl9fz9gKLlpYtLwJNjuCuSeYaleERtLXnPlP4azQMyj+2io1FTU96EwzRQgIlm0hXSe5nPeDBx7PB53qHMJt12dTKBVJ7JTJQWoUU0zdmfBNLfMDg1ZU51gVvECFmfygUP2CkhtCGWG476wIX6aI1tNOMsF0MUv/7MeS3mIDCoMQVNkZv/agAdY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?n9ZzvDnjsNQPaVwgd2nBWEyBBQW3LJeoYUp7IjaCgxXt/voE7BGJ5LWssx3a?= =?us-ascii?Q?X2zYG+z2UzGe5rJBdk45qUgCZLbmxvhhAeAZOdGODxb96Y3cYgBJiV+k/Wxg?= =?us-ascii?Q?iSy9WzCvSHYQ0bGmwmJ8YtEcceDNeDlHVcD5LIzUTlonRIAVfetP3+olZnVC?= =?us-ascii?Q?+Stjfc6PKN5f4onaqHCi+K2CdIw6Auzpj5BWjW4S9mMERg9XxRU/Y8X+/B3Q?= =?us-ascii?Q?fA1T2xP7LJwvzjnI513S5A6BGLsCMPAa0kDhqelO9OwsmTxtHB7qV6pD8bBH?= =?us-ascii?Q?jpwxijn55cGMrlY0dvHkkNgppXEfLzpfKX+AI8tP29zJlhx1tJPH5Ubvxjts?= =?us-ascii?Q?OSWc334V9T4brFSuO/XGr0rhfwAu/iyMP6BeWcmlZLt+tNQBKtBBJ1aBuJlM?= =?us-ascii?Q?VgS8gNAj1E8E5Gs5g55Jd1AX2m3t/pb8P9Ppdu6juIOqqf6qeXLfm+aiyoMs?= =?us-ascii?Q?AhxMG/q2Z/HqV0VR0GoEFYEUdvLEWbzxy88FWnjxz24RILKhuK52qKrZAR6+?= =?us-ascii?Q?07iGHJv3wrVTHaNAVsGq7cZjFYnbQDCRraz9hIwMhb45tJW46u42zj7WUu75?= =?us-ascii?Q?10GQ4nuH9hHEbdrW2DXhsdr3DDB5AXSH/5tjml0XhVxQnruFjhvc1ZrT+wGv?= =?us-ascii?Q?6Di5wbuwdzUSImQkwNyyIzcZwTC5o/BKNllcl42JnzlFZQtV7TO+G/SoC3hd?= =?us-ascii?Q?ne+R9zqf0YVdT07zly1eudr9K/w62MuyLFHIbVSlj9we7YSDC0FGwSoXMkDw?= =?us-ascii?Q?ZvepARnTiW3tbXCloC/OFLj9i2QWGwczH7s47heeRqMomlF9q+xA/zHk/BhJ?= =?us-ascii?Q?TEHHdeovNh6G1YQFJ6rg2Z2VWMteSBucj6wJIsYn5mGrPhD2LD+MEVOXvSSc?= =?us-ascii?Q?E1Z1dhPlxqCOya5/rDPr/m7xX2I3i+3JrGKPosI0cvvJ8vdD9QhWZ2d7bAOB?= =?us-ascii?Q?jejXf2WHBq64fV55SSVrjEHJWU+oyLDKLNc69/ZphhNqkVJ1T1243QvFVfPM?= =?us-ascii?Q?FFS7Z74tbaT3IfIODI+JNPU8Dbkedvf81mHs/3HGblJdZcG+1xyP0ejNwq2u?= =?us-ascii?Q?MpoT35XKUIpzBRdvDQ9zHruh+yR0G3wQMnRwPYmCLljcTnCL2PVSNPP9cdtE?= =?us-ascii?Q?vjYh4NQuweUsNviQT/eeqOrI1XC9F1sf+3XDC0cu+aEty+aneWATZrh2R8BK?= =?us-ascii?Q?sQbHMxdwMQNZ9qtLaP5qVTBbjsmHtnhRgSzaNaF6Qx5jnxwHYvGvWPnKLwsD?= =?us-ascii?Q?RfVghcvAX+m6i4zf0Wuqy8jZThTrbIhErdk6vS9Jp3sw0Vv++GN3L7HPA7p6?= =?us-ascii?Q?2BFKMDGiRV7Y+cx/YmlgUpBSACBziAh+g5vKYrAaqGkUlz7SzGKJrpvHDvUx?= =?us-ascii?Q?KqgBWXV1XJoSfwg3kQpwXhRMHv0trhWjjgmNHNOSAWwuLmAhMF++cRanWVp2?= =?us-ascii?Q?RCAmZ05FA0FpVdK33Uz4T4NaNE0NIScH3IEgzRaSMqek156s3LEBbgJkp52G?= =?us-ascii?Q?7vPyA2LEr4DVa7n5kA/i7f8C/cq922ys60+I3aKK7vWU5oTsrqyjdzMLVJ7a?= =?us-ascii?Q?heUJXXB7+BMsgmP8mstm4J3za4ee4UzUPJj3WMrkhkM6Sqjrk7pwwOv1I+Ui?= =?us-ascii?Q?eH1Q1wwdn2YerEpG2LdQ5NM=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57e6651c-ffc2-461c-dcec-08da7e9ce29d X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:30.9746 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jfFH92Cb1hSLjZvwWAWzbggxvoPAVIUq9fXqQXBiQM2qjBKE4i/PRxggJsan7L2V6jAaVeyTNbRwFso6e7DQDBFlBlsfC4uraf3Iv5TfrWY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.21.121; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR05-VI1-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660555107425100001 Content-Type: text/plain; charset="utf-8" We will add more and more checks so we need a better code structure in parallels_co_check. Let each check performs in a separate loop in a separate helper. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev Reviewed-by: Vladimir Sementsov-Ogievskiy --- v2: Move fragmentation counting code to this function too. v3: Fix commit message. block/parallels.c | 54 +++++++++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 8737eadfb4..d0364182bb 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -518,48 +518,56 @@ static int parallels_check_leak(BlockDriverState *bs, return 0; } =20 -static int coroutine_fn parallels_co_check(BlockDriverState *bs, - BdrvCheckResult *res, - BdrvCheckMode fix) +static void parallels_collect_statistics(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) { BDRVParallelsState *s =3D bs->opaque; - int64_t prev_off; - int ret; + int64_t off, prev_off; uint32_t i; =20 - - qemu_co_mutex_lock(&s->lock); - - parallels_check_unclean(bs, res, fix); - - ret =3D parallels_check_outside_image(bs, res, fix); - if (ret < 0) { - goto out; - } - - ret =3D parallels_check_leak(bs, res, fix); - if (ret < 0) { - goto out; - } - res->bfi.total_clusters =3D s->bat_size; res->bfi.compressed_clusters =3D 0; /* compression is not supported */ =20 prev_off =3D 0; for (i =3D 0; i < s->bat_size; i++) { - int64_t off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; + off =3D bat2sect(s, i) << BDRV_SECTOR_BITS; if (off =3D=3D 0) { prev_off =3D 0; continue; } =20 - res->bfi.allocated_clusters++; - if (prev_off !=3D 0 && (prev_off + s->cluster_size) !=3D off) { res->bfi.fragmented_clusters++; } + prev_off =3D off; + res->bfi.allocated_clusters++; } +} + +static int coroutine_fn parallels_co_check(BlockDriverState *bs, + BdrvCheckResult *res, + BdrvCheckMode fix) +{ + BDRVParallelsState *s =3D bs->opaque; + int ret; + + qemu_co_mutex_lock(&s->lock); + + parallels_check_unclean(bs, res, fix); + + ret =3D parallels_check_outside_image(bs, res, fix); + if (ret < 0) { + goto out; + } + + ret =3D parallels_check_leak(bs, res, fix); + if (ret < 0) { + goto out; + } + + parallels_collect_statistics(bs, res, fix); =20 out: qemu_co_mutex_unlock(&s->lock); --=20 2.34.1 From nobody Fri May 3 04:35:36 2024 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass(p=quarantine dis=none) header.from=virtuozzo.com ARC-Seal: i=2; a=rsa-sha256; t=1660554914; cv=pass; d=zohomail.com; s=zohoarc; b=gvb+h7CymwaBj+Kpf4+x0srPU7tAGbqrIAMoKsWwPxSin6+a0nwwNXUSl6EUcGYaH2OkCQ8N05thXbAoY9QSNn9xvmAok6CrPcVjtspdoHi1R8EeWPAsQNnSYeAKfYMwRcV8XLB3kfWpgOJHKyDLLwrmSdYFLRL0/Fbs/7wau58= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1660554914; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=S1lzotjwO8r8L2co4V6lN//G6swnZcb/1Gt2FoiQ3y4=; b=cuDuI7hC+D8JTMEU1U9APS+PhMoQZZFW1JzGIQbXeM8pxmrFdlocDN1BT1cjmK63j93NOjcXdQuJoDLYKmPdhMNFDQUKKwDHke/fjhJjO+0AG8rvQfFsn7UmG/xFR0hawy9TmFeZTDpWjoiQZ1cqTa/b9BNRZvjWoeXTMJ8wpkg= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=virtuozzo.com); dmarc=pass header.from= (p=quarantine dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1660554914120599.8302102362633; Mon, 15 Aug 2022 02:15:14 -0700 (PDT) Received: from localhost ([::1]:36962 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oNWBk-0007bP-Ut for importer2@patchew.org; Mon, 15 Aug 2022 05:15:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60836) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzk-0000fY-38; Mon, 15 Aug 2022 05:02:48 -0400 Received: from mail-dbaeur03on2099.outbound.protection.outlook.com ([40.107.104.99]:8993 helo=EUR03-DBA-obe.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1oNVzi-0000MA-Gc; Mon, 15 Aug 2022 05:02:47 -0400 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) by PA4PR08MB6032.eurprd08.prod.outlook.com (2603:10a6:102:e4::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5525.11; Mon, 15 Aug 2022 09:02:31 +0000 Received: from DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c]) by DB9PR08MB7100.eurprd08.prod.outlook.com ([fe80::4033:4b6e:d42c:349c%9]) with mapi id 15.20.5504.028; Mon, 15 Aug 2022 09:02:31 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SMg9jxx03fxGeKCShqiIQNdwjnls8bagJN3OJxCT/wBRAbMc4CSHn48wqVY6y0FIrMBsf9Jy7JFJC7Qls66kOjF2Pa3O8OpqCiZGZGbI3KfZc/CFO27kEo7Y4WaexXsxTVyHlF7IKQX3Qo8g9mwikQUEifxp+0IifYMsXhdAYmrXa9seEM87yvUUbdS4xNo4mEq4giVUxJ3+B6VA2mJOskaDYa+Y4vYYQct4yPa/RjPg9QiS2Y5U0gqBMQjx0drWkO9HCqNQBNg9mXjugQZMkoTpdt1RtXeP9W3viHV1ALXJWg2j873sFX+5RcmcPZaVYn4M5AZuBQjJwkmt6XgoKw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S1lzotjwO8r8L2co4V6lN//G6swnZcb/1Gt2FoiQ3y4=; b=eAF8XhzXAwSiYQZArAa5Pe2qner9ZWQ8D+ivipmX1KEHgg2zMNU3cEz4f9TAHl5yndV9I9MRoqhoNxKiAbRAHw5EeVIqeZtOTGEnQL/76T00VrNInvUWCG+axaTTHmeR69oEorhK8w/XiM6FdGyXfPCj8jhorGlH0HWvgqpSPByfXBo3QHxWm/hhcaEiP02sYp7UG+Uf5eFuVha84Jp06Yw9JGtCOV7W47bAR2A7sf+nvfQw7gqrHt2m+/5GJvoMs+S8mrXJtBFtBZXL1j11tgUqJH7xxBdXQS6vT7jqkQIlVxgxF5AulKMhJw0Sxhz+jJjmkaP1syyvKLmESpoJKA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S1lzotjwO8r8L2co4V6lN//G6swnZcb/1Gt2FoiQ3y4=; b=xWtag+4EjJPCqZg0mkKnFnAAWq5bNBN6Jka9THzM6ZXWo1dcmjMtwOTep3VEaVD2SVRVOZI5PV/cDzBueAn6oWsRUUgrGNm2IRoMUge9TiouGd/Skvxbx5lvBtQWQ1CWpcjfO/kAePcpZz9AUlAOqQxJfGzCDiNVu/nRsQXhYobw8WTDijgAKgPy0I9s09r2TcBF9PBh3h5oMrwzYbSvANXrfi5oTh5g2Cf1eC6dksBLDr0kyx682ogFhvhZuh5J57GSB24FAY0CrFmS5m5DsYyn3rYLwfZ/GIARKOSakF+DVxeFud3D4mBRylpOCGO+Bpva3LuPKCrCxIPYFw652g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; From: Alexander Ivanov To: qemu-devel@nongnu.org Cc: qemu-block@nongnu.org, den@virtuozzo.com, stefanha@redhat.com, vsementsov@yandex-team.ru, kwolf@redhat.com, hreitz@redhat.com Subject: [PATCH v3 8/8] parallels: Replace qemu_co_mutex_lock by WITH_QEMU_LOCK_GUARD Date: Mon, 15 Aug 2022 11:02:16 +0200 Message-Id: <20220815090216.1818622-9-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> References: <20220815090216.1818622-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR0P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::7) To DB9PR08MB7100.eurprd08.prod.outlook.com (2603:10a6:10:2c6::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 00becbe1-2634-409b-336f-08da7e9ce31c X-MS-TrafficTypeDiagnostic: PA4PR08MB6032:EE_ X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BlqmvSSMzpzqsJSJcg/PyFx6+RWBdzHbMEnBTqeGRnjPf9XN8sZNqviQg6VWupBVmZ9g9zZ5zRMi88Ty/kf3WMQL4worK9N33X+F+ox3tD+tPRsJltNZzx5sDFTUhnalDUj2NsLHInje0GYL0O2GvfibRjFj2gIJZT98WPaxB9CH2qmqxFV3SGMokTTxdTHaHvtNoNhm3orGL/ig3iHZitK7pr/GSDQqrlOx0qEcksXlmmspXlQPqE+ZmhDvvV009r2Q+M6ku/mhhqhpQqbDqV5np55SGuNRX71IT1D5/f5rK7g9WbFx9g+ueCTcrbxU1s/roCi4u6K7q330D/ZCtLTIXqP4kZoD1M+Q9PdWF4yYjgwOXGrMXSkSWKC5QxaldE4M/8GeuptoNR3BkbPdZU4qfIJ6D7EHc7ikeYMDcloI/0lJh+mYmjKQv8nfAMjNRbSINX1h4Nb5PF6aqS5UOmRKkNUbLldqQ5MMKHFsK4MWscD1E8j0KgOqHy+0aTsF98tZ6Sg8XLCCsr8bBCSpYYhdd2Zq/lPY30ttUfumpGu0nT+R7m3HaSupnaKmD5UOgTBHxdtDsgWR0kIMl1W39DtYvP3w6dl3B79N+ZR7GNhcX7qfNks/gI8N5adfeaW6n89UcTxP+/2czeUWV7pGydjqk45ivhSW/LoaC/EiJ8SqMsD5fhau78x85YcSVXD9V3kf/0YReNf12t3G9p1OGaB7vKIE21fha9292lLaP7m+TditBxxsGDBgIwNuKqSkRml+Yw9YdFDJfn/1mwrpO4dlz5WuJxUR93wPHi7PBesGJSaxittYAKNz5ZpEUCVl X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR08MB7100.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(376002)(39840400004)(136003)(346002)(396003)(83380400001)(86362001)(2616005)(41300700001)(36756003)(6506007)(26005)(6512007)(6666004)(1076003)(4326008)(52116002)(186003)(316002)(6486002)(478600001)(66946007)(2906002)(66476007)(66556008)(6916009)(38100700002)(5660300002)(44832011)(8676002)(38350700002)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?2u7k2yPu4xuhwZQUNG/REmPl6NY01I9Q3yRqjxHgkaV6JmpIujjCVF2iuQ4C?= =?us-ascii?Q?Y2JW03PCheWz16SrItJ2wbLJkJqobB+LR6m4waTPAlR40y9o44jJAZmxxym9?= =?us-ascii?Q?FaPxbeJTT6IgoW+KBONQS6bCpa/fX6HMlN/Y3b1E+n9PkgXA4UIngYyrNbyA?= =?us-ascii?Q?Kj7QozUpxu90iHisORyjYlQKAgRLFSwLs+FGHn9V8hHGX8PRms5koZrcXomX?= =?us-ascii?Q?Ggc1i5Yt0t5EHsG5GIe/FjrdCXqCVVxieffzO9bXgBF779Fc219upemUpO7R?= =?us-ascii?Q?YwTW/MGPwRflJTH0DQm4L9+HTAhS5W9kHOeB9LKL9wtw6KKs23dy0E/mcXwW?= =?us-ascii?Q?NjpS4Fu2kPsM/EpkH5nPrsMFCBP9+PwUaWg2RKoVJ6RNyyJAIuxC8ObJU6OP?= =?us-ascii?Q?2fwnx4z2zQlpY5E44DVfSXhRclLpBr9PCuXPL3OtaqHOJMufyXghlJEXX/z4?= =?us-ascii?Q?hrIQ3XodPz7xzekm5fARgtzcMhwGs2eMdLqOWPrE56JhadvPDQEtEtyemtVT?= =?us-ascii?Q?WlKV/HsL9wx+mlfHuZZctbdtIwOWz4l685Fn7G2p8VLWfkDiidVwRXUYalaN?= =?us-ascii?Q?4HgY7xPr535ooyT+yeJsuh+lf2Q96r/1ZFYc+e7SIbzW0XBxCmxifHqjHN3h?= =?us-ascii?Q?/G2PvAnE44lEc80Vuw7fgw+jwPMSv+vIbCq9gjdkgB7pj0O4tRScxdIsi7GL?= =?us-ascii?Q?uIvxA9BR1aH0cRMudkt9UtD+b7hBbIyrF8yiFGbtuZheQ/SlRkP6O/2xYXa3?= =?us-ascii?Q?nVhF2a0+XQlObiDeY/qJVdT+02yyJSMQKTrZbShNJiuLGTAYQv1MYuo8Mupr?= =?us-ascii?Q?SVTLnXLd4uj51y81AvVwbfABvu6OnHVuIQE1DQyo8tQBqM8wkkAqv2yq25yZ?= =?us-ascii?Q?w2jjuCzYvuwlgNvkKHdI4sueGZFMPA6mqAdNYty3lERoqitFTcZA/4SYE/32?= =?us-ascii?Q?ELuLzLfm/ftGTgtRg0Tbstpwt/8zAXiJCTwHdWPXtI5h7XBSWZbnT+zD2t0Z?= =?us-ascii?Q?WLtjDNh3dbGxiEDOMRguq2FvJSdtb5gbWnO6/obpkkmY3Uq7HDBmaSGbM2vE?= =?us-ascii?Q?lEZYePDCM7ocEJXPVH/yEyJXuW5tm5fD19K2NMQUyAJg4UgHMPaSpXSHJ09f?= =?us-ascii?Q?Zvb+/7UmJH7Glj/1xckbzHVvf9//8XgaaYaLIGFYDRqRhmpYN4h9+MSmM5c/?= =?us-ascii?Q?tDnbZbiVisRxKMmh7gar5SftIXbFUK25wZQrlZACwNCvl663KQbWhbwJHmb3?= =?us-ascii?Q?WSx0C4kKra4NVn4SPDXKN8IsXlZyVZvrxPbN4WWDIqMjtjBT2EEFf46tM5h+?= =?us-ascii?Q?wLPFQvIqOegwCWB7rfgfSFeR+Y2wCrjSHzORZyjJq+Go4AY4pRBFsQ6vM8xK?= =?us-ascii?Q?sX1QzJpD8VlyGTl+0f9Cbka4ekr3qQ6EALssClTmSCYeUIC6Sd/xg0UOOU40?= =?us-ascii?Q?dkMsorB84MMKUHu5dLAAI9TYyDyLjPB0f+wkPN77Sbs6p1CEViLuUqLet5zb?= =?us-ascii?Q?vwmeuBCMqbmoljYS8nQlGhO619A35J1VJ1R/B6zlQ9DMloGnuJl2emRtOSIh?= =?us-ascii?Q?rmBmNEWyR8zpzmD8aCq8N7Nf8MtrZbQEE7RPiQSIPBWmLvC4RWILprB/7TsB?= =?us-ascii?Q?0/mRG72G8sE82FpL4GW9gTI=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00becbe1-2634-409b-336f-08da7e9ce31c X-MS-Exchange-CrossTenant-AuthSource: DB9PR08MB7100.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Aug 2022 09:02:31.7557 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: JgFNnSOeHXySyO7IhHCWkA4ZebNhEyrlaZ/vNLQdhS6RRa2Nv8p+TGRAcGNhetcRwlQjrLTVVp7ooN57rGCWbNe5wIZbx3MBolwRejJf6k0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB6032 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=40.107.104.99; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR03-DBA-obe.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer2=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1660554915447100001 Content-Type: text/plain; charset="utf-8" Replace the way we use mutex in parallels_co_check() for simplier and less error prone code. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- v2: Fix an incorrect usage of WITH_QEMU_LOCK_GUARD. v3: Fix commit message. block/parallels.c | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index d0364182bb..e124a8bb7d 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -553,24 +553,22 @@ static int coroutine_fn parallels_co_check(BlockDrive= rState *bs, BDRVParallelsState *s =3D bs->opaque; int ret; =20 - qemu_co_mutex_lock(&s->lock); + WITH_QEMU_LOCK_GUARD(&s->lock) { + parallels_check_unclean(bs, res, fix); =20 - parallels_check_unclean(bs, res, fix); + ret =3D parallels_check_outside_image(bs, res, fix); + if (ret < 0) { + return ret; + } =20 - ret =3D parallels_check_outside_image(bs, res, fix); - if (ret < 0) { - goto out; - } - - ret =3D parallels_check_leak(bs, res, fix); - if (ret < 0) { - goto out; - } + ret =3D parallels_check_leak(bs, res, fix); + if (ret < 0) { + return ret; + } =20 - parallels_collect_statistics(bs, res, fix); + parallels_collect_statistics(bs, res, fix); =20 -out: - qemu_co_mutex_unlock(&s->lock); + } =20 ret =3D bdrv_co_flush(bs); if (ret < 0) { --=20 2.34.1