From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758423; cv=pass; d=zohomail.com; s=zohoarc; b=Afnflc/7F6SC/m1gEN8EKCy2Ub2Zk87o+kMiZVR+agwUELEaZkOPz1yDVY19AmDqeD7QvQpuV5SqOgWYusfTlx8JaF/CSHyHtKbtTVIfCWu7cFSsPWCG8O0F9mVT8OKADd1UYfAeySUSVi6XH6I0vMqrQioxa/7JGUHCwjRvf7I= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758423; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=GKJH/SnE1VYd6dB1J/HgjlmdPDZivDxE/8D7NJc2Hfw=; b=PcJjBtp0LynepwihKJIeTGlY/4Zn0JXfz/Vv6bJJpYUQmQ5Hft8qdBmIgbJZp2bvl+afqG0eXRYzDiBlUfgkzusFGvui58V7wsGZTHlYfn3mhXiUI/+al3q6MHpUeUPyZKfkU8+WqbGjOVKil4WA6aDCLjIvEm0aqiyRYrvnNm0= 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+importer=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 1703758423411955.7144325159765; Thu, 28 Dec 2023 02:13:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNg-0005Dh-BS; Thu, 28 Dec 2023 05:12:48 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNe-0005DV-PE; Thu, 28 Dec 2023 05:12:46 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNc-0000Sp-Ie; Thu, 28 Dec 2023 05:12:46 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:40 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=P9e34O2i1NHpsh6KYjV2RgB0jgXTC7O9jHB90w+IYjKY8eNW5V+v9XJwa6tWnMu/oI9+bXzkl4XGlSwauKNZhfH041u/0367eqgWHrHDCC7NdTjPkyLenI1Yce75z2mcgKjPSK9s/qbVvZukIlV9ASdqmV8H0af8b/Qkh2PbTBi+GcRcD1MjJxslWaqhTrLpJMzreZby5fgaDU17oYPbNhv7ZfH7h93qASvp8pdRaH3pNKbcTxc2n1l/f6jcdkFPy09OyWRGauSc1g7q/dlal479rDAS8yWcq79n6fpc1RjudKCzFhmbuCwf8uTBcVmzQ66XEyPZ6X7BIMpgjJJi8g== 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=GKJH/SnE1VYd6dB1J/HgjlmdPDZivDxE/8D7NJc2Hfw=; b=gkEh1jvTNQ0MLaTydeNheQF51V4fz1YIslGTdqsvZACr+A3o9ilLuaX52Pj5nU3MgXV7P96LxWiFQNJAef7l8FjjGw9QPZUJtReLz6LFwL77hSIrnQfmMxfa+/Zxay3dB2aYVvxwS/2f9zXWLDTcCuwacrdzcyhlkYaGDNDJUybxm58/sYLm2kTRddYZbDNchxR1tHX9K61xqrHYY70TB3IEEGeYRod7psegIo6HRMuJriDMFQ+8M7GaEdHhDyv3iwkYmp6E8H3njRZeYsvBAmO6dmPY5CtE/pc1gmBMpc31iSXH5eJ4k5wyYRmggJHnoPR1XGe0o/linTn7CW5Neg== 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=GKJH/SnE1VYd6dB1J/HgjlmdPDZivDxE/8D7NJc2Hfw=; b=qNx5+EuGfeiEvuI0P2NIAh6XjlTeV3NwipIJUdEFRgwfzwt6hUDFR4TsEMKgVulKEOBL7B6zIW2aGA8+C10eWUam2AkkcXbpCUL5+9sf68NB8WR+/qRwcsWQv6d+dJy7d7dd8vkPtKwiprsfkFM/uC05PIqlgCoSW9Wq42RH/5pI5Y23LEeH0ojh5qafoo0L8Oa8wbD+IzbPA7b0T9W/Mgo/cXm3bqcNdn5mFFpHRXviLJRWufWgXdPVqo++7PBMV4Tg1ar2QxrAeE5IkxiVRpskWfd1bz7j5XVAu0sr9nfoAbzfiIBo1EC5jOjsMYlq0lUlDahInfbmgQeLpRcYog== 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 v4 01/21] parallels: Set s->used_bmap to NULL in parallels_free_used_bitmap() Date: Thu, 28 Dec 2023 11:12:12 +0100 Message-Id: <20231228101232.372142-2-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: b201b427-ea7a-42c8-39cf-08dc078d85ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: zrIqyAhBSMa/UZAmb9pcWiYXbgKHMXBwB59CO93+F8u4vOSoJ2osW3n5wNew8QQy6TXCtIz9PdWMhBcUdSG/sbt5enLaBwszKQbBpIT6IOLNC0gYPsjo1ZEJgA+WBzOq34qS+MpvobznjVG/pe9rwIekFQUJvwPkv7uzVWl79/DuvkOgGbGRoz6Lrlj86tY9841kcqOaLJMCsmK83R+4uqHfkoExCDJekyDJ1mlKoPyYIyg0NaYubR1r7aBhqrHwq1tJ/P2dgY7aFyCNfmHE7+7yAb6o/wGvSTUgS9uAnCu+fN9dXNA2cPwUGA4yTDXjk+95stEbZExFy45asKX2ZLzh/TXoavSXzgkT4iCGO/O+H6i7DCk7I48mCKX5F4YXIRmwBiKoyz7nz8xXpGDLWifdmrvOqAZVZzmrYIPRb5HD01/dHkXhQ19Lb0m6GCdezrt0UVgKuxTT2Xgf7qLh2MQcCto3D7fHMMVFvD8V/3HHnRUHgVUMrJdnl3hYLQPc4DSJDA5+ZnNeEXvDUGAJXw/x0jByEZnejeqXebsxpMdFuKJdQQUHTkcf7CFXnxP9bnUvODFto0qkcsM25di91/TsXe5/BOb1kfCGpALVBMWDrGKke3SBjimstTz51C0k X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(4744005)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?faZzW4fHw7YQNUWQ6X3kmNklZWGMhjRMS3/jsKfSf0+MLeyXq7c9vQRBagYo?= =?us-ascii?Q?cP0K+ErlHz/Ip+KipILw71uKYU+lWSvyqj6bJ0sDiU0qytodQXDnQeNn0VEs?= =?us-ascii?Q?5VrK2fpsHWU5x8cuy+IE9Xmkr5Gd9OYq7RB1ZO2nddOAh94H7ZAujwIXxKv1?= =?us-ascii?Q?l7EEn0VYs0eDkAVTYVsDlqcIIYS3AuH2se3A16RZcEfK22L02BxG3awBCY1A?= =?us-ascii?Q?hZK9hnjgvvZWZEancqOCfHWi1Gr6MEJqToh3vLPxNdCcfj1PZ7SMG9mzm09V?= =?us-ascii?Q?vImQQKyWjx+Pl8xu0t6J+dqJLuSPNBlTmSSTJmX4B2IDjjY46CdOJKg8pPaw?= =?us-ascii?Q?DoO3Rq5AP6WwtWmG8OlvdwMKu7M3q1+DREJ1vob4O7dmLCSYQB2GA/yXAjc+?= =?us-ascii?Q?f1sLOupgKbtjD3k572I9LxA2l1Wv3xKwctruda/midkR5RFARYeqpOiwxNhg?= =?us-ascii?Q?1BuvcIOJbgzcnfA33WzEnr4Q/mdaUqqK4OQYGH5+/lolf53WBsviZLNIT4Mt?= =?us-ascii?Q?uI3y5RMH4jK92QNNt3yb1LQusSyN8K1amMVVUPBIwnbCR4cO6vKqnP0rRqtb?= =?us-ascii?Q?JqEjrEsfi1OKtabK2qvC6Ea2pRxowOtHNRpgTOprzNxnya8jBCR8aMETllRT?= =?us-ascii?Q?rIhEQy4fE4Yw8sMUTpNLpTA8gKPtd/B/DQ80NjMbs0Y1y5GMs/7NKl2Fv4hL?= =?us-ascii?Q?KoIC5IV6FPEDWNXjXUUE5SeRWXQ4XohlQxuDIH62tjzDgPlgk4lOhC0IKoHi?= =?us-ascii?Q?3fEUxOSUZpTstZN/huGUmCqvUrcRV5hnEd/8RVm4S8BTKXGf7j7QYix5omjm?= =?us-ascii?Q?fIPH7/RgL5yCozueBk8EVKv6ZkAi0Lb/eo9Tjh2HQ+6OFaxJJjnF7BqU+SpN?= =?us-ascii?Q?9qu0NMiv+FmIaafO0AY6DJWChkaLplmVg6ur+61SQPlnuVtMyMBOS6CsjalM?= =?us-ascii?Q?eafyjcXqhDvCvw7vPzEvEFowpFuhoC1zc+daexKRcpMZoohrU0vTMiaVo+Tu?= =?us-ascii?Q?j7YzYcgAp98kFcF0TNs94s6kmuwSsQckI1oytjuDkvMbRNXMlgujGQV0cBCz?= =?us-ascii?Q?dZ7vLCuwkf/35j8FYturij7k7BHTO+UEc0RWQMe3oMq70ZXwtUp2AobfMJiB?= =?us-ascii?Q?4I3XBip7uP1Dt0RYJHwpjGKlepFS/aSyLFed99hZrvWBlFed68mE1u+p4MEN?= =?us-ascii?Q?siiUIl9R1wUMzs18nqxrhsGqQSKmYX/VEWfKDIPsz9w5kwL9Af9VhNgEnw8n?= =?us-ascii?Q?hToNGw3bj0WEy0Pj69lYIx4KY6ZvRRHgfClyT6lC3BW8ZJGcnAjzIHVmCwIv?= =?us-ascii?Q?7fvFEe6ficCVtWQDZtN68R40fu+5I738Y6zPcVBgoRP5MPxl5TI8RZfmlNos?= =?us-ascii?Q?+prsDvuJHIvxVlmeEAv4KAnXRmWqfhvelJO7jsZMN5v5vG5RWujstXMNifAi?= =?us-ascii?Q?QQtiua0MbrZZqCT1mnSPmGcEbMMWuNg6gGlEujDk8LMGm/wnXQ/8sHSTHBRF?= =?us-ascii?Q?/JWpMhKvQqqdSWjLrgkd2YTPmzRmaKRyrmCI1sMhWaYAtqt73ySy8Gk6PGGK?= =?us-ascii?Q?40ur0Hnn8tD9oOryUh3ibK6vININVRiFl1JIq8g4KSCce+nxIK4EQQjYSOos?= =?us-ascii?Q?mrVm8mZb2mDdiu9lE/DKHAM=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b201b427-ea7a-42c8-39cf-08dc078d85ed X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:40.0171 (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: B6jNsn91ihWu+XDe1L5PsaaYSTNut4q8lwd+UyDFOdFcPxC1NHnT0lQc2egWjmG3MT0wi8tmxiiu7TJdPjNqTGNFbtcK3EkJ28R4kW2X39E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758424197100001 Content-Type: text/plain; charset="utf-8" After used bitmap freeng s->used_bmap points to the freed memory. If we try to free used bitmap one more time it leads to double free error. Set s->used_bmap to NULL to exclude double free error. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/parallels.c b/block/parallels.c index 9205a0864f..072b1efd78 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -245,6 +245,7 @@ static void parallels_free_used_bitmap(BlockDriverState= *bs) BDRVParallelsState *s =3D bs->opaque; s->used_bmap_size =3D 0; g_free(s->used_bmap); + s->used_bmap =3D NULL; } =20 static int64_t coroutine_fn GRAPH_RDLOCK --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758423; cv=pass; d=zohomail.com; s=zohoarc; b=Kp6ZsCR8XRC/i7njXZW5x5nE//wb7MD0wcEDtKYrB7sWI5ny2m+6HJFwWsFQogln+u5hsKIqNvQpPRBzosXDNs0emzs5mqb+ti6+6FL96sC/IUUdGW2VGdrUvrKljF4JfjBnhdPpaGbyDNhj9CLpL6P0yDQOKJLNlnz6ufgSik0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758423; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1XGM8R+1YhTFUzcMeWgYcDxrj2klo3PteoKf3LFzL1k=; b=ELrZl0VuAq1nTcmOKv9i+I9Hqkl97UpOEaSz8H8C1pKkQPAV1svBLrteRqiO9vUnX4TJEQNo1Szxdnt/eYLxaOmoHLy5PcHHtw5sOTSofArbh1udVnVfybaxp0Y1SGmStidP5CtRLa+ptAcPo5eRFjZkuT5z8AQNVdJz9n0/NPQ= 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+importer=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 1703758423549387.5228419162729; Thu, 28 Dec 2023 02:13:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNl-0005GL-U4; Thu, 28 Dec 2023 05:12:53 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNj-0005F2-Hg; Thu, 28 Dec 2023 05:12:51 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNi-0000at-23; Thu, 28 Dec 2023 05:12:51 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:40 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F6N9+IqwYI207C/ICzZehkfE4EncI4nooptRRUdbdUJm8pEflNrzrtcAVxuVuCEpMb6NsUBSmR4ZEBc+ZWsWt2Bf60vY7//8KbmbxkmdUjetY8Tc/eDOhgwiJODtol1ERDd/qZ09tYdNMpWuf6AWsqwuurdOcTCnYUJRAD5bV5X/aRHuZuVnv7gZFWn1IU++NaXWf3gqtxJeJvC/9nPjWd08ZNcEqUOHn+Cnkz8s4LEB5a9kYX/cnuauwDzu47t95ErNcQGZuocognPbebqGpChTkPpEjZAAGNjqitECDbkuKWRBgLaMKIcwXxJqcQv5oRB7suM5QGazEFZFmTrC3Q== 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=1XGM8R+1YhTFUzcMeWgYcDxrj2klo3PteoKf3LFzL1k=; b=nVfmBnbNxp00oqPoNf5x/3gq7qwe2vqEeDQXEQS/KWjnKfOy5zwl1Zo8AMZuaJJZdvV+QX0VTSBycWqyAzJJWNoHHVMvKe/Rx3bE5u/zYgttCYWOKbx5UIA1wVCX6FFShaKIwePAd8ZwV+aXJ7G648d3fROZAxpB1WvxHLnM0D17lCh1dDsetiWtsbQwBAGO9jH8IQB7sg9z6CzxBZIgFDvzKyreAOWJ6GHL0XPYinaTVpG4to9nQXow825/RflJIvKF5qWWPkLRca5bGSUBTaMkcRByZ2i4EQevHWfvp48ZKROFwdWqKSui4tjJKjK/JOtOjAEDPLXYSMi40OZf7Q== 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=1XGM8R+1YhTFUzcMeWgYcDxrj2klo3PteoKf3LFzL1k=; b=RXf3Eg0w0ebeYOx7xzEsy73BLzufbQI4lWl9xGkuSgbBxU7hFHK5wc/HDcIPCMycYeSZtHdF9dI7zBf0Ce6+3XbSb7r5LbLzm8+bLclK2CmIC3kmAwb9sYmFo7G0tYSm0oANQuUZqKOiFb+gkylQA/fqgjhynk0ZqVS2s7LGpU0KhXGi6lBeOJHhSFwbxYLN4PWrjilsqmu/abjgr2sZTvd8mzgKRGagokp/EO/LF98/wdL6lGYKM/Ylc4AFokvY98/nOX0oS/x8WIs1rrf+lNyIdJzmxeINAzNeRpEjV6zpe7qt3BIoIHYQn0m/jA4WDS80ErhOeRRxfFLcFtmPNw== 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 v4 02/21] parallels: Move inactivation code to a separate function Date: Thu, 28 Dec 2023 11:12:13 +0100 Message-Id: <20231228101232.372142-3-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: b1f84a55-b7d8-4be9-d4d4-08dc078d8647 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cXfEihPpF5wMBqMyTHuYJQw410Q6umxN/rQ8TWOvc0cOcslE7vYzE7URvYN00TrvyO3Q5sCir4NUuOJS+kQ26HahPsY+ODzGsSoL2wT+g764U76VcKEnqCNsJOd4AnsTSygf11uU4yWBrUfYBkhvdiZmR+IteqSg7ZwpzbC24P20RGY+9WUqfZ9xOPDyIl1iYSKpPi08zof9Rt/32ER/cQWWsmh+kA7irJ7XZcJ4A81LjuFdu+KRYoe9l319hej2RtGCQ8sYMzF5hnAJHNSEhAgycigElMcz6wrglTQrNvyya4HHvwDDhGBsif7OAQ05Qe6rkXB/JHSgeaQifLgAg+79xC3KLIXU57TAm6RmKsjErb4F9NgpSPS9qBeCdpxQg0QGOXTsB01LrSJIJesAwT2AilFeuoyfsIY9TyvoC+yI6DgUH0WNbzicnffzFXYUg3DH18WW1VUsFWQfzgte23/m1VfhSosKIFx3KdMV3P3bh35aZdFY26dbkTiiglONatXqkZ3v0tOYwqtRf/WsEcXpGBszWybHEkUksGgprgiU+ZDyV5S2Mhx0etE49gHwGpAuoxNbck3kmDgRBezHXVCzARN/l8qnv/a9I0NR0cuT9FrQQYA+QazysjCfbwCN X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tw4r3a+ciOcBKqsuo63E/sz5ko5FtXxQTHJOzrBy0s3zskmU2Qc1Il6uvzxo?= =?us-ascii?Q?qswNdQaNzz6x3fragtUbrprtICVgQFVx8U5Ht+fsOE/sk2NGtbxGMGExP2Hu?= =?us-ascii?Q?+fjCOPq6c7VkdhyKQsW84bsxN3mu6zxP17wtUFXoiwoKMRq2FEdOs8hjzu1/?= =?us-ascii?Q?o5Rp6vv3lVqRBB+YxZO5oY6LkuVwflwv7JiPQ9+UbIPNBKg/Cod7rw66h3Pk?= =?us-ascii?Q?Z4Hje0w+0fcb032fKmR3B1+Uu0jWW338k2/VemgpJkFXHSvEXudz+fXS5vLf?= =?us-ascii?Q?5AjXnr1AwiaQN80OuvROUYFgMKbSPKdw/vp00s++4HlX/um7LzsBrBeVMjOg?= =?us-ascii?Q?mq08DIUu91ldQdhrmhgXJTJxqw0ITM9tYERirWCLqOhdy0JPADuZwgZW9MGb?= =?us-ascii?Q?iMEenhHl7mGutjVA1YHDRKAxCHu7Oqu633FNE9aToIF+i6rUbyPKkKj8yJJ/?= =?us-ascii?Q?+cuDzeMAa7ab2p8HACTQuTyVWUxG/G67sWiq8fB4Wt6iqSGPyV4+j529SzK4?= =?us-ascii?Q?G5azuDgZq+sUwDeoeYurLBHih9KViZMAOsmY45lqpff2pjadZ5hzOdrVSjTL?= =?us-ascii?Q?qWoxngcWJJcJngXR0jYOQ6c2K+WpVMVW8pIU6+r5yh0UwvclnIVJVD556o6h?= =?us-ascii?Q?/rYF4xApudDj75YHYQuvYMXI91cpHMxXisa9ZqpdoRu9wOo8oe/+CVkhOWhP?= =?us-ascii?Q?7IV5pHQ0UOTSAZiu31qh18SYD2jW3waHXBfTxCQEdu6ujZh8KSgQtJB7Yac5?= =?us-ascii?Q?1xILzhkF0ifZ7ZNgntqt47K8qUlg+jeG9CNi19vPMJCKSXVqAXJj7UMF6arp?= =?us-ascii?Q?D0R65jZYsB19tVLRKVwa+uPVu1doqwsgauQN/xkdOEQkp/bC64TYIh8ug619?= =?us-ascii?Q?CrknJY+ZHjTBVE4FrL7Y8nJYPWcbM3C2kvDn2/AY+jz+FuhuCWjnDtg0FA1b?= =?us-ascii?Q?kL21hM35U5O/F7RG+MOyz9LjUM+2rKgDYlbLO/2FU/p8Lon7DDPixE7yEbKj?= =?us-ascii?Q?pY4FA+WZcusAEVixse4dm6vUCRU8u65rTqllacCQL4FgbKkgH8YRuM5F7bap?= =?us-ascii?Q?iln3xPdr8GkQ+ANPGF/eXxkae6LqHeAtcw443bYBTlvYwAwAk4eQIYhVq9we?= =?us-ascii?Q?x4//npG/pQCBSkPxt4cRv6UeeWKW9ApkplkLQ78hW0TECNEdHypBPbf+gd4j?= =?us-ascii?Q?lUiJe9IsjrgalDnnovNOl547dx597tqOINc8tCn1VPvI8De3hgIkB+1gLAuW?= =?us-ascii?Q?ZiD/RiZdqL/FIq5W+PJqvrw2UApGdLIFTGTlSdsCvrJYaaspTEUU420A3JQ7?= =?us-ascii?Q?kRkND2qybdQ9RSV95802NFCl49bDhsZtGE7bf8MhWvMXk7i/v7xQ4hzdu3yo?= =?us-ascii?Q?lr2+h0YdvlC8TilvinV7W+JC27oqWxsb7lldMAaIR16Tsr7TDpRaJcFVC200?= =?us-ascii?Q?6Nt7CkBqie6m4L3cis/PWb4ARnevvp/VXVvPFFVKd9EYg/Yvjj45XauXqtTq?= =?us-ascii?Q?osUhsYc+1hVT3g3eoy6aIqy5BawGi02fEHVsXmH/b9pTM0uRc30BOSBQqQ0P?= =?us-ascii?Q?AmKwGGd+onbS6MgwvPkryQsuicA14IyMFLZIRa/HylAnZtTQsOkHCbLfbUox?= =?us-ascii?Q?M0CU+BaXu0sWexbrqMzVa7c=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1f84a55-b7d8-4be9-d4d4-08dc078d8647 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:40.5767 (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: x//GWWOszEJeAAbm4J1tQ4aGO2a+9UWlrWqYOGHvf9doaXnjGf19MgJ2GsE0JpU49ZNK6M/JORu3hve3CCwCj7uadsrwszYM6axSBVIUyJA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758424200100002 Content-Type: text/plain; charset="utf-8" We are going to add parallels image extensions storage and need a separate function for inactivation code. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 072b1efd78..992362ce29 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -1424,6 +1424,20 @@ fail: return ret; } =20 +static int GRAPH_RDLOCK parallels_inactivate(BlockDriverState *bs) +{ + BDRVParallelsState *s =3D bs->opaque; + int ret; + + s->header->inuse =3D 0; + parallels_update_header(bs); + + /* errors are ignored, so we might as well pass exact=3Dtrue */ + ret =3D bdrv_truncate(bs->file, s->data_end << BDRV_SECTOR_BITS, true, + PREALLOC_MODE_OFF, 0, NULL); + + return ret; +} =20 static void parallels_close(BlockDriverState *bs) { @@ -1432,12 +1446,7 @@ static void parallels_close(BlockDriverState *bs) GRAPH_RDLOCK_GUARD_MAINLOOP(); =20 if ((bs->open_flags & BDRV_O_RDWR) && !(bs->open_flags & BDRV_O_INACTI= VE)) { - s->header->inuse =3D 0; - parallels_update_header(bs); - - /* errors are ignored, so we might as well pass exact=3Dtrue */ - bdrv_truncate(bs->file, s->data_end << BDRV_SECTOR_BITS, true, - PREALLOC_MODE_OFF, 0, NULL); + parallels_inactivate(bs); } =20 parallels_free_used_bitmap(bs); @@ -1476,6 +1485,7 @@ static BlockDriver bdrv_parallels =3D { .bdrv_co_check =3D parallels_co_check, .bdrv_co_pdiscard =3D parallels_co_pdiscard, .bdrv_co_pwrite_zeroes =3D parallels_co_pwrite_zeroes, + .bdrv_inactivate =3D parallels_inactivate, }; =20 static void bdrv_parallels_init(void) --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758446; cv=pass; d=zohomail.com; s=zohoarc; b=DSIA/66RWOnVl5GpARg08b+0QjktStYaU8FuKxGTuRrPew/61lruR/u2GyAZe6d87bc3XUcVmUVnuTOO3cbKqTxxB1d8HHLq1YAL/NDEIV2H7F8LJPfKEXBkZqfSfNBNzO9CAMPq22pHYg52qt0DpJYG1r5qwEbd58MSHjzkMSI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758446; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=QZAYmTt6a8iWzR3ObMRJXGIqRa8RVqoX0brRg6ZAt0Q=; b=V8CypLOhIyQEUEGBnywfZUs4dQDKKUTj2ZYgub/TT/qruBpqEtgKFR25catKd2X6fbqV1wEMwb5r8BnP2syIdFHf4kVxDYtZQpgW5ohSR0+Y7sYSNdvif7jKh1JHg+AA2pNZbxCMeLP5SU7PhnVS3u1IBQn86Ks8OZVtHN+r2cg= 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+importer=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 1703758446762553.4913405687049; Thu, 28 Dec 2023 02:14:06 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNk-0005FS-Dg; Thu, 28 Dec 2023 05:12:52 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNj-0005F1-Ei; Thu, 28 Dec 2023 05:12:51 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNh-0000Sp-Sl; Thu, 28 Dec 2023 05:12:51 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:41 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:41 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N6LH/WsyjdvQhYKiJZPQJJgFmR5ONVRh0vES0HiYJmf2ew+8iurUAQfqd04CmC43aItfF/6oi0EzzPV2R4LWCinleAiWI7LTf5w7YFUDuAoWo8GwNBAxcklRCLeyE2Mv0njoV0ml0yNWqzM0YFGHOuGX32ZDnk3Fe4R0/0dI+lDLT2LpZfNF+axRbdqMH2s6+eXYzvdfTpRr7kCrH8lermmO2yC5XOCdRWzjqnEOO91mrW2kA+DpgXjNsRB9GnMbHw2rIn2akPBQgtDMfuBVpqr3K1gQiB41p8cWgsrnTYMrHA/6Z3VXjyjh/YWD87WrG6G1whn/AK3E36GsBDXNwQ== 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=QZAYmTt6a8iWzR3ObMRJXGIqRa8RVqoX0brRg6ZAt0Q=; b=QLXIwTuvzHaFWidAp/ad/rS59cToM/sgX0IteOUWWeUbaHdRTjiw6RkOvQMLELUnpBggcOmgotXbs+esJnd0ukrlBK0tGUMrsXcjp9Oe5So5SOtkl7fNAQNDghIwiNyddnDLv3jIQeRFiPVKuOJA4Y0tY+bTZrwcRPnhQr60vLkP36Prj2zfD0+ms1/xKZFJpPdzVlWHs1L3XB+vhOTv+SRAjxhmmWPhXQIKBur75N+DWYfi1DVYTMQqDQQjY1jwwhjPeWetlALRkJLaQFuFfGVZLywGOGjcSTez1X0MkAjiXQKR/SYmGwbzbFBAVyxdLNU0rj7UE79r/Ph/xPxP7g== 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=QZAYmTt6a8iWzR3ObMRJXGIqRa8RVqoX0brRg6ZAt0Q=; b=hlZmEzKCFRI7YfPqGbNZS/GzRiOeitgFA2vWNqitjh4WuAZGS901Qeh0X85m2/vSJsGHUAV6pOTXLvJAYlYPqcmBQ1Q5ixphdCsR1QzJdJ14BwiTmVZNaDRfw1h7hyEU22VauQP/uy3SwUQMy4QzmvDJ8WM+TmAo1ExGPxOwWVMtK2N9HI++on9wPILcYUFXf/8ufVy+1EyDsOLBuBuDIVSKhIV6WLZUsvaeVWE5dNAeQ5et9TkgD/yFkL7MzGOwaKp0zq8ZoSfEvLmDL2AM6efpvSx1GXHxryvqKlBvL/OqjX3dDBYmdtpCD7aQGch8eVXms8KklDtQb7bX2hiokw== 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 v4 03/21] parallels: Make mark_used() a global function Date: Thu, 28 Dec 2023 11:12:14 +0100 Message-Id: <20231228101232.372142-4-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a3ce7e5-8c7e-4a94-6faf-08dc078d86a2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Ibe41QkepRzS01THvdA4/dB5XmszX5CxF50H81Ibe1z42M2yBgC5xTVKlt7KYLnb76BgDcbaRa9PwuDG6676SasdscluT+CkUgl662sav9MF2xot//7zyYdLnPVeA8OIHl6V3Dwx83Vd91Qfrm3UgrscyF13VVylLVSVhm9YMcHDf3zpvK6gbrTXx902qknSv4xiKr9ZSxOFZNkR7v0/0LcdELZUBLJunBOwJI3aEtNj3at5uUxqqeHzS92Aq4ocJMa7uePY3bJrigQ/d8Fedy8NiUtlJe4LAzcS5g0e+sEYKnYTYL0jq3WcEoxNWAS+63ibi6XtR6khkZQ+1Cx3R4Iu8SUw54mcZ7/S9S9CdCa+mXNX97ANVnEZXVPUDuzAf7HwxqnXZ5/schrgpxc6iRAsJdzpV8629YSpXOxfPNXQ25aqRJkFDbp1kBQEllJ/yfP4LoCQn2y2KIvWWxB4dXAwqeB035ob3mE/553DJwfwFv0Zzhonl9bDBcJ5NtC64idqMYB2QUltGassnejcHRH9N2G3b2qtHrgnLh8qHn+dgh+kY/ZAZ7VCcU1+BSMyfzL2Uwk3QsQB0cXkO92EAAydF2zyy54GMdt3FP8SIptlVTMOt9hGxCKI4HUNz061 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?t+yjKdzJ1PiLsv84MR2LtSFshvlQ2j33b2rmBJ6lfakNiAsZGIQwSW59cVyt?= =?us-ascii?Q?prOmPyzT2VJY6RbpKuYz3oJ7SqlP2zTPhmesRjB42DPTJc2SSprfwrIvJZsX?= =?us-ascii?Q?vUHsAfARy/UUkkT6focfrozKM+DKCSB61jt/I428r0ACM62e/kE57jC2OtFi?= =?us-ascii?Q?9P6ZuK5Alfi7oQuNXVDQjpvlu+85vVxEecDJYPyvRTa6EAXCNI4C0yOo6OD9?= =?us-ascii?Q?xJNniNlJmempNDURPJL2kWXztXKBd/6LTMmR/ll2TvyPsemC8kryZaDDbCUO?= =?us-ascii?Q?AuyUCcH17yaGY5BQ/G7HS10mfzPgWCiKWqxeLO+eIIwMBZJKrTPNRywN2JlH?= =?us-ascii?Q?771/p36IQnK23EZOH/WBYI4UJSSVzUdv17xExOx7XYdn/m/6ww01pM1xA1nv?= =?us-ascii?Q?7Kcj4TZjSU1z2WebXk+BFyrOWG6imBcJMYFd8e4cBmOjuDN1yTQ8RDFJx3ZY?= =?us-ascii?Q?+cQLENVHakoeMYPgEfqZPGBC7QBU0WNv+rmEioyMninl2xd0F/ykuAmR4f2G?= =?us-ascii?Q?z90/AwRup58jKOyQj3Gjcg49pRxlw7gXepbXs09ccwlESCp1iYemb4CDpsEg?= =?us-ascii?Q?AmXaV6j4GYaYFHLdSO1d2XK31bTHZFj2XqSi3zDeIU52WvqK8dZbSseZqEc9?= =?us-ascii?Q?oac/GTJYlwUaPM/Nmh7k5nK7fZvqf8XP1g0g4rWgF5vX+w/Mvh81kEAEZJI5?= =?us-ascii?Q?hXj1gYkssrBIx/soUcmPV1lzRudBJFl4MEmf9JVCY8lm54O2acxOE7SYrdCd?= =?us-ascii?Q?0OBicfs50/GIWjpOioEKY/xhBbMEpD4UBquAMMSuI7Q8ygjhpM0Mr2F8hB+P?= =?us-ascii?Q?+XLcDe/i3YYDjQoNQFZxqi+Z9qGFMMWOCq2Fy8vJq43IjZzmRLpz1CQvmksT?= =?us-ascii?Q?vMhixcwVbU8DqV077bIOvPCCIUufY9bO2glGxChwOhwohL1YQ4AHicwEfz+g?= =?us-ascii?Q?kXli9ikmW8s/9TiDUcFK6I3FB+18M8jg2tLConFHJJhbZg5oMSzCnoTnxDL4?= =?us-ascii?Q?DMvLzC3hfzEcyl799HVZ+a4NUJVOur/0pDnJ093G3MidovxfBrec2NqrXEby?= =?us-ascii?Q?PRzMRY3dc7daK8jw4G8zxWpHygCC+i3DS1gawE3RUKXbsY0/MD0zdjwAz02z?= =?us-ascii?Q?bhXCXRMeayJiZF8S0Bx7mv0AP1tkTu4VB+9gt0sPD9Gui1gkOztr90j3YfZ3?= =?us-ascii?Q?Ot409OTyiIYso+bOMrdhJzqvwVjuLxUac7ieAK36+3D4hjL5t988P9+n5DOo?= =?us-ascii?Q?/CRzltTPp6nieKZfmrGZJEFPLVkXIIUBxhof3aSHpJmMdxbETkY37Y+HmDxa?= =?us-ascii?Q?6bGiRO5FgtzrcQiLNGGERrSInrJbWKwA5wnxiEnxdpvKk9tvXXhueW5TmaBd?= =?us-ascii?Q?WeSsXdlEzwFUwZ8cEzMg2kmYhvkoMG4cFQkX4RekbbyQ71tsNlzQbL5ZnbP3?= =?us-ascii?Q?GSQ3UitdbbVQvJsm0S8zviba492bwANfzvnFFLsI1reRSc+VRk9Bry7/PowP?= =?us-ascii?Q?FZ8jXzX9PMH/cl0SlN2MNegKePhi5tXGXd3apZBxn3cqtV56/+E9ITK2skKw?= =?us-ascii?Q?Sre7VITYKcCn1ZO2cMgzed3Pv2B9p+AZCW3se3NIL2u5o3BCOpJskeb1znBQ?= =?us-ascii?Q?jPQAyM4zxLdqKBsXSqkucm4=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a3ce7e5-8c7e-4a94-6faf-08dc078d86a2 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:41.1466 (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: mvR3+XGXjXLs+fkbLFnlGqz9pulD+hKDEyBgE/SzqQXE6EXvqeQA9+4WI8AV+mbsvGZ+vxLxjQWoE0smZglwkSB07pqKy9YpCjOSh5GSL6o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758447840100001 Content-Type: text/plain; charset="utf-8" We will need this function and a function for marking unused clusters (will be added in the next patch) in parallels-ext.c too. Let it be a global function parallels_mark_used(). Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 14 ++++++++------ block/parallels.h | 3 +++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 992362ce29..ae524f1820 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -178,8 +178,8 @@ static void parallels_set_bat_entry(BDRVParallelsState = *s, bitmap_set(s->bat_dirty_bmap, bat_entry_off(index) / s->bat_dirty_bloc= k, 1); } =20 -static int mark_used(BlockDriverState *bs, unsigned long *bitmap, - uint32_t bitmap_size, int64_t off, uint32_t count) +int parallels_mark_used(BlockDriverState *bs, unsigned long *bitmap, + uint32_t bitmap_size, int64_t off, uint32_t count) { BDRVParallelsState *s =3D bs->opaque; uint32_t cluster_index =3D host_cluster_index(s, off); @@ -232,7 +232,8 @@ static int GRAPH_RDLOCK parallels_fill_used_bitmap(Bloc= kDriverState *bs) continue; } =20 - err2 =3D mark_used(bs, s->used_bmap, s->used_bmap_size, host_off, = 1); + err2 =3D parallels_mark_used(bs, s->used_bmap, s->used_bmap_size, + host_off, 1); if (err2 < 0 && err =3D=3D 0) { err =3D err2; } @@ -366,7 +367,8 @@ allocate_clusters(BlockDriverState *bs, int64_t sector_= num, } } =20 - ret =3D mark_used(bs, s->used_bmap, s->used_bmap_size, host_off, to_al= locate); + ret =3D parallels_mark_used(bs, s->used_bmap, s->used_bmap_size, + host_off, to_allocate); if (ret < 0) { /* Image consistency is broken. Alarm! */ return ret; @@ -827,7 +829,7 @@ parallels_check_duplicate(BlockDriverState *bs, BdrvChe= ckResult *res, continue; } =20 - ret =3D mark_used(bs, bitmap, bitmap_size, host_off, 1); + ret =3D parallels_mark_used(bs, bitmap, bitmap_size, host_off, 1); assert(ret !=3D -E2BIG); if (ret =3D=3D 0) { continue; @@ -887,7 +889,7 @@ parallels_check_duplicate(BlockDriverState *bs, BdrvChe= ckResult *res, * considered, and the bitmap size doesn't change. This specifical= ly * means that -E2BIG is OK. */ - ret =3D mark_used(bs, bitmap, bitmap_size, host_off, 1); + ret =3D parallels_mark_used(bs, bitmap, bitmap_size, host_off, 1); if (ret =3D=3D -EBUSY) { res->check_errors++; goto out_repair_bat; diff --git a/block/parallels.h b/block/parallels.h index 423b2ad727..68077416b1 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -90,6 +90,9 @@ typedef struct BDRVParallelsState { Error *migration_blocker; } BDRVParallelsState; =20 +int parallels_mark_used(BlockDriverState *bs, unsigned long *bitmap, + uint32_t bitmap_size, int64_t off, uint32_t count); + int GRAPH_RDLOCK parallels_read_format_extension(BlockDriverState *bs, int64_t ext_off, Error **errp); --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758524; cv=pass; d=zohomail.com; s=zohoarc; b=meEXyesPZw/WFtffbamVxOVJVCE9s+QTGaP4U/j5kI6yK1xQQwCgsJrnyL6pDUc33vo0CcW5NfDue2CT+cjpTPUlQLKC4ySW7Gpg02pN/z+sG/ub1qNY+A72syUYLM6hG2vhC+dZjLuKLk6I3JQmfHZeNcqNEuKYv3teBypM38E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758524; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sXO8ScENoFKWHNVwNMhYTBjNx87409obryISg/lbAE8=; b=baHXvWNiS03AObx81VJFHwjDi9SkyiMjP4TWONpG4WtWuxWAExFqeJLS15I55ArnnjfxvSAu8tUj8bCOpySuQiwzQ1IZ5EqM0viTSJk8GrpPl3fobKzVept3mXW7C8ESLdlfi71hODnViQyVPHHstR3cbjacgzNHImNcwpXPLVk= 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+importer=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 1703758524422332.70773474514624; Thu, 28 Dec 2023 02:15:24 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNn-0005Gz-0h; Thu, 28 Dec 2023 05:12:55 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNl-0005GC-KO; Thu, 28 Dec 2023 05:12:53 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNk-0000Sp-64; Thu, 28 Dec 2023 05:12:53 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:42 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SuJsAHn/DP1XCock5URfGHtL49Hairqm2Vk2cjQTxJxkvqwR7BuRbSr6Rfr44LFWuKQMJIpbbXkpaMMMnJWSFhPu1e/c1lCacsY9mGvSacb0TWZOUKupK8OQE7ilUo7ddo5xN+9trg6jk+my5GX1zx/EBAOlG8SFZmqdf0hnIc5058t+C9b0oVsogZ3P35p070nWej25EZoy85wVujP/noFUo/SwkMqEfU4DT8r/WuGckBJRXi8bTPW5MuE1JFoQqfDkKu0DJh+Vj921n/9jk7TuPoKHDj1meEVG7ktchycLZRANUV3wG3tAStzfa2QSmEl++xqMI1j0xblB1JktrQ== 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=sXO8ScENoFKWHNVwNMhYTBjNx87409obryISg/lbAE8=; b=aR/0RmSPPi73V1OyAl2O2doCHlUfD9u3yA0c05HhQ8pYSn2R39gV/XfLe7ZCCWRDASCxVmxeMLqI12iufnGz4BFQTZnzib+KYGXeoMFn/IMc5d5tM91G0I7hVtlqkof03gh7R3VEwa1fxpvNlsGmL4I+H98PDADIjqvi4WRqT83EH185W+H8Xo9hUvnxr+SN+AHNr5DfzMAZ5wxUU3xfCn+le0Cq7gSWUNm2Np4i9HIfoWVmne/PUVw/d0HLM1QMpcftn6O8ecZGy20LJmt7cQ9PgXi00AjpRhUkNM074ajXPkQ6f3oDxecnvMijzTWBYO4Ewh0kEck4K+QQZa7/1Q== 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=sXO8ScENoFKWHNVwNMhYTBjNx87409obryISg/lbAE8=; b=tJdxnhxZVYtX+6MexVq094iUNqLCTR8+kdpUtfVUDI+IuoNeYgd3Mu5zSQZFMo4rOoyIBchVI/wiATRddWRDiaYQItsfII6/O3QtuM4YE+kx9WA/okbIfAdQnuXiSrbgdAa00d0fhoimdeWNR1h0CDe6Ix6UvteoOYZO7k62Dh8RTaqtnRFw0XAJdMUkMJQVQPWTvDO2pyIBP1U35juKChIKrllEnnfMQQAzel4mzC8H+JYl38dnJFKUrDfYE4FlFlThIlBypzmkSx3M6DWzFKUqGI6ZDftcg8fqafbzzKc33gBHyzN/hnbXXF46GCYxPEWKy6OiPZNFFfL2wnZFEg== 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 v4 04/21] parallels: Limit search in parallels_mark_used to the last marked claster Date: Thu, 28 Dec 2023 11:12:15 +0100 Message-Id: <20231228101232.372142-5-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 0f4d388b-62dc-431e-0a8f-08dc078d86fd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 2cjIN9UPO8lU/Ze95wqyGuFZWOBGfBzxcMyAFZ3R2Oz1RDJ694WwRMO3qDlTOzRb3xDHMKJxjyPyV68hwqBBKp2Pj85Nl9hXOLCKo28rLiQTY8S1vYohNBsTMshtRJ7JOkI1Sm5/pxgmrZbGzsJg+6dbN/qJqJjGw4r5GeRjlgSgN9xBWYzuEL4E8b2bKHX2iDIfPVvSL9ha/IUIq4veU3hV1uxgBbQqafJoWStuRznjL4LE/c/SkjxSErNflMWxUq1WH5Y/cqFD8nFvy6dwJjJ/4rUMI/g2JlMYWWeXH4cYmf+h5WfOxIwbaH2kDZjQ303R+hOkppxAsX53+f3L7oHJKtw32U53j7DbmVzdXV004z+kMF0WQfP4wVew2DOkI67pmisfHCGuLeYrSRGVO1UwuIM+SVF6tuOcfmiYuDxWJytyjECcOOqHXH+P+aYymPns0zAG0lgBwdKFV3dtnMep+lCQpYqyv2GUDXrBlzVXM34CtDbrcERyZLgLbRgFtiuScgZYWs2OBT2tmM16cIv6iPtk3Aaaf6GLIgSpjp8vo5Mdg1e21EMBX/jaLZpY+kcu8SDRAGlDQmMf77E2KGdm88lSEmVwP5qzFFNNb4q5Qba+JrQRQ2H2nYMz7Sgp X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F8I7H+jkP8UzRwWZQoybKRu0J4MgPpqHnQCaW7xcxX4pCgC6n8VclEd0i+pq?= =?us-ascii?Q?YyA3tTNflsrh9t3GHW1nXzX0GInkGsag6iuejtNS/AxcrxHMQbm/xHV7Gq3u?= =?us-ascii?Q?SemzoW+Z1rzBRB0JUTtIJ0u87RU8/NSuZNsxevM/ZyrhpQ0smRCVa+lk8C2E?= =?us-ascii?Q?8may+bNgQqhUjzZSXC6davlIP5ynlZ/t5lsQtE6Jr8A0pi4pLn4f4lcgLAeR?= =?us-ascii?Q?z0GHJC3nVpbP4HPEeW6h5HmgnS0BWOHRmlxTtCzS2OcAf/cm/BB+cwHjN12l?= =?us-ascii?Q?z7H9vyJMkkJQVaKbPfXK4n+UoFXQObl2HR+8JyEUrqcaLfrgmtj5vOPyA194?= =?us-ascii?Q?FJwajP8mBT9HCQDsQUjfQ7lo1dvCb5+0NZtWmMze2yhhGIaliBf8tPC1uQKv?= =?us-ascii?Q?+PI0e+5Tvzc2Wj2bSHmyo8JEBGQsNBVIR9ASoc4rpjLv0PRei7QX50LcNOcz?= =?us-ascii?Q?FNSC0YIBESl6cD63PDhaCSBMbLiedjgreM9S2p3PQj+LiRIcfbuZZutvbej2?= =?us-ascii?Q?ztE0b1QjdKKDLMH6VKUmEI757LPBa2KtoEramXYUdCNEHaN3AsD5endYdAT6?= =?us-ascii?Q?O1ss3DFLwOLYaOY7zHo6gevYxAByap5YQpAOPoqXYr6HqKSgf9kEVSGqggLc?= =?us-ascii?Q?gV78Absx5f43TLM6k2gBdJRpD6V+DSnRU88J716vdA74uqA6W2oqd8b0iFqD?= =?us-ascii?Q?R9hH7AMdB8Ak8fYCdIy46u1AxnLW3L2KwQSfc5ZxZXqjmsNcTkLzzJ+pRSFo?= =?us-ascii?Q?vYB7r0cvMnhDNTxCuHCQD8gJpjLXEnHm/m4/kH0shH2BTQNeSrlJU9scvWXc?= =?us-ascii?Q?ze/77uZQkDh/40SQI4zVP3nNywrCMoY2b6tqA85ETNTUwF9OzK8sDTRAdZfP?= =?us-ascii?Q?+KS9qUUjQTaSW7dUGItVj99RqP6XRm/jkZ9nMILq6ffNOhzpp8j/6PVwcXEg?= =?us-ascii?Q?X68u/pMWnalPkc+AkB5bVumgBgAe+E4EcLPCsEjScjbhAJnHpWtqpl0mtTSL?= =?us-ascii?Q?RKevJ7NICQJcSIM/rgR+yqnYCm0rBLlymrDXqbfZ2NUcCy3EhsKSf6fJoeu1?= =?us-ascii?Q?LCNAaCveO+LD/sgntkgrueYo3qNcnJx7S5VDah8zivpXe69uRFRSPV6ZrAv9?= =?us-ascii?Q?5icofOfho9ugUWjb+KlWlfXy1TS6pcx01sCXK80d4ZMUv2CPMQD2IdcEqWXD?= =?us-ascii?Q?/Qv572HzY99SwEh0NhtdSliplU6g9rSl3uOS7G9RXh7qnRJsy/eu5THeSRg1?= =?us-ascii?Q?zmXReAyhCsr7TQG6+OLwKmte+IJacdWudjTn1sVe/iYX0ZHbmrtNH/r0d9t/?= =?us-ascii?Q?ps6SdH3blU8/HKGeGYFWNIZOEXzVQzdyVBk0Ak2plS/N8izumTvvDfdRT/vY?= =?us-ascii?Q?A6+n3CzcCm1hYwGN1o4iOkUOz6noHRpChwoKkeo41YlDdZep7iU2NK4A9MWa?= =?us-ascii?Q?zf8fN3b+tF+w/6XZqtS4RtkaOvMo8tNlDrsZAnIyUJX+rAb0rKK+VysDdsXc?= =?us-ascii?Q?QRGu6HRRK8heGb+2JbaQEWCmXreOMwARA+3EnpvH5Jg30ogUhOonUDytptWQ?= =?us-ascii?Q?0onca4Qn8vlQq9AALSrN0QAtgkR5qS+Ig81WHEH019WU3ErTRNmPv8+DDmbm?= =?us-ascii?Q?b6174na76IFK6AP2/uOgjlQ=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0f4d388b-62dc-431e-0a8f-08dc078d86fd X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:41.7626 (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: 2lu/cK2QwXmTleHCyIQliIfwiP/cTG7EJc6SjqjqnLG53GZC6pVwYrKMdW03CpAZe1o0C+FhqGGpu02Q/Kgti/J8Wh2nqA14WrifmRx8OJg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758524733100001 Content-Type: text/plain; charset="utf-8" There is no necessity to search to the end of the bitmap. Limit the search area as cluster_index + count. Add cluster_end variable to avoid its calculation in a few places. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index ae524f1820..4470519656 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -182,13 +182,14 @@ int parallels_mark_used(BlockDriverState *bs, unsigne= d long *bitmap, uint32_t bitmap_size, int64_t off, uint32_t count) { BDRVParallelsState *s =3D bs->opaque; - uint32_t cluster_index =3D host_cluster_index(s, off); + uint32_t cluster_end, cluster_index =3D host_cluster_index(s, off); unsigned long next_used; - if (cluster_index + count > bitmap_size) { + cluster_end =3D cluster_index + count; + if (cluster_end > bitmap_size) { return -E2BIG; } - next_used =3D find_next_bit(bitmap, bitmap_size, cluster_index); - if (next_used < cluster_index + count) { + next_used =3D find_next_bit(bitmap, cluster_end, cluster_index); + if (next_used < cluster_end) { return -EBUSY; } bitmap_set(bitmap, cluster_index, count); --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758574; cv=pass; d=zohomail.com; s=zohoarc; b=H3RGbnyw9TkI6m6jbkMxynqJstIj+NjApOU6DTwea1bl16JfnCqGLhKhCxmPVM2dgvb5n2Fv5aZC6Ta0pr83syehV/OOPQVW48ZZLhGP9s7V/IyS/gGvlO/jMGKiCg/OYz6sykLPxGZ9wTOQMD8DZJoPHXNGj33wepUqNV76a5E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758574; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=TiK8oZDz+rOtYNkEfWsCX0YcUHkmu5EZp+mPDs9p95Y=; b=cQFf8vm6gCG+B6k3+mmpZl8Dk6/8uTXmx5HBlV0vLeQD28cMD09HDfai3JX+yxPJ285fXXSAiApiQzlvhcgzrtwCc9DfZRbxqyJ9yONqdq200saHxyoFphi0bX9wmE1X2O0nO7ZFvmMFoG7PIz2ubtC0ELQ3Z7MZw/c8gCaOFyI= 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+importer=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 1703758574921924.5392043671953; Thu, 28 Dec 2023 02:16:14 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNs-0005Jr-5N; Thu, 28 Dec 2023 05:13:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNm-0005Gw-VA; Thu, 28 Dec 2023 05:12:54 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNk-0000at-8v; Thu, 28 Dec 2023 05:12:54 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:43 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aMwXFhb4ra9fcewr2WmExdRlOis3Rqr0vx00TP8DCyDw1dGFu4VeK1+gcknToGBIAgPpcjSC1sN0lqqtUR7LF84TcRADs8Y6JbByBUqCMBGVO1Pmy392VM7V+v24fTZ5uxLv3J/LB/OGeiEiANeZ4dycRhFkdWzYibjiwRjmPgXOw83h2sSs/5cJD0cbYPpDiDAPF/uu6EmIw6n9nwymbPojtpIrZcu/ayF9LzTSf+nNXK0l0YjpDhboyoXzym0kRXqoxG9FUC1OwFkgdPUaiqh/aKaMYB6KS54a2GfYXf3QseeFGDzqRsx+kzwESinVA3avmh1w+a0LnuWt61bYLA== 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=TiK8oZDz+rOtYNkEfWsCX0YcUHkmu5EZp+mPDs9p95Y=; b=AmG57QquwHLga+aZJ5B8DNtx/FeDLVh2/1PDy01V0uhvhgAAs0Q6xeCuI0BwOWX+tmEYlldJ5fnAShikberDmHUnOsFkwNsO7nve5Kz16YlG+dOdj4vQNheNRrwjsPV8936mmg/qtzZcjms0SLWtnSCUJ67OgivyGMBmTrrU3KldQevu2/UDjavrgPs82MMUduqdsKHaUsO7I/FXbZAsW53zW5kSnuaIcE+EszxnNRDIGDlfeqdp2n7G4PYhR026UEJr/ROCBxbaxjYUK9qf/zfTpJsqQxdbUxaisf1fbhEr6W+y6lSX8Hy2LEyutVThqWveBDcvslZM31GHypokwQ== 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=TiK8oZDz+rOtYNkEfWsCX0YcUHkmu5EZp+mPDs9p95Y=; b=ud5ubTymXC9SzqsWoss9xJpcKlW63lxyOAp3GrmyLHfXGy3kcVZYG5eSv/iq2e1DEowxCddwajteKDuyxaONzqW8T8CbFqSD2E7jSWP/eon8Fm3DCkClqcBRCy/5k1IGov3PcoylzY+RobXR+atJCuz3k6kWOTnyYRw9IYLHS0HlnE9qSvULhUHpmcdkrjP9iwnnRm5yeRZMJk6JAqRbC0UYuce5t20U+/gsOVEH+C5I+qd7Em/x5jGR+qTdOQ0UeV9Hw4BoO73ixnmcmR6eS2JndjialxYCwh64UQ/O02O7XGp8uND518aSEkJvqKDZrTHcKmhWIPgkmqc6BktULg== 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 v4 05/21] parallels: Add parallels_mark_unused() helper Date: Thu, 28 Dec 2023 11:12:16 +0100 Message-Id: <20231228101232.372142-6-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 01b8de3f-1d67-4fe8-a5ad-08dc078d8757 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: bfBzD6fvQbCCU5MfA2MP3NlwvFC/2nBTV/2mOG7qTONSGgVBvScgOD9ZZN41zuMIaFXZpavVxVQ5kO5FC29iKOCawagwaM4ansrjgdxznABkPGzVIyHDECfi1N+Q1ANpy72jXZ+GxCwBcUJDQppQTsEKp7nfCdYBirgRWKOJSzSIb/PXU2Cmg0M01hyLjJcPjD8VU8vv1NjRjoqG4hj0ds8o+vrwL5vwred2mn0mlOnVSMXWeoRNZW1F201zUVd7RQ+5VAlBp74tqH45oP381XjRfT8ByhXnlGRMp/iaO4Dd8QTv/8Heq+MOqQSBsYdGxhM4Wx68/Ukw8e0jb40F3BCAw96TBBHZcPxQJjwDgeyIjjwDhqGmg0tHM6Av2YuqbjgyPOQo9sM8TimaNdv8Sv3q2ndYEDmZzVNlbjIAoWbWy64Ol+1CG2puSeQJx78xA5znF/ySyFQMMjIv2SZKA2VU0+6NEcObD+2+6ySrz6ubMgRV7aazjavgeq7dIqUB5p1KGTSkiNxztOkYVI6H1IJQ2MoXCF0AhP1Fj/1bl77CciI5ARTmUy3kyDl1VeUNf7L93gcWYMVYcwk7AFnzhVHMrjJGGhZDLdqc2yVvbGkCSGz5jCutgs2JcVatDOTP X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?48U7exz5DqftcotPAKV6F3ijtvUDf9tMb5CY74DkOBn09OzNUYn0xdoT41Tt?= =?us-ascii?Q?c4jhn/rkV73isMmtJuTlFtU1IU8gVviTcm54tVWi6mqKe9beI7UTxbGG380f?= =?us-ascii?Q?Q9QUdz6yfDg/9dm7+6yJJhPEBCnSWsrFWp8yawF6fbb6K0/NqIHshFeJdsqu?= =?us-ascii?Q?C7hhzNp7WA9AOff0gzkn1iRnQTeX63NZYo9fbhmHPUZNRw2ik7WFutmwO9CV?= =?us-ascii?Q?jChaCd3qEa/nxHJRNb/vXGTVZdGSU5e/60mf0n+7Ak8vZhtHGahbNwcY8ANU?= =?us-ascii?Q?5Dmc6Z1locNkDtsJatP7d2NNxScJ0I29kgexX2ftR26TjIexY8bUEthNR1xl?= =?us-ascii?Q?YjKOBZhj7Eh0x2AcAgssmZujC9ppWMRA/dtMFlXQI7geTRUmRUXgruTShsiM?= =?us-ascii?Q?fpmBD3UdoN4rqZWNdxLttlWi7jvuDXZ/lv2pmAyWlB9ewFVeJl6S7IrXJ4Rc?= =?us-ascii?Q?QFbEEUMGfXKRGFKlkzewNywgCporio4k7LOVuq+voz1mhYu4z6lfG0s5XegD?= =?us-ascii?Q?ru+riEHONZKi150EEYZdjtmRzIhBmviLD1muEXcyj6J3zBLMnrNk4jc+Wa2L?= =?us-ascii?Q?0m6Emu7IAVZ3SQt9YmFxCJXSds9rLgfgYEIOYLmjmQPusC+GNuW3SVPYU3Ei?= =?us-ascii?Q?VlmVqRSgXtwUjDgHUb3tNNzsFfo9KQvHvA8C642hYHwy+zmkaNVSg713Zd0j?= =?us-ascii?Q?JbPxpbkj4M9H7VXDg/Nygw5LWLQawP+pRk3GS82DGMfXUqEpHIGGaPCaaL4o?= =?us-ascii?Q?dWwEFIW0CxzVP8tTHtmJ6v+8YYNoTbaYJYSYh6yli7VyovhvCVikoZh/L2Yv?= =?us-ascii?Q?tPMEllHqC2ghwnVI0MYTzJ2Nii7TJKQCXrjBvEWVSOS/icfwAOP1Ho7J/kNi?= =?us-ascii?Q?S36HChRWMsGBWxtpW6t0FwTN0oZ6MTTwGgCkBr3asglWCgI4byPgHyA45vvm?= =?us-ascii?Q?sC2Fmdh7o5nvooUUKVErDjAsWoNY3Qx6EPRveOixNRzeE6KXpTS6sjSYq4Ym?= =?us-ascii?Q?uTj8VQlNOOWAfBVnc2OmbHT/8C1CFixbAogE20wNow5WikD/LgitYvq8F0T6?= =?us-ascii?Q?QrCbu1+zzR6ww6xy7pnRJmrhLBoQwSi5PI27VpO2m0zk8wCaZLveAaResj2U?= =?us-ascii?Q?c65sirEn1H7y/8b9C0W1v5jr5zeSvaH3JiI3wuR/LBxPjPgsUIeZZWrE18lL?= =?us-ascii?Q?WWHQofzURIkKpvHVEJ/9ZAWTqdabGMU/mKb5kKkRh2+I17lbXPTAK1jIQskH?= =?us-ascii?Q?fMLLacG7plu6uTVc5Jk8kGAGnCdsqDZSCj+hQj/4eSukpKa0iAAcWXd0FGVi?= =?us-ascii?Q?NUrNZ9TlGAx4HC5a4qoFLujYSgZUqgbxqbNh7PCYWM5ItJsxcPE9t0Bm9L3o?= =?us-ascii?Q?gaQHx+0xE6gEoBiPnC63TIvZREQNFGl+qv9evloUL/tc87mvvltTiu0nTFl/?= =?us-ascii?Q?j1d6nxJ8We/j7oaLj9n8tRvjo3YJxYDJ13YO6o8KZOmT0d2Q9va8jkS1oprn?= =?us-ascii?Q?H9Ik9U/kJMRNB1hI9tKCua+J7GNmDH2/Ihjfz43snDr64CxjmnghdpO6n/sj?= =?us-ascii?Q?+pV1/tHN9uUQlFUjKpNVk5s6qJdIjzyFFho1RXw9ElecuIGV0Gd/y6Et6Djq?= =?us-ascii?Q?6EB6LiwhdVwMc9kEgo52BCc=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 01b8de3f-1d67-4fe8-a5ad-08dc078d8757 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:42.3276 (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: yS4QDV2PZ6QItyVYx3IcjMmrN6rkNq1/yBC3S9QbB8A2wLhQHcigo6kWQozru2FstayZaTlBeASvk8U/ryaze+Dg/gz8FEdLQwzLYfnSJuU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758576959100003 Content-Type: text/plain; charset="utf-8" Add a helper to set unused areas in the used bitmap. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 18 ++++++++++++++++++ block/parallels.h | 2 ++ 2 files changed, 20 insertions(+) diff --git a/block/parallels.c b/block/parallels.c index 4470519656..13726fb3d5 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -196,6 +196,24 @@ int parallels_mark_used(BlockDriverState *bs, unsigned= long *bitmap, return 0; } =20 +int parallels_mark_unused(BlockDriverState *bs, unsigned long *bitmap, + uint32_t bitmap_size, int64_t off, uint32_t coun= t) +{ + BDRVParallelsState *s =3D bs->opaque; + uint32_t cluster_end, cluster_index =3D host_cluster_index(s, off); + unsigned long next_unused; + cluster_end =3D cluster_index + count; + if (cluster_end > bitmap_size) { + return -E2BIG; + } + next_unused =3D find_next_zero_bit(bitmap, cluster_end, cluster_index); + if (next_unused < cluster_end) { + return -EINVAL; + } + bitmap_clear(bitmap, cluster_index, count); + return 0; +} + /* * Collect used bitmap. The image can contain errors, we should fill the * bitmap anyway, as much as we can. This information will be used for diff --git a/block/parallels.h b/block/parallels.h index 68077416b1..02b857b4a4 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -92,6 +92,8 @@ typedef struct BDRVParallelsState { =20 int parallels_mark_used(BlockDriverState *bs, unsigned long *bitmap, uint32_t bitmap_size, int64_t off, uint32_t count); +int parallels_mark_unused(BlockDriverState *bs, unsigned long *bitmap, + uint32_t bitmap_size, int64_t off, uint32_t coun= t); =20 int GRAPH_RDLOCK parallels_read_format_extension(BlockDriverState *bs, int64_t ext_off, --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758534; cv=pass; d=zohomail.com; s=zohoarc; b=iikEd2vQ0V+rTHn/JY3w2FJaFhmSWH6BZFyoeQuTE/2dVXzcSBomhs6KYihXONwZd+o7bvjBhdd4G0ko8YkyWjk3nj55veYcDURBZDoFxAvu3h13ZKN0GwoZ4Wf2uM39DNzju9Mxq5emn0WL0rPFA4GtMfa4yzR7te1BHIVOThU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758534; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=MLEBTAXP1y3bSSPP0h3JqoKN2wlm3/jxIfexYA7pjcc=; b=Pdu0WNCBaULFIIUCjfystguYapJAh6T8TK4NFwxMb/jXx28F40W40s7L/UQPffaBTVU0Q6K6mFj2bHyLU8g2y4M0NRcPQTO18ivrq7cBAJxnMF+bgXN738P0Li0tBnQRAZfjUHkki8wtagsOprBOuaDLI+KUaBbBANzL4h3U8TU= 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+importer=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 1703758534615494.5304396073301; Thu, 28 Dec 2023 02:15:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNs-0005K5-HP; Thu, 28 Dec 2023 05:13:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNo-0005HT-HY; Thu, 28 Dec 2023 05:12:56 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNm-0000Sp-Ab; Thu, 28 Dec 2023 05:12:56 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:43 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XPgUaCJOfZyzDBvfQcFmoRO4cESXYgvN8F3CKQs/dXP0ABTG6Jk5x1IDeyjWF0noRWFl8jVU7mLv7Rp08CKR/hwWfAVjtGe1but6bYBXM0HFxMdykQglKkGoX0M2yfcIIfX+Ki4F+wbFFHwBh8E4VvAQwlItjMUTW+bMqZZu6fl4izotKgyES4lm2WnStA0zjlJgkO6PNztUtL7XNPl9xlQjYICgmdjH9aLZJ43fbO6N3MAari6SmKItb8I+yq2SuDC1lBIvRfi8bZgLflgtYsd6webCt5wAg5tuy3QN1o4g3bGcwZ852mSkXw7Y1pYeVT+wUFsYWsH+bC7vys/Yyw== 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=MLEBTAXP1y3bSSPP0h3JqoKN2wlm3/jxIfexYA7pjcc=; b=hSi1Kf1DLNvbr67hi+njQzdnK0EWL/4449eVnMzhkcP2cpqB6f+YlGos4WrQZe+vemWOBYjJjlhxDXZ8grOZ4CKxOpKhMB2bG0qegWqJx/gfcChUiTpuIakjRuRXI5NBVrHsaymYiKa4ZUbdQaQjRNS/b8vIfMJAsu20sc+0jHnzpE0TIMQr9hNH1mKz0vwMxGPOBCmNdAFeR2TsKus7UGYw19/4xelxZtyr0HklUZwtzyHyvznQYFhKbixr1YoyGAcGxJJlnA38X0TyHdgpemQprkPgAQp3Y1lOtCRcFeeKuoT9BxkXbxbqOiC6QSjDzQ5NUjJR5tqZs4T3mN59YA== 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=MLEBTAXP1y3bSSPP0h3JqoKN2wlm3/jxIfexYA7pjcc=; b=FvSO83IfOrJa3+1KiczI0IGOZGK9VEFgpRNk4RA5f5u5lj6iprf1TvR5bL8L5myR79YJOY7o6yYDxGM70RQm344aH3J7461E2vrdb3EwahMvnAvdMMJiZ3hw/F/5us+FQp3MKrqWm+BtUuItGW/yQcpI9iTaY1OCXuqRNi0nnUgPLmgC8R5nC6+jkuMA1sGxYSSU5A0XPA11VleVebe6x5z4ktUbOcnhr+M0wua1fR5F6t5bD7SfUMwaG13zriShEf6JrSfXLvJz1ORnDmTb7RbWuB5ZPk0CvjUX94uyWOOHzpvlg5JZ69qYxGlfrHRvvGvjtXCZ/AhF6ofoBxP1xA== 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 v4 06/21] parallels: Move host clusters allocation to a separate function Date: Thu, 28 Dec 2023 11:12:17 +0100 Message-Id: <20231228101232.372142-7-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: fe39646c-0756-4fcc-191d-08dc078d87ab X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 5giPrEzPScV51HrO69+Ok4BLyV1AFw8tHvBwmTJ/Sv8Pd0cLerVFx+Fcln+o7/IcCaGWxVeqTBarR8WdIBCSCxjjqQ1OUt7+hx+X6ugRCY/2pxCbvrwJ/hQ7A8fdxVZcTq/vXDi8JT7P//A+blOx4wHDvOfB4eh/n9+2GiX8flHGCDK+6Zmny2vP8hyNNUIQJqAI5sY/JVjQQqtUPnwmT6PQSU5lRfiBugglJZfoqvfICwtJWJp/JMrLOxOs6EUTqxQaaya1vfIEQ3xKE4+r8BBlgyb08s0FObn6pe0a32DAT+h2+e9xdbTB+X4mzTAlIMl6tP2AWJE8/i4k8A/No0f5j52xJb2MrzfMy4nei4+2JsAIAYqbEkg5XUZR7Ry8SanW/hzOTGhsEHXklKZA/9sw20WtE3QCzBJfe3L7F5p/QeuxV/Pg0cT1HjNTAaeNgx9bVM8KHBT7GOGvJdAUVU7tUxYKAFmXs3DVoQIcyOU32hnMYh4X05TGtwMzvbxb8z+jfQxN8TIAYPDrPlS0Jf4V75/7Qnxu4duQTRdbEMOzcuC8VJZz1pr86/YDUnttpsmu5VaVquzkOq0bsDsOMSs/q9RMpLuLiywtCg1TJRJ8qvgIbMjHHG1osXSO5vmr X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?nrNaXrYspHaG8eS8J7WP4ON4TGN/99bXIRrMVH/at7tdT7eJEiDOvcWgGUXy?= =?us-ascii?Q?PIrTMP0zoC9lZ+9sDHu92CX9YxmXPzUx3l28gPkuhBXARgbQy3NDWcSK7LEe?= =?us-ascii?Q?W1oXzeUPBryMyWKmBdTbXHzimJKR+CCqUpBBoIabXvydfMf4ZFmb4b0xez5P?= =?us-ascii?Q?unhW37/FhMw8OWKMSz82hGdXxbDE8asFe3TKhOKXYkt1vUcPEMHtYrTYetf+?= =?us-ascii?Q?vOgfdST7FLu85L5fPkqOXPl163YARqMZO5HVj2H6JLm2qhrjFJainZBLQ8Bo?= =?us-ascii?Q?jFcBnb6XcYLRMFAxlwSbvr5FG8SZxKCLd6WC0VKcGJiRHCy6ea0xYfks4Vts?= =?us-ascii?Q?ztRX+NYebjdAlNfZZsHWsas8uiyjnotCvvUevYplsKXYFWmi+xf8gheLYwDe?= =?us-ascii?Q?wpXM4oenFAqzHC3jY8ArtS6kiXHW5TTJyKbIgqV4GLQH2X0AuiQSLFUjnvHe?= =?us-ascii?Q?FCJ7dCOeXF7lSerlPEz6C2ZMeVbhBP4zhsd4fLnsLYoeW4ZhligmJjjgw6zj?= =?us-ascii?Q?xaeZewAPpoVCE0a35L4y5Bb0woG3OtgKTFuVzA12WssrQsM52QCgbuoKR9V1?= =?us-ascii?Q?Uc8DWM9iQjC7lfeS1rNJC//YlXJbF94OXV1GiFm1uH1SOQ5gUDDPa884GViT?= =?us-ascii?Q?a+He9fupOorlCLvYUi9h2FO7oS6u8bZO6KOPjecrSVB0V8cRuJhahBMKDJuZ?= =?us-ascii?Q?a2vjQg/bzTF6KICRzLZFQp4aFcJ6c5KLe/gMxULW8NrXcT/ufxmP9hJzAG3C?= =?us-ascii?Q?5h+SzGpaBWXSexNZeLGiXT1hru8WhRIDjITJXpxlnXTGD6XkwmTWl/f/5yII?= =?us-ascii?Q?W5+1TSdQBfqxRUOizAnbGfjd+6KN0AwkeHatkhD5zOjaffPWKfswQcS7xVqR?= =?us-ascii?Q?h/91wr/7YcAj3a/gabGL2jowi86nwYm4TT7U5v5b4ejQzF9uemBu1Sx8MpoT?= =?us-ascii?Q?+xhTtSn3OZYHuBzzRh5B330yc1mgUJQj4LZyAjc0zGHMPo0qy+Aeyz9/+vj9?= =?us-ascii?Q?d7fG5Y7YDeJ/DTsexBR2Isx0TWXT/9WW8UGRbnuwt6BoGjl4m+pcojwRqKTi?= =?us-ascii?Q?h0KB+jYMHereClECKb2MIGzwlgPMCcxhY95hho0xia57+HfORJ3ndD3NRL9G?= =?us-ascii?Q?bpiPknqClcq3AmKPMdxfY1AoeYyj+BIJRIWUGq298vtUeWLrRtJ47l1lz6nN?= =?us-ascii?Q?NMbiKtx2XQfaN806pTk2MYRvqOKddYwLBmdcIYC93547TX1lIOwghHLQDVWO?= =?us-ascii?Q?6LTcgQ7kKWaQKbKdiSE+t17L4HR2PKLLSbvVYib/7catEgWbsWC9rvyi1eER?= =?us-ascii?Q?WQnWauC7NmU/epde7TwBTrALRj5KmrWFNOZbh6lpGOMcYLtEeu2x2yMh2W+J?= =?us-ascii?Q?sf2pAL2VhWMXrMsS1yzDDw3BscAfTgyzTDY6gE/FImaUrcTYdMpaLx0RDFw6?= =?us-ascii?Q?deai02PQE6EUexzzlsN6BhwRqwbG2Kk6Bs8RYNlFfxia+TM22/V1Rgg3GL0N?= =?us-ascii?Q?JWe5d86fp3wrJwvZiZYznwBdBPyNbmFnSTSno+Gj6diQ+y7tiPuk5qs9Gcsl?= =?us-ascii?Q?PxA4OWy+XdQMWOUbPq2fUKdY7yl1gCWyMayTkqtCMv7exeWdoqKfeRVp4AFc?= =?us-ascii?Q?EyXZ56nqmc7QsEewFd4tn2g=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: fe39646c-0756-4fcc-191d-08dc078d87ab X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:42.8976 (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: DTrIjdE+mLC2ZoH0WVs9HSuw/riU+B1VWolHs83wjDhF5+OAHjfi+WnVVPEYJ+cyw2MKXhlds+W2jqPSuDh5pi9hmkS1gi3a1mfIRF4ryyU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758536841100005 Content-Type: text/plain; charset="utf-8" For parallels images extensions we need to allocate host clusters without any connection to BAT. Move host clusters allocation code to parallels_allocate_host_clusters(). This function can be called not only from coroutines so all the *_co_* functions were replaced by corresponding wrappers. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 128 ++++++++++++++++++++++++---------------------- block/parallels.h | 3 ++ 2 files changed, 71 insertions(+), 60 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 13726fb3d5..658902ae51 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -268,58 +268,31 @@ static void parallels_free_used_bitmap(BlockDriverSta= te *bs) s->used_bmap =3D NULL; } =20 -static int64_t coroutine_fn GRAPH_RDLOCK -allocate_clusters(BlockDriverState *bs, int64_t sector_num, - int nb_sectors, int *pnum) +int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(BlockDriverState *bs, + int64_t *clusters) { - int ret =3D 0; BDRVParallelsState *s =3D bs->opaque; - int64_t i, pos, idx, to_allocate, first_free, host_off; - - pos =3D block_status(s, sector_num, nb_sectors, pnum); - if (pos > 0) { - return pos; - } - - idx =3D sector_num / s->tracks; - to_allocate =3D DIV_ROUND_UP(sector_num + *pnum, s->tracks) - idx; - - /* - * This function is called only by parallels_co_writev(), which will n= ever - * pass a sector_num at or beyond the end of the image (because the bl= ock - * layer never passes such a sector_num to that function). Therefore, = idx - * is always below s->bat_size. - * block_status() will limit *pnum so that sector_num + *pnum will not - * exceed the image end. Therefore, idx + to_allocate cannot exceed - * s->bat_size. - * Note that s->bat_size is an unsigned int, therefore idx + to_alloca= te - * will always fit into a uint32_t. - */ - assert(idx < s->bat_size && idx + to_allocate <=3D s->bat_size); + int64_t first_free, next_used, host_off, prealloc_clusters; + int64_t bytes, prealloc_bytes; + uint32_t new_usedsize; + int ret =3D 0; =20 first_free =3D find_first_zero_bit(s->used_bmap, s->used_bmap_size); if (first_free =3D=3D s->used_bmap_size) { - uint32_t new_usedsize; - int64_t bytes =3D to_allocate * s->cluster_size; - bytes +=3D s->prealloc_size * BDRV_SECTOR_SIZE; - host_off =3D s->data_end * BDRV_SECTOR_SIZE; + prealloc_clusters =3D *clusters + s->prealloc_size / s->tracks; + bytes =3D *clusters * s->cluster_size; + prealloc_bytes =3D prealloc_clusters * s->cluster_size; =20 - /* - * We require the expanded size to read back as zero. If the - * user permitted truncation, we try that; but if it fails, we - * force the safer-but-slower fallocate. - */ if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_TRUNCATE) { - ret =3D bdrv_co_truncate(bs->file, host_off + bytes, - false, PREALLOC_MODE_OFF, - BDRV_REQ_ZERO_WRITE, NULL); + ret =3D bdrv_truncate(bs->file, host_off + prealloc_bytes, fal= se, + PREALLOC_MODE_OFF, BDRV_REQ_ZERO_WRITE, NU= LL); if (ret =3D=3D -ENOTSUP) { s->prealloc_mode =3D PRL_PREALLOC_MODE_FALLOCATE; } } if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_FALLOCATE) { - ret =3D bdrv_co_pwrite_zeroes(bs->file, host_off, bytes, 0); + ret =3D bdrv_pwrite_zeroes(bs->file, host_off, prealloc_bytes,= 0); } if (ret < 0) { return ret; @@ -329,15 +302,15 @@ allocate_clusters(BlockDriverState *bs, int64_t secto= r_num, s->used_bmap =3D bitmap_zero_extend(s->used_bmap, s->used_bmap_siz= e, new_usedsize); s->used_bmap_size =3D new_usedsize; + if (host_off + bytes > s->data_end * BDRV_SECTOR_SIZE) { + s->data_end =3D (host_off + bytes) / BDRV_SECTOR_SIZE; + } } else { - int64_t next_used; next_used =3D find_next_bit(s->used_bmap, s->used_bmap_size, first= _free); =20 /* Not enough continuous clusters in the middle, adjust the size */ - if (next_used - first_free < to_allocate) { - to_allocate =3D next_used - first_free; - *pnum =3D (idx + to_allocate) * s->tracks - sector_num; - } + *clusters =3D MIN(*clusters, next_used - first_free); + bytes =3D *clusters * s->cluster_size; =20 host_off =3D s->data_start * BDRV_SECTOR_SIZE; host_off +=3D first_free * s->cluster_size; @@ -349,14 +322,59 @@ allocate_clusters(BlockDriverState *bs, int64_t secto= r_num, */ if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_FALLOCATE && host_off < s->data_end * BDRV_SECTOR_SIZE) { - ret =3D bdrv_co_pwrite_zeroes(bs->file, host_off, - s->cluster_size * to_allocate, 0); + ret =3D bdrv_pwrite_zeroes(bs->file, host_off, bytes, 0); if (ret < 0) { return ret; } } } =20 + ret =3D parallels_mark_used(bs, s->used_bmap, s->used_bmap_size, + host_off, *clusters); + if (ret < 0) { + /* Image consistency is broken. Alarm! */ + return ret; + } + + return host_off; +} + +static int64_t coroutine_fn GRAPH_RDLOCK +allocate_clusters(BlockDriverState *bs, int64_t sector_num, + int nb_sectors, int *pnum) +{ + int ret =3D 0; + BDRVParallelsState *s =3D bs->opaque; + int64_t i, pos, idx, to_allocate, host_off; + + pos =3D block_status(s, sector_num, nb_sectors, pnum); + if (pos > 0) { + return pos; + } + + idx =3D sector_num / s->tracks; + to_allocate =3D DIV_ROUND_UP(sector_num + *pnum, s->tracks) - idx; + + /* + * This function is called only by parallels_co_writev(), which will n= ever + * pass a sector_num at or beyond the end of the image (because the bl= ock + * layer never passes such a sector_num to that function). Therefore, = idx + * is always below s->bat_size. + * block_status() will limit *pnum so that sector_num + *pnum will not + * exceed the image end. Therefore, idx + to_allocate cannot exceed + * s->bat_size. + * Note that s->bat_size is an unsigned int, therefore idx + to_alloca= te + * will always fit into a uint32_t. + */ + assert(idx < s->bat_size && idx + to_allocate <=3D s->bat_size); + + host_off =3D parallels_allocate_host_clusters(bs, &to_allocate); + if (host_off < 0) { + return host_off; + } + + *pnum =3D MIN(*pnum, (idx + to_allocate) * s->tracks - sector_num); + /* * Try to read from backing to fill empty clusters * FIXME: 1. previous write_zeroes may be redundant @@ -373,33 +391,23 @@ allocate_clusters(BlockDriverState *bs, int64_t secto= r_num, =20 ret =3D bdrv_co_pread(bs->backing, idx * s->tracks * BDRV_SECTOR_S= IZE, nb_cow_bytes, buf, 0); - if (ret < 0) { - qemu_vfree(buf); - return ret; + if (ret =3D=3D 0) { + ret =3D bdrv_co_pwrite(bs->file, host_off, nb_cow_bytes, buf, = 0); } =20 - ret =3D bdrv_co_pwrite(bs->file, s->data_end * BDRV_SECTOR_SIZE, - nb_cow_bytes, buf, 0); qemu_vfree(buf); if (ret < 0) { + parallels_mark_unused(bs, s->used_bmap, s->used_bmap_size, + host_off, to_allocate); return ret; } } =20 - ret =3D parallels_mark_used(bs, s->used_bmap, s->used_bmap_size, - host_off, to_allocate); - if (ret < 0) { - /* Image consistency is broken. Alarm! */ - return ret; - } for (i =3D 0; i < to_allocate; i++) { parallels_set_bat_entry(s, idx + i, host_off / BDRV_SECTOR_SIZE / s->off_multiplier); host_off +=3D s->cluster_size; } - if (host_off > s->data_end * BDRV_SECTOR_SIZE) { - s->data_end =3D host_off / BDRV_SECTOR_SIZE; - } =20 return bat2sect(s, idx) + sector_num % s->tracks; } diff --git a/block/parallels.h b/block/parallels.h index 02b857b4a4..493c89e976 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -95,6 +95,9 @@ int parallels_mark_used(BlockDriverState *bs, unsigned lo= ng *bitmap, int parallels_mark_unused(BlockDriverState *bs, unsigned long *bitmap, uint32_t bitmap_size, int64_t off, uint32_t coun= t); =20 +int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(BlockDriverState *bs, + int64_t *clusters); + int GRAPH_RDLOCK parallels_read_format_extension(BlockDriverState *bs, int64_t ext_off, Error **errp); --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758483; cv=pass; d=zohomail.com; s=zohoarc; b=d40Vtpn/TMAAxguF+1K8pr4NFDaasPWGLGyQYAZZPuCspkLJmfTBPUc3lE4vo0eZYX0cIi5EH/Rcy8OoZ+CMz8nZPFvZTMybvWqnnbdJpwmuCkW7tnSxqly9GkB9ndimebVS3oVbisOT/H8iPOH4IottHNrr9/MKwanOOA/fT4M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758483; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+N2JwpCNxcAlatSCQUrsyN56yKpu3V05h+Yb8Q3o20U=; b=hfpnv5e4y/F0jPOA16DWbE3DJPlIbUpKoAOl/mPv55IPvBCNk3wkoXH6/vBhi6Y0gVLhjD+NoT2rEctLOBXQqMmGq0lQc+g4gpY6K9qKrjrPJlR5eqxSLUuMjQ6DupqunPxBdaOtnH6ja+6mK1c9qT9ll45zHS9WiY9UCJnDYaQ= 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+importer=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 1703758483481807.2083930719045; Thu, 28 Dec 2023 02:14:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNt-0005LM-TH; Thu, 28 Dec 2023 05:13:02 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNp-0005Il-T5; Thu, 28 Dec 2023 05:12:57 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNn-0000at-NJ; Thu, 28 Dec 2023 05:12:57 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:43 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:43 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cLADf5TpIHvuMx0eTvh8uslGw/3Wm/vEJGHqypDXrsKW16c4EvvRHTE+T7XHOJz7yJdbyH7wNtnB8WXLk6/mFjq+jt6hfpLjzhlX+qvQnR/t4Kj4wYlH6geRJxNfnGgZ993Lj2pTcLsV0Gm8A9ezNgmYSN6raby23fF7KbOjWNCDJQ0LE/FTY24JBeCS24kEvVu4PEAzw8OAaCPGFINmGAZZM45YxpkHK5NMzJWCcS0dSqnWU7ZFDsdxyJEA/Yb932s8PAmBAZvB9Lve/GneN9/LKS6a5a3a7cq3fsx1AjrIIC3li8fEWHiJSKPa5M2veGjPVQlbbVkEGjLadSFUbw== 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=+N2JwpCNxcAlatSCQUrsyN56yKpu3V05h+Yb8Q3o20U=; b=cWp66KOdkrYpXAUlcw2fnTNHkbg4zijngwfHC2Vr9GxS1wKjXovCWETcBQkcRVZ6dr+HjXPbrkKIQzAaoyJrcpyyUCcYVdOyFPFqouRr0phRYqAytYjr1G3fqkfnEp38tbj+aEtPUeaBiHiBnhrsXkd+jTV71ZEwbW3O9YZTUcJHHHubLh2UtGs41oiAw+2c0vKpPXdPJKH+5DsKFsF9iFmY9BToBbHaoyLfswZSmq01FrWOLwdIOClD5iuKpCkoNJd9J8DyQ4u4Gx1fRz9aU/utOJkAN1Yr0IqCaKOWGWaQapPqLeXR6hQ9+nCMEifvWjkwACpwilF6F8YUiZdvGg== 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=+N2JwpCNxcAlatSCQUrsyN56yKpu3V05h+Yb8Q3o20U=; b=FQNMzHzGmq+X5Y7G/D6BZBclX30yD3kjEc3A1ZP29mvRjkXVxc8nbiPym68wARnG7wP87R1xoHT6PsBkqyWf3HHJ1HB4AIgqEwISETSUjGpYq4Ku0vK1CPIgzKt+Y+qnde9iGDQ3+T7xfNHv65VLBH2MA/57jJ4BiqDgPBRGGmVzP6e4YibQxkKT5BQDpJGBbGTe5jcYqjxTZRfOJyZpMJhcrchx+wGMiRBGBBjVJ8GHVAUL5kD+ERCCwudFm7iYoWxMfn9TxW2jgekUnBXEqNqS4tEQtdx68QS6HeOzrdXuFu10yIBgyxOmPQvNP/CWnxm7eqYrHpyQ0QYPaISkjg== 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 v4 07/21] parallels: Set data_end value in parallels_check_leak() Date: Thu, 28 Dec 2023 11:12:18 +0100 Message-Id: <20231228101232.372142-8-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: e09a0feb-be22-495d-ef56-08dc078d8800 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rsz+bvSykrM/gSlIjrnnhqEzBHlSE5MYniCZaK0OaZUNpo0w5MSKYXGk1Vrv5CKyN5HG/+Oj6y7LOHKakb1sR3e4T0Zwg+nQ3iLj5qc/Z5nkIyC9k8WWBW5iISzXtyglFsnv6kgKRdxEXdGEEk0pLBUd1grPKV2vad+loAEDiI2gE7y5/QlJt/+1o7Cl4Sot1/1xVwzKkzVkNSd851fuybly8HT+yNeJt7CmU6h/RFHe7agVxyLixcOvZm0SUhnMSCwtmU4hGAf+0Ub5syjtCEqMA0gJ7Xy+vPsDH+Ym0WKa2JaGNIPtR6ZXg3hxNQ7JPG/7PBoReL8GgvxANGZF4pYoetz2jZY1XlriBGQLy2zgAT1iL2ZKVz+WDyKW/fJwWqPSGbem/2DxaoAmHnrLHWMmValBNXpWs0zrW4l6wS3dKfjQC749P7RYrHoeSIyoKpCfpd21PE4Zf6m2NB6yfCMYt7KhgrsKFg2YVJChky3P+MtHoTAIM7JY6eKZAop+/E4ht68+mKn3rkKHgnhEMjtILRoa5vjfuhWZ4FM1hq2crS6tZQ15ZCBC9YHRtiZoPXsRde87auXtD/OeM+lo7VLfzZKKCHz/ojC3/BlWa7oTIlSoYM7DkZrhAsQbVx0t X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(4744005)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Xouc8eklUek+ML32DNKTbWk7X7Bch2X1kwUXGdM+4BrGtjAUtOkuKkOp6PbW?= =?us-ascii?Q?WQz3ZbOcSwYrc3r7P+h7/A8lDwnsyFrQsh+iWRTLSf/HureuR6caMKEbFQqG?= =?us-ascii?Q?CGbFc1LimM4cfR2/nCEncjX1dnyjdzeARxmeukxYWJpuLPhe4MQANX/xGT04?= =?us-ascii?Q?soIJqe185IKZzhiGEa/MjH004nN1LFu7JpvL7xEeIznk8IXPLWA2T6Hk4qXg?= =?us-ascii?Q?PJ/le6BNa0U7rlvPyDpI/e73jUQnSgHDR08T63j2A6CgPzaQUCcexT90qybs?= =?us-ascii?Q?dhVoGwTAxsHqjU1REaNSBmT/KjNWhHsgbjzy1RTAmbisdattWMWXUWP4TE4/?= =?us-ascii?Q?Tne7SsCoOYdJsx+HSwNDoRz7gDR8fws7rqgj6qh/3XjA2M2qf1Hnu5EW6ISP?= =?us-ascii?Q?g1fI1halUqmOC1/iSex4QW3HYCW2IQHr9/CbjJ7mrscZ1x7vDE4F5lVvM1au?= =?us-ascii?Q?7TOnzMpL4CfIDxQCh3Nyl0WJ9uXQRC5D8Inn/mDGDjapvv7wJgGwhgvoftsX?= =?us-ascii?Q?M6PO0QPqpeZ+R5L5bT5LdTDVzgT+Ag0GcNz4ZW03O1L5uxNT7HLjIL5II3eX?= =?us-ascii?Q?rLtcWbkLns7ptyzwiBLEBw/d7x7hWprHDtfix86e/bWS4RVWdPLqnlTVMxF4?= =?us-ascii?Q?4OqXxrbu+Wb8HD5FBXBRqzZW6J+TibNKmV/4v8HToD7fDAErUO0hYpaU/8s+?= =?us-ascii?Q?9aq3CzZEGnK+fW3+cj2YbiCqrA26G1nFO3RizW5ygnB2XH+N4+Yl3H5BNs3Y?= =?us-ascii?Q?r2nmEmWwre/3VI7svuZ1Rj/OOQETl++mqAx5XK0NpzhFACFYc0u5ElokHxuG?= =?us-ascii?Q?7LbIFgvvThKiV+tJ61Eb1HskP58XqhbQ2lfXwBzLJMEZG4or+RGsleZbtS66?= =?us-ascii?Q?RQdme1E0EMrlzD/Zgu+EvPSZXCbw5NWSCFgcwOUyfLz5USzLcalG+EsxQv/X?= =?us-ascii?Q?gl1oss5gMfLlnwTEH8Q5dLpcGc0ASuQ/+c5g+koPQcWxxzonsge/g5VtGb5S?= =?us-ascii?Q?QBa7YHsKHYT7exhDhgucwKu5EowX4++HcbwYkBxt6ZSBnncoLfLY3p8qsn8O?= =?us-ascii?Q?47Y5qv9R4H6LQki1kwm22Q7IGDKPJLaXZKHVMlv7tJOGvjd+/qanNzhhSy5J?= =?us-ascii?Q?mJz9YKJwPfuLcd0DimD9BbKtQf//z3xP1eGXVgow0bKH7nrgOm4jQpWYN0P7?= =?us-ascii?Q?xQQqPbG0kDh38NDcOGPXjQkTcMXBNX3npprnbbCIj2E3FLQf0ZWWr7dyrKxE?= =?us-ascii?Q?CZd1rLBcOWBXueRxV3SR3jwKxuAji1UVCzG4m3xBrx9XNQKlRM5Srk6EysZk?= =?us-ascii?Q?ah94LggdsZC8A5+MbhKB2Z6pfjXLtEn77dN5X5CLkveHXV0L5XocCr+O8qMc?= =?us-ascii?Q?fvTOpNkak0mzLqqQ9vKLSysY0IPOgPS2xsOzj1odxy9FqAbPcd7SFU49pIUQ?= =?us-ascii?Q?S/uCMTK/LdO10/4vn7PeKIok63MlkMpM6z9gfyh+8qzN4bwUVhrCWkdwg6vx?= =?us-ascii?Q?mK22DIZqji7rf7S86ZiUBr9+P2xxmLZIpd8fUqzr2vj1UJ8VrH8hEW+LCZtp?= =?us-ascii?Q?nJMWnP81MT+u+E3BCW4gGftfWQA26somkAoilvSVw9KTw0QEAWF+eaJar5nN?= =?us-ascii?Q?A/jhNroJAEhQW5oeJKrDei4=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: e09a0feb-be22-495d-ef56-08dc078d8800 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:43.4991 (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: tidZ9BdgCSyltktOaqlDH3mpfBnSYvER4M6w9QO7R0+R2NqbMT3ag8FKyVHrlQ+UeFWUePe452lljMocohsGQTaGYw4aeaw2lFImO0b9Ti0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758484105100001 Content-Type: text/plain; charset="utf-8" In parallels_check_leak() we change file size but don't correct data_end field of BDRVParallelsState structure. Fix it. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/parallels.c b/block/parallels.c index 658902ae51..8a6e2ba7ee 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -806,6 +806,7 @@ parallels_check_leak(BlockDriverState *bs, BdrvCheckRes= ult *res, res->check_errors++; return ret; } + s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; if (explicit) { res->leaks_fixed +=3D count; } --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758581; cv=pass; d=zohomail.com; s=zohoarc; b=IriZK/BjA9SV2LPC3LHiIgSOcXMVdoRxhNb09c2RdU/DBgWphaZ7HIiwZFytL2GzZBnIaVSENrv5jNYoztTh6EKShkFP7pPbF190d07DyRQzSPOrow5m+wIVCl0cm18l5+Yx50qnsR9dGttuMVjB2HJzJjf1cFTmYzy9cKucYZA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758581; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=q3dDAqfScSQKpORpASGRpyoVYYLjILjPhIDAhREH9GE=; b=msXwzMFNrKKf4e2iUoX46gNId0BgkehTyWGyUpPs1MyGIw2VH7APVRguZJrLYB3pp1renxNIQYPkeu9G8ad+5UmIRTHS+Yux2duq63YFeaQTS9nstWRK3pqDmLTIEu4oTaaIoU/vTFg/pHBD29s5rjGccX3RFdGwyJjmqqYKKXc= 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+importer=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 170375858134039.12154192599462; Thu, 28 Dec 2023 02:16:21 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOD-0005Qj-4H; Thu, 28 Dec 2023 05:13:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNs-0005KK-UJ; Thu, 28 Dec 2023 05:13:00 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNp-0000Sp-8R; Thu, 28 Dec 2023 05:13:00 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:44 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TBVpIVAR+Sod96ro6Y0zjeM2gsPJoY0/liSJJDp/5450lIwNdIsV8LkG840++Kiji6BpVpVEtliaH7NP34t2qSrZC6brB/Be5OV6mi+Ma8+LfksZE/BW/BFk1kslkRjLrmLn+I4KXO6JOSoMkJABKKvcUvMnrN9t9YKXE/Nxv9lKSNbcV+LgeUHvioY+FR06rCu4lBwPGZBvomtmKtvBM5DeahSl0RXfYv7Xb1LQCiuNWXzOnPtqwqD4FniGgttzk+UL4bbWhFgIsSGMHE1lBIpz8uOdaMMw6Xvj213NVaRgKb0OsM/WqlYICK9pC357Tmwn3f+qwBrAyZ6X8F+/gg== 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=q3dDAqfScSQKpORpASGRpyoVYYLjILjPhIDAhREH9GE=; b=c7I3jOiPgIHFF6WqR9PeQEQmRcoVwB85NvPSTBmm5VmlhA4ZXKbtBHICEYObrAuf6tnWjC9ZW/kcK3/sBEGVqGk5mS11pI9opi7WBTffksTVrnIHyCuX+BMQJbB84j8zhmQJlIe9feN4dBlhL2faE1Jnw5O85PyZlhpr0xYG5zU2hm2NT0d68/2Py3OkSpGqD2DAHnqlaqi23mDpZCrlbv4pwICDQhVyKhX3s2eK94i3FtjAfBI3rCNPNVsFsXJYliRV4phR2/sZE5EuuJVcGVv/h9Kv2zA+q+DoFad4KrVzEZf85Q/CqPLcOWfvSgsybeec3eZKMSOoBocTOsZ1Gg== 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=q3dDAqfScSQKpORpASGRpyoVYYLjILjPhIDAhREH9GE=; b=NDiuYJ3PjqxKS8Zlan7ZS8ujUsKarutoZU+pA4IUzz7hkYvdBqL+QFyNnFP4YIOpdQFy9r6+Zp4NhUolJHqNEYgzPiZ1qTADTrNPPhUvbs4lBt3zyo8dglFc9fdy7pTvlD52kDxwrC/sdjiVxsg5fv592uJEarS8tl67SQ9QYC1h6/fECJIrtNzqKhmTaLqnQyhZV/DLjT5n3tHuG7Vf836AJgGa4a5nFSm/a1cIXZHbyfym1y6Q78QJ2c6cn4s+loigPpMg+fVc16VP/D4E6fr8qb23USulVwsFLTrTD1CLZvyST+5Q665dY5YKCNT4H+owz4nndivpJPWr5J/laA== 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 v4 08/21] parallels: Recreate used bitmap in parallels_check_leak() Date: Thu, 28 Dec 2023 11:12:19 +0100 Message-Id: <20231228101232.372142-9-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: d2e355d3-f6f9-47b9-ed02-08dc078d885d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 1/apI52Y9SXbuPXFy+cQturjRYJL/XU9FFzOGInie2wDNkCh4iln/knAYXS+pfTLt9m3hgSB2G1IS1FRFS/Fuv7E0oUaHvq+6SkAvZYA+vGR2ecHgrBiXAKeSEsw8vWeyYUIMOFd7NRhUaS2S3kziE5euWDB/ZJTzjePjtjqyjLweE1+Y7Y8UYW9qWYE6/Ybg5rRTt6blqB5DFwKhWaLD9I3CcujnGPnjOMzVwAME07V/NMtgVufVin6spkkmCu1QG6Ii60AZEXTOjsVgxXfbYNlnIBRbZVNk5sI26M2BtSSp/uZqDDZBCjhyGr/q/ya4nK0TYGiPygadqW/GrE5pdrEQHxieFBOiMs9gwiiD57fuWfKc1tn9DNJgyFLYqHZE3VDW9esMFbrunV2wM0y7DUd6Jie16Fui5ddDNoRXr9Z+Ea5vvSl5T9hF15FNJkbKTe2OHluGA7uk+UdAmSi+qyeJXeGvHFCR9pwYptUxNxti2eH7efyq86yIunCo0fmNwtZRW5CfJiMDhel6UEOBxyagsg+Ns8X6hF+2qBsZjvHRnsJCwmlz6c++5VyVcHQhw+2gFw7AwkUIPnGKjUKs+Dr0gXQCyD/DrkyV3AO89+SXyPuKUVhQ72BNrblK2Yt X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(4744005)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UCF0Ql9FglyNV/gl6rpgB3VcvCgzrHIjpew+8eGeDsLaBhNHXziizj9j6mx6?= =?us-ascii?Q?JXpbtowD28mMkiKOAcE12SScLAWYJnEGjSyvVjC62SbdmoMHLUkYztYwVt58?= =?us-ascii?Q?fYAx1HiKYfVzONzQBdMMsXL36iFNLALtQMxPthvak8tVa6K06oOHNKjcby64?= =?us-ascii?Q?EIXEuC9Wrw1bkzzuf2GVQUFs+p91teP+iUNWU1pVXSBb0JJgM40VWtnoi/80?= =?us-ascii?Q?IOFKXteq0KS35nHzgA34UKLdMsY7Pg3pCRxF3K0udqKQxqy1lLYbBT/v5KGY?= =?us-ascii?Q?qH3oDXJFzfo6psUuBcVbEyL01JUyvbnk6NNZmjeHcd8zTlEq6A63v+pLe2fL?= =?us-ascii?Q?8COcZ2ideeM0SlMsk/GtCAc5/bU0jQ2+CKnQxc84uMy6lKv9XRR3luTdr5BT?= =?us-ascii?Q?/eASAPuMToYGo91/ajUoDm7Ym4AAOEvC7DNM0CYvdE9RJnXd2GHP7+t/OFWC?= =?us-ascii?Q?+VKJ7SJXMy+ICChePDXsHorq1IyXp9TdylXFW1guyMp6bONgn9Bi2Zz4sTUS?= =?us-ascii?Q?uQBDO5Z9TMTUURUeBhR2Py7zSYzRyi2u2WFm/QEEefgxiXHyFc+dL2nQNsdn?= =?us-ascii?Q?lb9pnaW6yUEudsyWoz5Fymu+wyLqQtGkznKytOo+L1cwGXhONmjAUkTojwqF?= =?us-ascii?Q?Bj4vVG8PIADZlS8mPK2RoRZiyhlCSsap43RPyocKQgpw3tBCXaMaCGSz50v2?= =?us-ascii?Q?iKP/v0DP9qZ4KDzNK4gLHZSgniYDNrNlBPgTUNgLQKeJm3fnE/IV9QmB/zB/?= =?us-ascii?Q?I6rd9uuAEh0XA07O6j4dCmB65FLAeEA9LNKXWOHSKP/VJNyCRV0kbb9sr+/9?= =?us-ascii?Q?1zHg8rUo9LIrNLQ7qLDghbtWORqQp7Oh+aSgyjeZw2mUUygbFAa/SbeXDAr3?= =?us-ascii?Q?jnnTiWbumBMyD8wfnRzJASNDPnyXKfVd3f2mgvkJbhrFRi0LAMRJp1Ne6544?= =?us-ascii?Q?taxNJSJtDRAJbuGg2wbVS0RrC9LpFGAmupm2H96VT1FuMj3cjcFIdkBDJeN1?= =?us-ascii?Q?2irE4FVyOnkCRUJNh9uknasSvETcO9qI014JzrdiIP6+mJpfPynYslgsvYw+?= =?us-ascii?Q?3lYAvaPOI5M98+35cRDfHJTTGVQs96xI62l2bI6jB6s5holS9lsCRPMUGK26?= =?us-ascii?Q?8VMepEPIoDlQdqM8su294RT7nSSLo9QYxyfKunMpjU0PHtGW/83CQ4Iye0Ui?= =?us-ascii?Q?nspotRHY32swXRcDrNrvBEGsg9GKWlhYirB+Dt1UJeJoU3qo27BB9tSpRf4r?= =?us-ascii?Q?xqEboPv14Cjj7czWHoRi70dn/mGdrdo5+Kz2G445xcOndCnRrfDC4uxvcaQo?= =?us-ascii?Q?kpg5LR7pFeOdoArHGCJiz+DxrGErNn9+qlYl+UcXINqb+fIdZSmX6XBmRqlg?= =?us-ascii?Q?n1nMVJgHY+w4ua6JWEPMIzltkTzVuvzkics2XijbagUOPCIYKIFVYQcWgew5?= =?us-ascii?Q?ILG+eojUXi96CMFtvIHaveE+IH9GBBylTceeeLpJCf1TPt/pyjxjGo5wkb1l?= =?us-ascii?Q?YNQBaKHP+8GLVGmmTpqQmsFmA7H5jrhXEy6sdYYSoBMLdqo7mNVbGDpYNbhH?= =?us-ascii?Q?EQl8nErLBUM7XQm6G9DkoW+kjH9RpqzFLz4Ykl47EuagK63WG5ywBkn1WHNl?= =?us-ascii?Q?59iLy43o4eYHTRqj4MnP2Ag=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: d2e355d3-f6f9-47b9-ed02-08dc078d885d X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:44.1141 (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: aFeZblnkskd92iiDfCq4P2MBYVOL6EJmRww/PSA/jG5MJaVrymmPKYOdzkVy6kLLeCxsQul5/z6LzZnnvigOmLRkxKIWEwO7y4Fo9hjbsX4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758582967100001 Content-Type: text/plain; charset="utf-8" In parallels_check_leak() file can be truncated. In this case the used bitmap would not comply to the file. Recreate the bitmap after file truncation. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/block/parallels.c b/block/parallels.c index 8a6e2ba7ee..04c114f696 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -807,6 +807,14 @@ parallels_check_leak(BlockDriverState *bs, BdrvCheckRe= sult *res, return ret; } s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; + + parallels_free_used_bitmap(bs); + ret =3D parallels_fill_used_bitmap(bs); + if (ret =3D=3D -ENOMEM) { + res->check_errors++; + return ret; + } + if (explicit) { res->leaks_fixed +=3D count; } --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758537; cv=pass; d=zohomail.com; s=zohoarc; b=CB6BAro4caGnirEunTmeiaByG71O9JHmHrNza9QMsxoSF2pzvwKpxsD8KJeoya52mdZd10d1aDj/WnMrOyeH7xnVjg3Ddasu7oTnRl5LX6wK46OTVOy7TqNuLlYBQMirxA/tAziwvTLvi0Ppd+bMcmJwzE5WTxnZdom/Yc/bXlA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758537; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6MTFvJZaRYxijrcCiOR6/WdsYJiwbnhEJy5neS3DPRI=; b=QHY+ie2AYiMwivcMx1GbmoaA9RQIZhx/apPLn71NQ1ykrZfjcqfzjk+4XSi3X3gRyYYRFwlPZN7cCMwzHGRPzLSwa1iQKPdz9QN7vGDZXabLrCh+hjUOYnoUIH6xMnxVW3U3oQEM0X47kI+TDF2P86ds+PSQJc3st+EkzMISQ8Q= 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+importer=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 170375853752157.90114808648616; Thu, 28 Dec 2023 02:15:37 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOD-0005QQ-4B; Thu, 28 Dec 2023 05:13:21 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNs-0005KL-UW; Thu, 28 Dec 2023 05:13:00 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNq-0000at-Lw; Thu, 28 Dec 2023 05:13:00 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:44 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kt5RZleJ7cVaWrR2ggCRwo3QWxjuUTzdD1OIQkmw2Hyy1hsu942bHcX98XFIwWPD6hzaxS37NTunD4mxwBEurrxHWgvMwStPHpUvRQ9fMB/lzb78mpUUOOZvBctgCf2cCnnlGfiQ3wGz8/XlKf57ypxUKzgZpjWedVvYbuf/50+wOW8GUImm/u3tKpG5azfBFoPh6twn95Fv9kNhmOrLr+sBIKUrYLhuZAEUPIoWEUx4F3jiJ4Pqf3PvVA7XVW6XRZVNJAzEyBE0974eFNES3tToZcPwHcO8wVdJOTMpdheRanvs06xB0Z0Ipuke3GnCYAqIKcBMs7NWfg9nA7L41Q== 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=6MTFvJZaRYxijrcCiOR6/WdsYJiwbnhEJy5neS3DPRI=; b=EAY1fjkvp20Q7MlX5Fqfir/Yp89ptsSiMUoWIlU+ihDIQCfGYSHsBM2cNBQpODLBkqh7d+vnHBitsIU9XXtm2VkNM2djj+I2xpP9Fao2IP6WDgPiZJqxF0CWAxgVsSchs6oIrfKQbRML7Zd2JM7dzGp1/V3pwkt55COLTo7cKcEfQscwm3fc1GsRVCLr4/GYdDMGrCa+UKVjwYbfAMJuKTvJ4dFczMRfWTRbk2bZ7v05bKX5KV+7fYI7UE+iCN/YNBvzqVgH08wogtkbJe8E12vM1jAYHXQOjSh+XFrd0VTqrtKgcaSnrOhGPfNrV0Cib/wMVJZZilRrn6hjPR6p9g== 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=6MTFvJZaRYxijrcCiOR6/WdsYJiwbnhEJy5neS3DPRI=; b=DQYf1ArQy/o+WsJjErpr1DcgpJ839wJZtvg7stczEnzjE7UwzMykajYde+kCyRVNKDEurFbF+m8w6PLxnVA3jxh/yM5U9zsbOrSoK6zeQJGQWGqAvMTSjEeuAwi1M7roc1m+oi1aAz4TFZL9FsW8Z/N3+OOs4c+KcgkD6i9ti+AvMwVbVS7DlCsAXeDlz+phfWsudTa5MYNtETQhYybR35sryt6Fd+uUIbHqarHt90nGbcY52RYCvOQ+hZwkc9FFMlJIWRLHR2KW5HuI1FJkpaSIwNzRb6J9J303ux3JOzDIdhFEc0W0+W9Cd2GAvKA25mVRMLp/kVc8jpaIB+eJ/g== 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 v4 09/21] parallels: Add a note about used bitmap in parallels_check_duplicate() Date: Thu, 28 Dec 2023 11:12:20 +0100 Message-Id: <20231228101232.372142-10-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 2d51990b-4af3-4aa7-5f6e-08dc078d88d0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cAqDsTQ8tA/A8IDHAgxXORuagU8UxfB3M+apirzX0erBTNALqYUYibozyE8gut3z+644fDequ5AKi0AtQPeS2rCzJBEZytvh9d51zJsjj403Tzymd4kV0+nr0jx32jX0KtUa8sWiR1r8OZzBtQrIo7cAxIyyPPsjlAjbEgpA+uRRXYLzgQiZxqPH199B156jilrHl9FfpGSALydHa7WWyPLGvst9ziRrOwev0YBVffL4+ti/UA2K/+Hu0csQMT57zC5yTH1Ud3iIUwnCX/7yeKYY4d660x/9xX5LaPEQvOoOvoAjT1rTFBikjLX1UTZvhLyGZ+x5BjdQYJkxck3xn9cJdgF3p7Hz3jkj2WRD46v+p4upQeWu+3o3xKoPFw5Qv5/Zg7spTv0LUWaklOsJGsB/JMxSLcTZm1EUCqd5IPmvOe2LqB7r7kIA06a2X8w0YiZxgmgQVnhvTqaSw6S31CBDJbQE6SpBVzs0sQtGdXqpKJMqWTLP9QweOsBmYXgmvAMWgjhfFT8kUACJNX4rEmMfkiQwbInb43XNxlcHDTQdNWWo54W+fIt95O/x+aD4Gum05atADB0onLv8rI7PwwsnFvLSOBaPbdSuBATIABDFKN2o5vx5uEbpHQyQ6lC7 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?W5XFRimpBB1YLURs9Xm0B84K0Y37eczIRGJrDkzvCph1/Xq1wSXRp+XFdTRh?= =?us-ascii?Q?CT7DCuMHTL6Vtx7SZQm1U8eFgofoYSxwkjOTH0D6aQJcsxdJWhT1+2/iE/o8?= =?us-ascii?Q?3wmKkimyhbzA9giqjaUBU8DpR7H+t6+mWwKn7WBZPeG2G62O/TNwJSBsTLz3?= =?us-ascii?Q?HHYrA2qh41rs/iZcCMxsmc/qyPjqDoInurWs+2ht5uLhLsv6TV6oiOyW+Nfd?= =?us-ascii?Q?rjSgoVMc8SJXseDz9hdhv0eCuZrwfQXGQhpLgvWPno+miVlRDzVPU+erQEqC?= =?us-ascii?Q?YnEU3aY5NJ3MUckqXe8Fba5rzdNI8xjTf66D3eEPDfexLZTKx+P6n7M2BgOF?= =?us-ascii?Q?B7+dzLlvvglHeLeYCHmI8Z1wwg1bGgpM4YJ1FxSQAMPQBE2XgFBfF/ssnG1y?= =?us-ascii?Q?ssrybgZjVdW52KoapYGPhHOuiPsBowfFkZO1jKm0c8fgXoV2RiGjJx9cdup9?= =?us-ascii?Q?Jy7leOuObqsTmYu9v+Za9IVhxLARgGeFTnO2pnN5DX4WFdXmIB+Ea0cnBgb8?= =?us-ascii?Q?tillFypRpwgaSJA18kwGjz79yObMOCKlXmYKj5WZaKa+mQZ9FrIbP5rXvt5H?= =?us-ascii?Q?2VjodEhej5o1nIsXXpo+wHMlJtjHMIezzPwr8jdSSuUePKemTRf+pqwcgBJ4?= =?us-ascii?Q?i3RS6vLUVXmM7dL2+2XJSSbakjeEAwEapAq60lu+KSDIMYOBtrGQxOKF/w+w?= =?us-ascii?Q?rwkNsDkRPSKjo1+jgO3jqhpYH+VpaHzhvjgVw30lbNwTg2lCO1eDEj8SWKq3?= =?us-ascii?Q?zPc94EsQ2dbTbS/RF7GEDhFeyHGO5+HNPDkZy+jg3ocVp8pDq1veAuZ6CFcu?= =?us-ascii?Q?tlQUJwYBj7yeYfWL9pzhb5lvtEXPYItf9pZwykkylX2iR+/gkC6rIf2GS0D4?= =?us-ascii?Q?KmHlYpn+kMEk+j5rtoYyhLh0F+RLtqwR6gQ5dJJVJMEtmto1DfnVfETS6yII?= =?us-ascii?Q?uh0Tb4w0F6ghx4Cy4qu0VyIAu0upvYJo1CMGe4r/P3J0f4WZDtE8hLsYEChC?= =?us-ascii?Q?0EfCr0MXqK5sOYhVAc1e4d0AUrn6vTIpDyi85v9qjS0MmLeyb2Mu76b0nG2I?= =?us-ascii?Q?IrF0QaRYmrSsI8hhTvkQb60RYyZMBafopFaLOuwL3UKcbQGpEnT6H+r/8PHI?= =?us-ascii?Q?iOXno9lvIhe8l/MbegUEfzHBF/H15MCMuIg6YMvbZGh1sUfPzO5doebXc2L6?= =?us-ascii?Q?w+vj8mudWA89uTGeKcpyZN0tnfWEc1w7kxcOvquqXBMLhZnIQ4mcQpa9/d3e?= =?us-ascii?Q?xBLgQEzDXv1vu2kFQA/GNmlftsPNY3SLGwIED+eXWh4/K9qcemNUmmASULcG?= =?us-ascii?Q?qhnAxeDA0e92rxmedyWKF9BtEtaesAFDLnuGfXhkcQv1I7oprFTK+jygL6xw?= =?us-ascii?Q?1/UdknDyUWWnmkT/BUh3ZJErd8v4fL5kkq7CcU2B+GeJZt54IlIEILjodKig?= =?us-ascii?Q?YH4Vc/DIBq49+JmXFHBbj1w03rMflqdzernKHOBLoH+QzqR/UuhhxJvc0NL4?= =?us-ascii?Q?IdDOSJBdT4DEWbbAZ9QkxvwHITiT4K6FzGynyLBXllarZVL0U/aCDWg2vUSQ?= =?us-ascii?Q?FCkJ3cOLH9hDwIXM/x196Ur7IA3040jqQA88vmDbPMuMpOPzGjxGPAeTbzDv?= =?us-ascii?Q?FxvDdgnYBaiLcY+iqdZYZ8I=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2d51990b-4af3-4aa7-5f6e-08dc078d88d0 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:44.8509 (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: b61VTH+xZBeRI6w8i9KP7nrJ/f0MoY2xzhvZ0hooyMIja5ADVQiSQOPVZr5MPxwD/UkDQmqCQqef7em+iFAYG3Vuu8TDdntYjzqBM1Yo/pQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758538794100008 Content-Type: text/plain; charset="utf-8" In parallels_check_duplicate() We use a bitmap for duplication detection. This bitmap is not related to used_bmap field in BDRVParallelsState. Add a comment about it to avoid confusion. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/block/parallels.c b/block/parallels.c index 04c114f696..0ae06ec0b1 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -837,7 +837,10 @@ parallels_check_duplicate(BlockDriverState *bs, BdrvCh= eckResult *res, bool fixed =3D false; =20 /* - * Create a bitmap of used clusters. + * Create a bitmap of used clusters. Please note that this bitmap is n= ot + * related to used_bmap field in BDRVParallelsState and is created onl= y for + * local usage. + * * If a bit is set, there is a BAT entry pointing to this cluster. * Loop through the BAT entries, check bits relevant to an entry offse= t. * If bit is set, this entry is duplicated. Otherwise set the bit. --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758648; cv=pass; d=zohomail.com; s=zohoarc; b=FTNS/viEoPKKGf4FjLNe6W8JvJrdLEdLl5toESNEyAkwP+6V9MxX03xKF5eYqFnUAl21qTeqJ9vB3qEt5k3EFIVLDOmAQw19hIK5ApIv8XN+Cuqvi8k5M9fT1UHIbVxARU3dw33CpK3VneDxYHGbmy3DvyFjpVkxnVmgsJQAbKs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758648; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=e3JRRZLsEPXH1NNIs6vNbF/7zbteI2Z70fhLrLAUmgc=; b=RK7aO7JcNtGoUWpdIECoH4utPWSBC9YdtPi9EiLaF7dJNAFz9W3guY2kbF1Wsuq6yNL+YPyUSL04vhJL3ee5TeClv0wqVSRtomKnsNcUilvVrWGqI+ImEBjeI/qgV5PDLfexCva7GoqA3oBLpJ6wT/9PDOwuzSuSPpPyc46h8AM= 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+importer=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 1703758648396303.4245174918807; Thu, 28 Dec 2023 02:17:28 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInON-0005fU-Em; Thu, 28 Dec 2023 05:13:31 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNv-0005MP-86; Thu, 28 Dec 2023 05:13:04 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNt-0000Sp-Ky; Thu, 28 Dec 2023 05:13:02 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:45 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BzBtrv+FYoKdjgn7ZFSmoVkmZYrgbqnmj5qbKFgtp8+OoW2opQTINYN9uYtncLqBKSLmzG9vNab6vBZS11nWuZMngQKMqxhLiu5nhZNF5j3w1ntdYTpSvu9505cxso9J80poCJu0OD9b4O42yEg6Wgti8TTfgzGyoJ92Pl8GghOXCmJUuB5/X8oUdIPWb0JGpJaOro7gUuPYTMKNRd3Q152Ayymig0SfMwQoLWxQhnrc9XcxKzqJmTRrjaR9D+lvJF634S68u6sdFVr8jsLJRES6/D8v/a8gyRWGFwqLdOgy2zSVVDDrtA4NArKp3XDhiWkZGp7564x4B8/VqGcnzw== 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=e3JRRZLsEPXH1NNIs6vNbF/7zbteI2Z70fhLrLAUmgc=; b=ghomKrYuOTyiO4ApNqYSsJBU9QTqoqbr9UdYR27DKsT8bdmqRUa6bpymvhcnqC03UOkdIuSvgnnPoGj8zGh0CCKMRQUPE3HLboa63pA9ipXWXaw0JEuxZuSUpFX0mYHytX0Ob/1GAg1KH0QOc2j4QWtzSqzt+ILsu0LxWNDYgMRK5Ii43dVN/0wRGoSKDc++bXQkuSprBLl6mFE1SLaf7n6Sj3NEbyzu5G1chLE3E0RFLsgwwEJIosbpy2U7buh/745+4wcsihdknjfHAOwxGPJwVh6ESVToFIcXutsjMGU2lcMQJ6PEsZKPFLJQjl7lnNJzFy5lIJbsHJduLsvW3A== 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=e3JRRZLsEPXH1NNIs6vNbF/7zbteI2Z70fhLrLAUmgc=; b=eqDG8qNHq+ABQu0do56Ou1efeOI2GX6UyRuYDwVd7pQ3Z2qVGzwfJt/9Q3m59lTBXzfkMS7ArrwwFjbjDbMXL4O9+COQW6mhwh4NU8vbN7tC+hZPMOZm1mwvjEPXoq55mqTHuWPZcXqQ2LuWbjb/Tdnlx/8ydC7DbWUTfIQNReZcarYIUiGIRN0rXsv/kfO0YZApoIH+iHlMppIBtlOIGzFWX6dBhG+UfmSmX0jfWaitL1Tg3KiyDGmxf5BCkz4ulDtTnLpauIc6rLnvz4nqK4jtqxGKgLqXWakvV4eoGZtpe9X24KVMogq4ACbAMwBg+g3glfYvCNlAWAAKwNRu5g== 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 v4 10/21] parallels: Create used bitmap even if checks needed Date: Thu, 28 Dec 2023 11:12:21 +0100 Message-Id: <20231228101232.372142-11-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: c878398e-0aba-4d74-e686-08dc078d8936 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: qX5l26dWspE2W19UZQ675sIqO6xoD1j/n4Lrt78ewCZpeNMKLQCzOsD/hx3T1OAf23/H81ND6SKb9JmOPvjZxIzEQCL5vXqon/AKbdglo2/rJdycXKhStWMlwTAJTy9VBVZ2Kv0MK1KZAuX7UDQb8swuQp9ZYT4cppGMknyF4WkPabrUeegXtYmTz1RPvD5mw83jmo/NkNHcuCdtk25TLPX1HKktCuR01Bbh5H/HVanppMGklbnUWh1l87KKHTQBipFPMYmpgEX3fHxEur0cp7YZiaKoLoOdtTl31mn50vaalcuomceXuT55KYTFInHrMYaYsXkTArVQyIrludkd2TTCuD5syroIlrhMe5Hvnl7se7LBdxPjPPqEkClVkx5iibZ30rN0+04YwA0hf89NaZlfxrqSMJ+yb7MTk24E6+vJTXfvGrY8kPh1C47nV0gMKOGT2WeGDMEY8bgnEEL8F/NeMqYfNLkyJdmjy7Qy0ET0FTdrHipgtJiZO7TsKeMK5TrJ8Sy76FJkGqxu7moaLL8VRMdAnWyTcNCkndOiOo/m0N9xiwLu2mRZhn6vEDKttgi3bEEtZLZbKKW6eLzOtbB0RmbGqBTbYifRIUT1Sw27KE6B96oCX3rS9plx+a+d X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(4744005)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?j3McvvMQp9JGXLJjbAiPoYSX6VtJFAW8lsdHQinJxpk2uXzCAuQuso27n/Ao?= =?us-ascii?Q?fykbrzUdB3XplLlEr/xWk1HqvPwlGOt6AYvGdR81a3AM3HL7z7PCMxoj8LVU?= =?us-ascii?Q?dEOXr2DC2GOrMp1HPDio6SER+VcWzfNOKExcZAjGtWKuJPa1RqWLFE0k1cHL?= =?us-ascii?Q?xYsLneHHSsYLqPmudv5xLt1c9uPt3STBqrog0uNf5Am5zh1R8TOA0ZbHkJa8?= =?us-ascii?Q?8z3wcNw94lKdmY3IsOfskFuxhWtSmSgeK7qMBZ+Tq9ill2tVDbtFdIS1DCJ8?= =?us-ascii?Q?dMwTdCzPSLskvMpC6w44r+lU09Cc/OF2eBGGRCG+OkcUWXizlKBJvP/VHsaM?= =?us-ascii?Q?+DG7s71Lm6vkphxM0mNVmZGxUP6ohEzTHfj66dXg8z1y8eS83wSBqQSwfX2a?= =?us-ascii?Q?yiBufTcpYbD6nh5ejXRxP5GnfJfejdsRxxbKSm0+H2PUBJcnf90fY9GV2mlE?= =?us-ascii?Q?n7iqfpn3WlurwFOfYEczO0MkHMKzCKlV9JlsDdVxE6kJf1eoR34Q5AbD9Yuz?= =?us-ascii?Q?uBZ8X6OpukluptjDMWlTFSUo/FowXZry9W66sHTxYlIt+SVfHrAXcgy7xWVx?= =?us-ascii?Q?/7gq/fUdy/AP+/mygrt1zSzIyLyhV9ei5UTEG7bH6uzT0B5koIK2gZZ1N6uX?= =?us-ascii?Q?1Jc1idsEOL8MYpHUhTSd6Oc1KLQxGAL56w5D5TvqnAHN1j61TQFvTGfy1ElW?= =?us-ascii?Q?CEr4Emhk1E6dO7XlBcB6YdVIqlGZublHGTrXwLr6pdY7H933O0xyBZdkLei9?= =?us-ascii?Q?B4Po+977co2Tm7h7B9hYn/Sf9lsbB2QKV5jJ3G79owxHQ55PLlhmIb9YlbCH?= =?us-ascii?Q?VwRL/G6Ptj4iS+rXloBEF5H9cEA5HlLkOXmS72mcJNC5BFxh1wuSJhairxvE?= =?us-ascii?Q?TpbRYPtKi2QF0Sdmbuc25fg2/sEVitK5CoWt7Sdl5FecvK+ujFRwY04UgY++?= =?us-ascii?Q?r8TcoBe1/UCN1NFhclNyn7fUG6ap3MrCYh5GedInswl9hGicLlvuHtNf5WMs?= =?us-ascii?Q?SM4ezgyQijurqh41IDxFgxKEnf2TnP/bIV7+OZ/SSkcG5XD6498MABtepaUN?= =?us-ascii?Q?A/iaaY+ymKKNQASwuODmY1Qootz1/5orMby1/yf2WwGj7IBRE2z20Xf+MW+5?= =?us-ascii?Q?6DlrrFJA7elP0AILDSYO4/ycDffjLKCDscyp3Ep1tnTXIuYGUtJ4Ey0cb+tZ?= =?us-ascii?Q?7wj+bOrDAWUzWHkW9pF+kpCSnQ75TqMwW+wlAiJjU50/L21Y65xQFYmaYdZU?= =?us-ascii?Q?a29tdJ4IEs1Syl+vLduHa0m6trduqRGPqME8uiYobuEv5e6TrWzknLK719LY?= =?us-ascii?Q?v7M791htvuJ1eRVU3qVuJMwJYhqGego9+opAg+RO3yyH83C9D2YRiRibVb7y?= =?us-ascii?Q?giq6bwq8kxXET2gsG/vpfAsSgDFd/0s3jwTkID36EEXt3rwdQ57Jzp8TnBGH?= =?us-ascii?Q?g75yL8NBz4Tk9CpduWO3/x3Duf2MSp4xcKE3cMeJ6EwiqulcdZU4M5V+J9iu?= =?us-ascii?Q?XZrJ0hJPS4LqcsYbKHZjBc/BYKJkVZNKN95y/REapMObwHvV+2PJA5OW33dI?= =?us-ascii?Q?C/kNJwCssHGBdCJb/+Hbp7aWzWjLVs4+cE06mKVTT5XdXXfcfc4+daaNPjjZ?= =?us-ascii?Q?/M+iQfAy8GokMyfqXET8wyY=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: c878398e-0aba-4d74-e686-08dc078d8936 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:45.5171 (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: BVLdprERXsudFmg17iVow2IuykE52b40j+ZN6RAjWotAilnrRgxdDtsmQ1UT2271zVqqnwjn8QUhIsT0b/fHP/O9+ZHHboNeHHBCLulWCno= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758649177100005 Content-Type: text/plain; charset="utf-8" All the checks were fixed to work with used bitmap. Create used bitmap in parallels_open() even if need_check is true. Signed-off-by: Alexander Ivanov --- block/parallels.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 0ae06ec0b1..f38dd2309c 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -1421,13 +1421,11 @@ static int parallels_open(BlockDriverState *bs, QDi= ct *options, int flags, } need_check =3D need_check || s->data_end > file_nb_sectors; =20 - if (!need_check) { - ret =3D parallels_fill_used_bitmap(bs); - if (ret =3D=3D -ENOMEM) { - goto fail; - } - need_check =3D need_check || ret < 0; /* These are correctable err= ors */ + ret =3D parallels_fill_used_bitmap(bs); + if (ret =3D=3D -ENOMEM) { + goto fail; } + need_check =3D need_check || ret < 0; /* These are correctable errors = */ =20 /* * We don't repair the image here if it's opened for checks. Also we d= on't --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758483; cv=pass; d=zohomail.com; s=zohoarc; b=FArWDkO/HkoDH99WXrEdrKL4GTZz88PxBjV5JLR3OjDP2veZGov+eGipnrg6Y1NpubLRBlUC2VldaVNR5z1vIe5s7+KjMvHjmzxuBQaZ8grE73muZfdluEg4GahHy4eFbVaMyUVsZzozxcls4nvj8Kp0vZsBM0x3FKasNfNH8gI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758483; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=WpECAwRB8Lh7KQMAwUs6yNclzlBlaMN4Cp0X7tp96gY=; b=SbwwcSCUmy9OWO529na/k2Vbml9AeW3gk2xU4wVitSzqiuys+JOQUSfGDXHddfnST9b1fafqi8trmm2+eavgtcS78IvQ7PXuTvxQry+6ek16KwTFBLoS835c6nqLzD9/2R1iFzm3QbO3MvAgpEFIcuL3DeGtIWrg5hpyj0r6yaY= 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+importer=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 1703758483656314.036320678807; Thu, 28 Dec 2023 02:14:43 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOJ-0005XG-G8; Thu, 28 Dec 2023 05:13:27 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNw-0005Mm-Nu; Thu, 28 Dec 2023 05:13:04 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNt-0000at-MP; Thu, 28 Dec 2023 05:13:03 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:46 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SFs+jcHtcBnMg3cRoiyAIT1kbW99AleRe2b0ZDpvji8yOVfUY6VHR3vNCRMF4bSvW/dBF3MeklX/A5g9nMmLySdUJsYWC7rB5yiCDKHxUH8riQ3D6RuVy1k7FHu3JzkHU10madbiByZTRdVsBb6BQJh8KpCMnsmrQCsvBRrgvW874Ll22i02+VVQW4B7oxWSmBvvckZvoIWr5J0CbtbyxzucpfwtQqyOZI4MIWw2gi86mh4lwsAzeROyOueohCk+KBnBfbfMga7YnKMAoASuXFGOLLEkEGkRqk7BlzyBSNcluG/QkIj7CM1G78iSgbRWVUpCfb8a4V678048mAQHyQ== 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=WpECAwRB8Lh7KQMAwUs6yNclzlBlaMN4Cp0X7tp96gY=; b=kNgV9n8Jyd8HCZXWR5fz3AQ5BGBZ5swGlZ7mUURbZbA1E4q5w1ruwqUXDgZHRJkx7oqMVieIui9pd5KbGvAEOQ3lY+6x0z4/rvWHeHguLgcI534f9WJ0VtYyiOHDBML/ePJKJPJjmQtNbb8yExFbTFNqWFq/nrICQgZzJNbTL641FP1MZBuaNuuVeP96CZK9VBDUh4/gvUrRXpHdiDTOBgi1x0NOvzyFl3rMOqcpZIxepzRbFj4wR/lJcOqoyu0Agz86FJr12WkvGryuWmFKItJxHuZC7EuCfJGJJY4iwoeoayjblhF8WVaisu9r+7+De78AsHYjSPr2A0OSHphECw== 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=WpECAwRB8Lh7KQMAwUs6yNclzlBlaMN4Cp0X7tp96gY=; b=QhAvAA1NsiOIiJgpLRKAwsqGTx1x94cn8eq76UbP1xEtWMnbsX01tl36ZKQ8NamMJ6sLGFZmwstFbQGVRedar2Fq20vLeEfxnsjRE7ACRAiMGhQlBJOHwbXYnPmjQWtdawoWWnOMHGhDYlr2oej90yrKuHWIbYVS0bMZ0koNGCl1/eZ1ypF6oim80cEdiyR+/qfkdHp9GgwCJvdOnZYiiszYFsHgd8B99mfiZwcLYYbMdp8TOm6IG87RJIBvM1wVHxMhiQDPuIe7jYPHhg31L1IkMgvlRskqDaxs3wej9CockBLsqe88rJXXuMehRiQDGX5eldr4bTZuldWGlmhNUQ== 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 v4 11/21] parallels: Add dirty bitmaps saving Date: Thu, 28 Dec 2023 11:12:22 +0100 Message-Id: <20231228101232.372142-12-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 479ad605-d105-4eb6-e381-08dc078d8993 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ho9slYCPwe6wwYYMsyVjPhcIolk8lAUO0HFoxJBEj3a477iifgiRJua+HjzJBE7+Yp+m14Nc5/0aMGzuMSTudwPsGfODA4p5YkT/YN7yDeHK6jYxubTM2+YCH0dNvwcJQ5C5cHGEnyjuwheM+rzlhvSW2A3BrpWRwpbbcf6zKp3gZ/iqQD2VX4WAdkBe1crqDYB/5Nt6WWa7KY8Z8CGuYTCgsQA/5kjYPTT179fviKQaHfID3YTqeJdHSny5nhLo/NgWT8jBXN0qz8JTk7SNJfvWvBVp0zyCnuz7lKi8WYuE76uucEOfx30qamotAN7HPANWOPau9K4aDOgLv7+0LeSpaQ53gsMwn4tIWKpiEE9iAIDQXiOwebMWTHCyg0lFk4w+x+2UL71xRM7q/baL/eqJqdn/lkvfF/8dEePsye8+A3GaiWvVnm05uVGP3vZjMgTSDc+EYUeTgJM2IwQzmsnBSq+W5gh9XH5gh6EOFR2mcVV/YLQnzQZjkHpvlqqRIhFq2PM1tA9k4uxod2oS4X7FSS2cw9J8wQUH9j8K3Y4TNuwha0eLQoaSIQrGoNxTrky2rKWVwfPr1A6q/v7DJUR8YxK8tnzw2xstyxciFq6VhEl35DWfT2uMcr5yG4fCRE3CeiLUL1cpbVVYpaqTgQ== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rYEeg2zxbl9B6g64ZkeAgiSCB6GbWX5O8nb+sPTNQrjOY/kwKGPuZC2dST/R?= =?us-ascii?Q?UzntKlImKNPgb8kggMNbWEago1A+GJsFuji/WrQQ+HmazlDu9xoTnzNUX9Es?= =?us-ascii?Q?vun+Jsp61cMWjj4DWKquy7bcRm/aIyUpqzj/0ssbTMWkbTtBJ0KuZJeDrbj1?= =?us-ascii?Q?VRSjTCDWoWVcBFR2dm8n+drZWxr62EvMIzuUaRD1blh+hM+Gi1gQOUA/67jo?= =?us-ascii?Q?ZdQwVHyJiBsTIImaeG9MQxXagRg8M2Fzii1DdnCri5yrn5JYhiKF5mdA3G0M?= =?us-ascii?Q?K3tUg5RqWSbgGl1GnrOrTcjYCTE+SB/XD61RCMSj5e8Hv6Zi/Tm0bBtntGFY?= =?us-ascii?Q?OfwmIhRZxRKkXMmk/EsKq9Zo1toa0UmVFG4BvjapU+jyi1nUL9T3580EHGPk?= =?us-ascii?Q?VMTXB1TQDrajAD3j/DWM0cdbd9Lc4eHb5HmtoonYp89QOX/0weAh9yWkgXnj?= =?us-ascii?Q?pTg9EPvHDlNsyu1vwZqTMSff5bE9x3SVhxjVSsqwzq8HQwidac4dFIt0agxl?= =?us-ascii?Q?2Vd4tloNLfux/kCiaQaSBUQrvBbz7WD7d+ya1bdhIrNUKUrSbGl3wr3HSkY1?= =?us-ascii?Q?1FDnTwUtw7P4DPAdJSrCpfBwev+Ovqwyt1uFOqCh/ARXtpl6lnTFyztyuIno?= =?us-ascii?Q?VDN1JmkdJ2Ab3RD+O0psoF5EAZdFz49COj8ktecOA6LTZVwAN5QP8VwvOp7+?= =?us-ascii?Q?/dACGtbAF0ldQGUWMjiORVpmrUIF8KBwE08XNLxbmJg7Fw5OknokPDGerD7S?= =?us-ascii?Q?+5Xa6F9x55WIUlZ5c5h6xNUTtWn9GMDLcT5Tmkp+NkwhGcDliKzJaMkiOjj7?= =?us-ascii?Q?6rZ5SY+boY/i8iGgRZbKvGW/dSZxp2QmZfpCeuZD/baE3lodtaguXv9nPjws?= =?us-ascii?Q?JWNd8naDhvG1q8jGScqGqj3Ync+0D8gP1O20UxGrcGTIUpS/xcwyL8P6qfUI?= =?us-ascii?Q?psOsEWfj13ouQKw7NBZjt5OLMyyvmeeLuzNfpG3pA2b7Pw49TnayD3C9xUDH?= =?us-ascii?Q?RFg6iBBt9kOPFmsDQE2hXhb4ARvBseGZrCXVLcGKubYaGvydhFGIetPyYyhF?= =?us-ascii?Q?Sc78q838PdUUhUG7Y87U5Bigcb7nFNYeI7bk+AlNdTDajaYKRUGppzwLpX6/?= =?us-ascii?Q?9gS7g/UbLRcR4gsJfpHn5tLVS/63fgnoRevh32EEDJukNqN8gxUCVA2zdPDA?= =?us-ascii?Q?1oJXl8xuq/Ox4Nr3toufeLx0rRLVGKnVvM3BXJOz+F/KGGeHwE2/qBl5QK/i?= =?us-ascii?Q?M5kpKLk/iS8OENesDVkqX9vlHtLCWC50Z5itquDq4dZMX/lUV2s8gp9bSscz?= =?us-ascii?Q?/9t/ZlDytZKuhGJ3OtQYVUE320tAmaJXZKkll7jg4TswigMLoBfCi2asxACI?= =?us-ascii?Q?twttiNtPqjRTnD3VY8Z6bfXkQ82cUufFkmszn0B60KOB+DL/IanzTfhGW+0a?= =?us-ascii?Q?uKs2e5oop85Io/BmzuTqTROPKC2Zc+1RQRBfuIFvt9Cs/laV8soQsR/v8dI+?= =?us-ascii?Q?J6LVpPX6ZWdiNKKKIW7xun5By8MbkgRl4WUVSF3lb1NRDOmkMz2Fj1Gv3TT/?= =?us-ascii?Q?oNN/eFHHe1HGx1qPpA/Z/0zqgbL6/oFpO2DVc6o06gHhpzBYM0l6BtP7o+wF?= =?us-ascii?Q?DX6Ow45rZZXBfUjCVwyGO48=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 479ad605-d105-4eb6-e381-08dc078d8993 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:46.1081 (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: 0ZLEcNChaa8HbqUaJ2Qs/+FX+VwwmzKud2Tz3j30qjl3sGAWi7atjpJEtVS1/yWCSO8U4V/U5Z++jE7GARre8JWIHhFwvWZqDNb2VY4dE5U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758484146100002 Content-Type: text/plain; charset="utf-8" Now dirty bitmaps can be loaded but there is no their saving. Add code for dirty bitmap storage. Signed-off-by: Alexander Ivanov --- block/parallels-ext.c | 168 ++++++++++++++++++++++++++++++++++++++++++ block/parallels.c | 16 +++- block/parallels.h | 5 ++ 3 files changed, 187 insertions(+), 2 deletions(-) diff --git a/block/parallels-ext.c b/block/parallels-ext.c index b4e14c88f2..c83d1ea393 100644 --- a/block/parallels-ext.c +++ b/block/parallels-ext.c @@ -24,6 +24,7 @@ */ =20 #include "qemu/osdep.h" +#include "qemu/error-report.h" #include "qapi/error.h" #include "block/block-io.h" #include "block/block_int.h" @@ -300,3 +301,170 @@ out: =20 return ret; } + +static void GRAPH_RDLOCK parallels_save_bitmap(BlockDriverState *bs, + BdrvDirtyBitmap *bitmap, + uint8_t **buf, int *buf_siz= e) +{ + BDRVParallelsState *s =3D bs->opaque; + ParallelsFeatureHeader *fh; + ParallelsDirtyBitmapFeature *bh; + uint64_t *l1_table, l1_size, granularity, limit; + int64_t bm_size, ser_size, offset, buf_used; + int64_t alloc_size =3D 1; + const char *name; + uint8_t *bm_buf; + QemuUUID uuid; + int ret =3D 0; + + if (!bdrv_dirty_bitmap_get_persistence(bitmap) || + bdrv_dirty_bitmap_inconsistent(bitmap)) { + return; + } + + bm_size =3D bdrv_dirty_bitmap_size(bitmap); + granularity =3D bdrv_dirty_bitmap_granularity(bitmap); + limit =3D bdrv_dirty_bitmap_serialization_coverage(s->cluster_size, bi= tmap); + ser_size =3D bdrv_dirty_bitmap_serialization_size(bitmap, 0, bm_size); + l1_size =3D DIV_ROUND_UP(ser_size, s->cluster_size); + + buf_used =3D l1_size * 8 + sizeof(*fh) + sizeof(*bh); + /* Check if there is enough space for the final section */ + if (*buf_size - buf_used < sizeof(*fh)) { + return; + } + + name =3D bdrv_dirty_bitmap_name(bitmap); + ret =3D qemu_uuid_parse(name, &uuid); + if (ret < 0) { + error_report("Can't save dirty bitmap: ID parsing error: '%s'", na= me); + return; + } + + fh =3D (ParallelsFeatureHeader *)*buf; + bh =3D (ParallelsDirtyBitmapFeature *)(*buf + sizeof(*fh)); + l1_table =3D (uint64_t *)((uint8_t *)bh + sizeof(*bh)); + + fh->magic =3D cpu_to_le64(PARALLELS_DIRTY_BITMAP_FEATURE_MAGIC); + fh->data_size =3D cpu_to_le32(l1_size * 8 + sizeof(*bh)); + + bh->l1_size =3D cpu_to_le32(l1_size); + bh->size =3D cpu_to_le64(bm_size >> BDRV_SECTOR_BITS); + bh->granularity =3D cpu_to_le32(granularity >> BDRV_SECTOR_BITS); + memcpy(bh->id, &uuid, sizeof(uuid)); + + bm_buf =3D qemu_blockalign(bs, s->cluster_size); + + offset =3D 0; + while ((offset =3D bdrv_dirty_bitmap_next_dirty(bitmap, offset, bm_siz= e)) >=3D 0) { + uint64_t idx =3D offset / limit; + int64_t cluster_off, end, write_size; + + offset =3D QEMU_ALIGN_DOWN(offset, limit); + end =3D MIN(bm_size, offset + limit); + write_size =3D bdrv_dirty_bitmap_serialization_size(bitmap, offset, + end - offset); + assert(write_size <=3D s->cluster_size); + + bdrv_dirty_bitmap_serialize_part(bitmap, bm_buf, offset, end - off= set); + if (write_size < s->cluster_size) { + memset(bm_buf + write_size, 0, s->cluster_size - write_size); + } + + cluster_off =3D parallels_allocate_host_clusters(bs, &alloc_size); + if (cluster_off <=3D 0) { + goto end; + } + + ret =3D bdrv_pwrite(bs->file, cluster_off, s->cluster_size, bm_buf= , 0); + if (ret < 0) { + memset(&fh->magic, 0, sizeof(fh->magic)); + parallels_mark_unused(bs, s->used_bmap, s->used_bmap_size, + cluster_off, 1); + goto end; + } + + l1_table[idx] =3D cpu_to_le64(cluster_off >> BDRV_SECTOR_BITS); + offset =3D end; + } + + *buf_size -=3D buf_used; + *buf +=3D buf_used; + +end: + qemu_vfree(bm_buf); +} + +void GRAPH_RDLOCK +parallels_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error **err= p) +{ + BDRVParallelsState *s =3D bs->opaque; + BdrvDirtyBitmap *bitmap; + ParallelsFormatExtensionHeader *eh; + int remaining =3D s->cluster_size; + uint8_t *buf, *pos; + int64_t header_off, alloc_size =3D 1; + g_autofree uint8_t *hash =3D NULL; + size_t hash_len =3D 0; + int ret; + + s->header->ext_off =3D 0; + + if (!bdrv_has_named_bitmaps(bs)) { + return; + } + + buf =3D qemu_blockalign0(bs, s->cluster_size); + + eh =3D (ParallelsFormatExtensionHeader *)buf; + pos =3D buf + sizeof(*eh); + + eh->magic =3D cpu_to_le64(PARALLELS_FORMAT_EXTENSION_MAGIC); + + FOR_EACH_DIRTY_BITMAP(bs, bitmap) { + parallels_save_bitmap(bs, bitmap, &pos, &remaining); + } + + header_off =3D parallels_allocate_host_clusters(bs, &alloc_size); + if (header_off < 0) { + error_report("Can't save dirty bitmap: cluster allocation error"); + ret =3D header_off; + goto end; + } + + ret =3D qcrypto_hash_bytes(QCRYPTO_HASH_ALG_MD5, + (const char *)(buf + sizeof(*eh)), + s->cluster_size - sizeof(*eh), + &hash, &hash_len, errp); + if (ret < 0 || hash_len !=3D sizeof(eh->check_sum)) { + error_report("Can't save dirty bitmap: hash error"); + ret =3D -EINVAL; + goto end; + } + memcpy(eh->check_sum, hash, hash_len); + + ret =3D bdrv_pwrite(bs->file, header_off, s->cluster_size, buf, 0); + if (ret < 0) { + error_report("Can't save dirty bitmap: IO error"); + parallels_mark_unused(bs, s->used_bmap, s->used_bmap_size, + header_off, 1); + goto end; + } + + s->header->ext_off =3D cpu_to_le64(header_off / BDRV_SECTOR_SIZE); +end: + qemu_vfree(buf); +} + +bool coroutine_fn parallels_co_can_store_new_dirty_bitmap(BlockDriverState= *bs, + const char *name, + uint32_t granula= rity, + Error **errp) +{ + if (bdrv_find_dirty_bitmap(bs, name)) { + error_setg(errp, "Bitmap already exists: %s", name); + return false; + } + + return true; +} diff --git a/block/parallels.c b/block/parallels.c index f38dd2309c..a49922c6a7 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -1466,14 +1466,25 @@ fail: static int GRAPH_RDLOCK parallels_inactivate(BlockDriverState *bs) { BDRVParallelsState *s =3D bs->opaque; + Error *err =3D NULL; int ret; =20 + parallels_store_persistent_dirty_bitmaps(bs, &err); + if (err !=3D NULL) { + error_reportf_err(err, "Lost persistent bitmaps during " + "inactivation of node '%s': ", + bdrv_get_device_or_node_name(bs)); + } + s->header->inuse =3D 0; parallels_update_header(bs); =20 /* errors are ignored, so we might as well pass exact=3Dtrue */ - ret =3D bdrv_truncate(bs->file, s->data_end << BDRV_SECTOR_BITS, true, - PREALLOC_MODE_OFF, 0, NULL); + ret =3D bdrv_truncate(bs->file, s->data_end << BDRV_SECTOR_BITS, + true, PREALLOC_MODE_OFF, 0, NULL); + if (ret < 0) { + error_report("Failed to truncate image: %s", strerror(-ret)); + } =20 return ret; } @@ -1525,6 +1536,7 @@ static BlockDriver bdrv_parallels =3D { .bdrv_co_pdiscard =3D parallels_co_pdiscard, .bdrv_co_pwrite_zeroes =3D parallels_co_pwrite_zeroes, .bdrv_inactivate =3D parallels_inactivate, + .bdrv_co_can_store_new_dirty_bitmap =3D parallels_co_can_store_new_dir= ty_bitmap, }; =20 static void bdrv_parallels_init(void) diff --git a/block/parallels.h b/block/parallels.h index 493c89e976..9db4f5c908 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -101,5 +101,10 @@ int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(= BlockDriverState *bs, int GRAPH_RDLOCK parallels_read_format_extension(BlockDriverState *bs, int64_t ext_off, Error **errp); +void GRAPH_RDLOCK +parallels_store_persistent_dirty_bitmaps(BlockDriverState *bs, Error **err= p); +bool coroutine_fn +parallels_co_can_store_new_dirty_bitmap(BlockDriverState *bs, const char *= name, + uint32_t granularity, Error **errp= ); =20 #endif --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758518; cv=pass; d=zohomail.com; s=zohoarc; b=lHpGHV93Jte9sgtRnxYanErlpS3pJ5b57LvuqpGQjWHHt9t8PUQGugkN7/4fccGhEgbJr0MjD2vTryYNxx8pfAqeFh8aC+ZPsSgsPEGVtKxOa7l+Oxrqnr7z1DiR+Y5uYdPE4vvm2Fg0y7NpZiaz2l7Z4J2L7erY6AGg/Uw3gg4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758518; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=X5Oj30LUdw1Ptxbl2cnv9yLfr5rs7S0ow9Aga37sHnI=; b=mufQuiLRgNU06v7oanBe6Y4QPvqllVPc/XKOI3Ylf2J4RhZAvYdmY9LXQ3PAwKj4oToPUwMYzLAxNb62ICpNlNoWk801/RsoLi6YmUqDZDWzqHFyKV0w2ex7lj3U52E1K4rp6PGlcXYmZd7Yv1LTWnXE2y293Knu9vM3kBumJlU= 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+importer=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 1703758518080443.6810777135739; Thu, 28 Dec 2023 02:15:18 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOK-0005Z0-UZ; Thu, 28 Dec 2023 05:13:28 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInO0-0005Nq-2m; Thu, 28 Dec 2023 05:13:11 -0500 Received: from mail-vi1eur05on20707.outbound.protection.outlook.com ([2a01:111:f400:7d00::707] 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 1rInNw-0000Sp-Tk; Thu, 28 Dec 2023 05:13:06 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:46 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EKMpIUm+H6OZ/8SlR9mvI5K44mxURzdWkMujz/ENTgRmTi1rKM/Jqf7t7Z3RlNwdzhPg/YfwgAVHt/TS9PhyFOgui9H5Xt0HS4mMQHZD3J8a1VYleXIQvtmd2uONWwJgDIng7Qb97JCm+R7GODDLEcHjXprvduOblPskfom4brmD1nZtONb1vFMmZ8MNCsIF9CwGTTLv/5wL7aXb6XFfLr4uPDXrPDbIZC56AVhaxK7rkRCW08uFAfUKPZd+BYbii/XKwfl8kGGVmfXVZIEnmlW+apCO9sYe88jDxzdJnTFWvj3neHMKWX55cNcB8Vj07pBFnw/2/U89TqQ28jjz7w== 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=X5Oj30LUdw1Ptxbl2cnv9yLfr5rs7S0ow9Aga37sHnI=; b=fNEW3cf0gj3woLF12Gl3xFj4fkrn0HZkedIDxdHAIPhQMz3bNcNqMVBINAD8umjeJO/mIzhSeYSq/nLxS+HrU6hGwOx965gQooc5ectFv0ay4oMz0I6rtlTMhSvzu7qaciUlS6AVZouanKwVIKA6OmgdRzXPP0ZVb/MqopfKJvSdWaZDM6w1S9xanq0hwB1LcDXEQz5PqprX9NFi2iJShg9GxeedIccWZjIJEoX2fczWScxeHC81SxQgU9Dz03lmlefNaLNg3enQ9QvyuEIMjWyWidhACRUUlr3+W+G6v++Mgb/dGMVRLlba5SVDvGNJephJFyzbJD3Oi98rCqwubw== 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=X5Oj30LUdw1Ptxbl2cnv9yLfr5rs7S0ow9Aga37sHnI=; b=DEJbZwcuZvxWvyYIXhxcUvgDXvgEjzRNp0XK25WSXBeXjLmGCheq2uwrycchB9dxXvJruyz+tp6e82xVtC3m1CX19Kx9iUgbLlSedFbuERaL9/9LS8CEsyZoJh693A1wZ+7h/Oef8rVAC7A4PmFetlgItVfni68atinN440jNM/hKiVqkLXx5Nks9Hu0OFY0q3k0bgxYAz28Pcq5Hm5Ekc1Uv7ivCUoQUHEGospq+PBlh6a9Dxz/wex+3P25bUWeKM4AysVTAoLAQh7SHTwIMcCpGHJvNRv6CKcu9GcnnsuqtXmB22qIAGjEJ40P8EiClrIrdvdv5OEx7g+bwsnKaA== 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 v4 12/21] parallels: Let image extensions work in RW mode Date: Thu, 28 Dec 2023 11:12:23 +0100 Message-Id: <20231228101232.372142-13-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 65936307-e7a2-47ba-6a44-08dc078d89fa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LNfD60VB6e7mhM2I4POc8waIB1Dr2pXUVb+Uluidu0Exx9j0UPgTake+bD+c7XZSUOcsEs4mqZif0t4o3D7eoEhB0fW+ti5R5Ev26xn/uPYz14exN9o7lFFzYQ+Tu/3C/tIHTpI1DxOqW0PtHl7HToi+o16y/ljLbolaTfiQ/th89x102sUlDcfCAip2rlmBVti5ng+c/6PqLySeyXP4nRLiC9w25uFjM3yKqLKzsnDklj49YnStLfHs0aJ3tz8Qg9QUu6oVez+SJIrWOXR2gSuYld6vGDkRMQHpIEjMaoTEBsYSTUuKJIqFPplm6r2jHUVBxqet2+b5iME0r4zKch763Vxuw4DFzhm/c3YnQh3vvk+9u2Q7jspo7Nuy6jcC54zFHZ+gRGbR3tp2XOZe0h1G0HYcmAtCSpLtoADWZjLNagIi98K/VCNumdg3OVgmX8QnseD4GH5zNSOZpcY5KNX6jSs2hkLwmdexZ92LJNbGXQ+n57UiOjFQFIr/iHkQtrSqlv/BOT34h9dTvnnJ72tuMV4M50+M1DNuCH1LQUryrqDUmHre1on+3bacE/1VJq+z01UjyQsUp83hDxCji3Bi5ZtMiBLK+tSr+vxkHCg5j+aGtigqfNZfRbHnZzIzguKpUf7LZBmFzLuaGvLA2OMUdmCxE1CkLosd++8fRiQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230273577357003)(230173577357003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?RUh7ptAvpPisycoSgVNcuRMzt0KKBkTJOrjmvgqD9XO+oovF9RwKnJdUbZZb?= =?us-ascii?Q?aP3LOI1QlFmBymYWJa0jnPdiAzjB3ejCwGP7LWBhk0dY8Uj0X2Maq8g3t6MX?= =?us-ascii?Q?UBBSpxLFUKEJHcfm3+l7/Z9zfbfzw68vJNw8pgy3/+mhkZaWQZiUqyLbriLj?= =?us-ascii?Q?EvnzdDBN7DKX6x7P1lbenwhuRL7fCLxE+8RKZoZkAsXEeih2s7pqzuyQ/X0u?= =?us-ascii?Q?190rhcTJHM7OxrolzrIFG8Vdup0Hkx1Npr/6+fVFOsKpgaeuhzFmVNCeXvLd?= =?us-ascii?Q?2P8jRyZDtUNXEzpnaTEPNgfCmYNWNwA0iztMOIfacCz+Sj2trdFigxC4cNwl?= =?us-ascii?Q?IZ4swg0bQ15hEdXraBrGpJ+Z4Vh1gxFCCJCKAguZSfYhX6OAQdwg6Io2Dixp?= =?us-ascii?Q?uk9rEURNMbIlqw+terzapKTmhRLHWBHhMuytu+xtnKzu/oHdxHRoRIglR6Eg?= =?us-ascii?Q?pMhisP3Is1mwVrrlYUtco9Uk+ZWi5U5n4ibDo3cUyhENn3Qb/+Vwlaac+NLA?= =?us-ascii?Q?Y0u2dAli4hILkXY4ksndcnHLRgyvJ2XyZGXnh/EQvtOHxfFCGnls0ko+FG+Y?= =?us-ascii?Q?q6o5pSeUEfFHQDkxkwM/klQ+BS5BolfEoUgjfzpNo9K5bPiJ42jSApuZqNw5?= =?us-ascii?Q?hGSdlB+VHlklzVSdeU5PmIzzl//uPbA95JdhTSoo+Djm+f+QWU9eC/nReU/B?= =?us-ascii?Q?8lHytPDNrkRdQmZX6w9TScTfMen/ugqyxjr14Bg+SEKuiSqWqY8j7HrHTzbe?= =?us-ascii?Q?epFdjXM8AhHObvAUbeMfebUfCs1M40cL6bulMN8b6gAZtiogSsH+iabgSImA?= =?us-ascii?Q?QA9A1/U5zQQJx9EuiqVVMCz9casYpufmyhCYc5lRF4AAoIjs5l1CUDjQhI5T?= =?us-ascii?Q?sbIZaq/5rq0S5roCYpEG1OyMt8/Of2l0HvSWUx9PDU4jvJVlgxedVMNRH5vb?= =?us-ascii?Q?QX0e7mHY7n5AaZooLVZAsy7TB3QUEQTt7aBCUkEEI928xinaYNu4sGuXwwG5?= =?us-ascii?Q?KaFHZeTYf5vXfbkDsDKhb31PwG2OcWbvqZAt//pkVI1mUl9iylsl4n1JrVK7?= =?us-ascii?Q?5Oo/7vqlY3Rtxm3R+zd67X5k6krHsMcvGjJV6BiXOVGcIyhOnCPGlBSzOzN6?= =?us-ascii?Q?p0GTrlshBUAHByM0nD9i6aCM5v/JbwsWaYOX0PMaxRFuGBKj8KNpvujXpSp2?= =?us-ascii?Q?elJn6LFElMfFkuU1+pwHddjrc4E0xOtfWkgTJp5bxfK7jmakGqfkw+ROfQRC?= =?us-ascii?Q?AZJt9dqq3M5vTRQG18YYcu5R54eFFc2AljoUjthKzY6Rjt7pHLRuiZ83dj2o?= =?us-ascii?Q?4wCXXU3z/av3AmP8WM4jse66/DJloL7Q0bm9m8iTsn2y828TEYgXXZTQAn7v?= =?us-ascii?Q?18AUbPRWkWC1iuf5NNWgqGfa4ugTgPj4HRYt+Gz00c2EA4CLptpP92kMjQeL?= =?us-ascii?Q?boMay7mLH18pFD/bakvGrH9KziYkXsp++csp6e0375DQvxQqIjsVucNbIJsY?= =?us-ascii?Q?5TfOxpbBzKmKJF2SKwZ7c8x8XsogFpzT45aT5J11jwB6R/4f4nRXdEqVnvpq?= =?us-ascii?Q?KpZEAh29njL8hPqwfUeFe3OklSdPiWnD9sWKJauuB1L74Oo80lh4KyxwFzED?= =?us-ascii?Q?CNSjCmrhFYUS6HF+bYCLshk=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65936307-e7a2-47ba-6a44-08dc078d89fa X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:46.7555 (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: cMLBFQrmb+vYI5oEd/xKXUzuc1u94+zfeMggUX3H4LDTgjPS2gHB66W4Jo/aLR5luzFnQYkpCfESu1EvtJneQmpHATvvze7JCNSvj6/i16o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:7d00::707; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758518696100001 Content-Type: text/plain; charset="utf-8" Now we support extensions saving and can let to work with them in read-write mode. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels-ext.c | 4 ---- block/parallels.c | 17 ++++------------- 2 files changed, 4 insertions(+), 17 deletions(-) diff --git a/block/parallels-ext.c b/block/parallels-ext.c index c83d1ea393..195b01b109 100644 --- a/block/parallels-ext.c +++ b/block/parallels-ext.c @@ -175,10 +175,6 @@ parallels_load_bitmap(BlockDriverState *bs, uint8_t *d= ata, size_t data_size, return NULL; } =20 - /* We support format extension only for RO parallels images. */ - assert(!(bs->open_flags & BDRV_O_RDWR)); - bdrv_dirty_bitmap_set_readonly(bitmap, true); - return bitmap; } =20 diff --git a/block/parallels.c b/block/parallels.c index a49922c6a7..d5d87984cf 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -1374,19 +1374,10 @@ static int parallels_open(BlockDriverState *bs, QDi= ct *options, int flags, } =20 if (ph.ext_off) { - if (flags & BDRV_O_RDWR) { - /* - * It's unsafe to open image RW if there is an extension (as we - * don't support it). But parallels driver in QEMU historically - * ignores the extension, so print warning and don't care. - */ - warn_report("Format Extension ignored in RW mode"); - } else { - ret =3D parallels_read_format_extension( - bs, le64_to_cpu(ph.ext_off) << BDRV_SECTOR_BITS, errp); - if (ret < 0) { - goto fail; - } + ret =3D parallels_read_format_extension( + bs, le64_to_cpu(ph.ext_off) << BDRV_SECTOR_BITS, errp); + if (ret < 0) { + goto fail; } } =20 --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758565; cv=pass; d=zohomail.com; s=zohoarc; b=j0h3EL++84chDMSvLiR/e+DtYidVAO/1tdQ4RdVNkbn4yseIR70mbnIysl+WaySBTQCjsEeXa/1gH99/5CUJkrtFNT4Rn99C27adbTu45oV/AD9MceV2XhtO98/9ZGZ9wXENHKdQuhB28foDMZmBOv+e3euF2eGedaH5sjApNo8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758565; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RtRIfsa8yMATIzeAlVqe/ZKQZpRciBlgyBwsHIDo9M8=; b=PUWl+rsmwtZUTA6RMkO8ZhjCV4UibAMseiHX7+Ba6Z/FPS+kQ3IMeudoYa+hRqilOCldoEEot6VMZA7RR8mhwMtVqLZO1lrYl8DrdYKpGKknKaTaGjH/W6dr9a79emrf27GrY7K1O14ADdgsqaWtL6/Z1jMOAUO46SYvrcwrZqk= 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+importer=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 1703758565908330.34075698294976; Thu, 28 Dec 2023 02:16:05 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOL-0005bk-LE; Thu, 28 Dec 2023 05:13:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInO0-0005PU-Q1; Thu, 28 Dec 2023 05:13:11 -0500 Received: from mail-he1eur04on0713.outbound.protection.outlook.com ([2a01:111:f400:fe0d::713] helo=EUR04-HE1-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 1rInNy-0000at-0e; Thu, 28 Dec 2023 05:13:08 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by PA4PR08MB7459.eurprd08.prod.outlook.com (2603:10a6:102:2a6::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.19; Thu, 28 Dec 2023 10:12:47 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dSY+su3h1gGxZAL8v0y7yWWGEnBKYrDM/yJB8dWqofumiywU/rB3IyorbuoX2odV/bwcCsoL7BIi8d3VyBy+tG2hdlR2BIVdn0Jj3hamcyye2HuCVUVimD+6TFPTrmLjLwD4jzJZmQcTyaSmoa/F9IWmnIxmkiWTvTzftUras5JGrNWNQdij1+MUXnMlGwdkJTiP5za3tb/WWMuUadaOplTuK8N64ugDI19P8au/7iEyQ0cShnP2ZEbFbuosy4F3PfHn3kVN+xsrD3D874XMobZ120OGoQQcbWUtY6zPrSkrgxi3DeL457C8KXFBeiScKl8TLwhhbri2PSPPZLxO3Q== 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=RtRIfsa8yMATIzeAlVqe/ZKQZpRciBlgyBwsHIDo9M8=; b=aZ589PtSVB0i4Ojut8fG1Ewlb1ITBtNHyzax8BraLM7AVjwhDlExf72HXlj6mVvoie84FzNXMoTYabKSG21xXkdmi6/dFuMfazv+866hg4wF5Bz639fr/v1ol6NzhfACYnM6EBKHZHu2lonek9rXq7fd5LR2a8zweAZEj9bbKNcOzsJmwk6vgJlBVbE6vNrtpi26qNmg0hS2cGpUFJcIfu/juboebsaqdG3di95N8s3xn89rTu7/SOJr+0APmODird5BluAWBYpCbgiDS+AkVj/Vfx42+chZsjf2lXPM7lLatBzgby4J1ytmpQpdcmY1si+0taACnvEomHxIzWSLaA== 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=RtRIfsa8yMATIzeAlVqe/ZKQZpRciBlgyBwsHIDo9M8=; b=Ne/p3muW/014MtMsFBxe7guUHTIfuI9QWSsLwwwuAMdDwBDSSsQVMsWUOTW6/uCQZlJdsEHWiMACq3R/J5C5uUlCXDMXJxNEC6wrZmZsjsyHeGNc02ZxvP5DklgG5lb/HY0qIIhuNGvS3KlGmr+iR0Uu+2dsAcHBpfI8qGHeRhe5j4/4/vRNYg6xSlwMPygAgIPUzdYuZibaW2Z9RBqE7Tgt/8xKoSfXfpGe5pWPe/w+87ibsqbPVMh9x5rrtl8MgnZV9F2gIDwDykDOpUqy7A30Kx6PUG5ASaT2whvUI/e72gvaxbv2TGnoNA6GbKrN/dK2Zqt/dpL+8z25LEoRdA== 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 v4 13/21] parallels: Handle L1 entries equal to one Date: Thu, 28 Dec 2023 11:12:24 +0100 Message-Id: <20231228101232.372142-14-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|PA4PR08MB7459:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d13bb3a-568f-41ff-6776-08dc078d8a57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: kJLlbQ5iV96JvScIl27YtAT3o3oNTwAWTV2MqWBKeDKs1PQ2FfHjybZKnT3JVKkAOPPLWs5VT4o8l/TCbTDlI3VqRkBarPXGibdtRN67tN7WAYG83yygQCi6CYY10pPaCNGygdMB3g894HPNFMCDCrZdKsdPzeMXA7I45acknwRqPjKW92WWSfcXkz6uTnopPv8mRbNZFhrRUecFpVNB/GYOMl0MloKYhxqBtDOXMKsU2y3LIRJF4zHAY6jNJWbKf30/wX5947a8YMNzfStIDRJyDFeOVRJ+Sco+Ux8hmoZlI22UupLZXBFFyvdQ7MxkDOw6gCs4Tls2idlfnOnCS57lNj1grLIySY4hDqH8XqqC05mdlP8fYTQtxFAoCRQvIg5YPEkhdVpbuhCdKHX1YNYnAiaVUsCmVDM543hq/DLLR1MtppDz9Kfj5VfQ3EGxzGr5Ie444fHB4+NaLDYmUCxJwtLpz57FIRcnBMKNBcfsrCq4VS5xdGMF/7B+/GTjNq4WkGzcrACMJWEoisNJ6WnzBbb0RZLJvt1+CkQuhV+smKkme4V51dB/wx2QO72bI7Fr25m3C5Xxuh6rYLxFYWZq8oZachwtJJLd3uWhpfcgc96Z61W9uVhfirKqP5fC X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(136003)(396003)(346002)(39850400004)(366004)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(2616005)(26005)(1076003)(6666004)(6512007)(52116002)(6506007)(83380400001)(6916009)(478600001)(4326008)(8936002)(8676002)(5660300002)(44832011)(6486002)(66556008)(66476007)(66946007)(316002)(38100700002)(86362001)(41300700001)(38350700005)(36756003)(2906002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ba4usCD01bYoOYkzFvPVt1YDP5YRTinkcXipb/VYqgk826uGxOfhSMgHC3iO?= =?us-ascii?Q?Bhc85X46QXQuvh1Chy7JsPYeb+E1E/zrRl1rwNPmnmlF+YiGaRBOsm5HENTI?= =?us-ascii?Q?B2rtPjBx8dbKc8FD7xJIXSm4IBoRYeDWaNsdgQAKfJXcqFMLQwX0Udjnh/jC?= =?us-ascii?Q?EGU035CgZo2iGI0EFh3P+Vo0DmhIiGkS5LiOFRS7VbCeD0z0GKJXD2dsnycW?= =?us-ascii?Q?XCr6izYuVRk6KTyzbzbo/MNdVVD89Vl1uZDqvDLTMzJhOmaf5w+N86sKnOXe?= =?us-ascii?Q?UISUhfqE0YiD4qz8TuOD0dw3vZKuw0NlNN1Hih5C9UjnWarxBnbHeFCow5E1?= =?us-ascii?Q?m0HyK8txmfqPOfaL+znvkG9LExMjnTekOceGt19+OpYcxAehwdIq00L0PPhA?= =?us-ascii?Q?L2T2kMxEFKHd17yrfTBuS72Tu9kv48GFystN4guvYd72+7xhYEu/y7gYRuJh?= =?us-ascii?Q?JjMQwW68CTl1LvVoyGak6phnD1GDBjkZpzLfrEt+V6HEh6AI+n10BHwVs4Hq?= =?us-ascii?Q?viabbwqIJEuLx1OiwDNu6ZZeF66jDWeqKa+gLv2WC+D5Mv1F7oCt/ejPGlO6?= =?us-ascii?Q?mKqYdJEAWF8sO2xKSPlA/ZtbYYaHUTiQIDnpXmuKtD1Q6qDw2SO+djoF5zKe?= =?us-ascii?Q?WZk6YBdAB3zS6mQDH/7i1qBne8JFnKNSDM8V5ndeNBsozc3Jchcuqk8tErO7?= =?us-ascii?Q?0J1i1XNiemQRz7pqRNHI5VXZvCKKBz73Hr/CYdCuV9siPnXc0wQRE0z6t7sL?= =?us-ascii?Q?DnPOtBRyuw7B1CblpnEYE99OuGB54Nnfb+7p/oiN/mxejkTFrGaqtlxlhUuB?= =?us-ascii?Q?4o3LSXp9HafAc3KbfyIjxgk+ycfdvTCCajH/F5sW0IVwgUI8vhtXxBPnxAFq?= =?us-ascii?Q?4t1KoKU1cN7hD5Xw4lx4WsSWiPZKBE6CLjXI5we/Vqouym+nQVF+MNOiGaOL?= =?us-ascii?Q?hG5de/cseKmMWqwmX4DdCUqX/ug23KMXHZgiW2zbfFNG6cWFF01a1x1s2Ar7?= =?us-ascii?Q?Dr6MNWp8TDCad6fz8V4i6hgreGltmHgb8YbX5pdyhMPlnD6hz6QpnukQDHj2?= =?us-ascii?Q?8qUpZaHhSDKIwJ0Nl+qjxqwQGvcTqM6KmIiQVx2aX8a4geiFN9GSXrYYtVZC?= =?us-ascii?Q?rtvRp+d9VKsqqiEYuylvEgr8hJfg/+Ub+EI5F3Y6o2fjOdLLOvd4GliLnhZ+?= =?us-ascii?Q?Zeqa5sWJ+ESi5BWSsnFayKc/rKdIDNFutrr/PrhBAMFqKJXuIDGUn1RpLSJM?= =?us-ascii?Q?ZbeUu8rhD8F+PJc8P0hxTsPhgiE4THxogwhNrERrqXAgDentxDeKAFYcdEdp?= =?us-ascii?Q?0S7ipXTtYIQrswsgYJKvgwEpU2G7J4HN3wwzTVPGDPm12I7y4QdcS5A11Lnv?= =?us-ascii?Q?F2uqLZyoAPR0kS8Lq3w70j6gxsDFtX1cIwoDIhtVoNwfCxOiuFlqXadupvm8?= =?us-ascii?Q?aUf8rcR3SnEfRBr0fLArYYoc1028A9n+7dcg2d8AoQ3ODOHNd/2KrowTavsy?= =?us-ascii?Q?uJ6edZmEqwnwz7yj3euHQ6vAPYOGOS8KR2Xe2OMRnosPI3o8jO2mpHvls0yL?= =?us-ascii?Q?dNxacAcyeYg8Ceb+ZXtDlD5XYwjCmromZlYy9+Cq2M0IVsWLSJD6e4f3MwwI?= =?us-ascii?Q?vduxE6BKrlDzII/La8JJXgo=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d13bb3a-568f-41ff-6776-08dc078d8a57 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:47.3692 (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: LxFUbIGsQAfWMWw91Tkgpq7DVt2dazhahPXb9N8TFQwB4yqDIrck/4IUeDkS5GwazC46XVE4q1r4kpOJhVWg6piGiTnT96gbOU/yYYVg8OI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR08MB7459 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0d::713; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-HE1-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758566939100001 Content-Type: text/plain; charset="utf-8" If all the bits in a dirty bitmap cluster are ones, the cluster shouldn't be written. Instead the corresponding L1 entry should be set to 1. Check if all bits in a memory region are ones and set 1 to L1 entries corresponding clusters filled with ones. Signed-off-by: Alexander Ivanov --- block/parallels-ext.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/block/parallels-ext.c b/block/parallels-ext.c index 195b01b109..033ca3ec3a 100644 --- a/block/parallels-ext.c +++ b/block/parallels-ext.c @@ -354,7 +354,7 @@ static void GRAPH_RDLOCK parallels_save_bitmap(BlockDri= verState *bs, offset =3D 0; while ((offset =3D bdrv_dirty_bitmap_next_dirty(bitmap, offset, bm_siz= e)) >=3D 0) { uint64_t idx =3D offset / limit; - int64_t cluster_off, end, write_size; + int64_t cluster_off, end, write_size, first_zero; =20 offset =3D QEMU_ALIGN_DOWN(offset, limit); end =3D MIN(bm_size, offset + limit); @@ -367,6 +367,16 @@ static void GRAPH_RDLOCK parallels_save_bitmap(BlockDr= iverState *bs, memset(bm_buf + write_size, 0, s->cluster_size - write_size); } =20 + first_zero =3D bdrv_dirty_bitmap_next_zero(bitmap, offset, bm_size= ); + if (first_zero < 0) { + goto end; + } + if (first_zero - offset >=3D s->cluster_size) { + l1_table[idx] =3D 1; + offset =3D end; + continue; + } + cluster_off =3D parallels_allocate_host_clusters(bs, &alloc_size); if (cluster_off <=3D 0) { goto end; --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758536; cv=pass; d=zohomail.com; s=zohoarc; b=hSxUQcQi4ygxAsSgs7AZJVufjGrPNSHM+yyPtVGxWRjrhhtDhT+i4DyO+vv4vmZuyLTAyAisP/i/hAQFYyfA7apR0zyA/TTwd8YUDeMmrqMyKLx9da4CFZr66Uph5qQn6G2KuCHCDnL21ji7hiAPaRX8wkFI5/rF16fDxEK2L5M= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758536; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RlLc3sGjbjLxYT0I28zHA5XYRyRf4UFwkyTz7Ixlqm4=; b=acgWYNKM3y7KHF1raEcfaYJEqbdvbs/aXqRaxxcdo8BGSvwVcIy6CGNryz+rdLTjrPU4NPrwm8knBgtHAhhJOGMLKrR2ntBKue7p/4uSpDEFqk4Uj0pND8gJXWRADT+jhWtfZgaSYBzHBrOw1K4J/8y9oXxOdsNM7VE7ynzPOdk= 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+importer=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 1703758535995130.9173709323652; Thu, 28 Dec 2023 02:15:35 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNp-0005HP-1W; Thu, 28 Dec 2023 05:12:57 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNl-0005GK-Tc; Thu, 28 Dec 2023 05:12:53 -0500 Received: from mail-dbaeur03on20700.outbound.protection.outlook.com ([2a01:111:f403:260d::700] 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 1rInNk-0000ek-6A; Thu, 28 Dec 2023 05:12:53 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:48 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=O0db5DOoX6jDoglVDWdykmCGVdbAMkZLUaXeTUEXywn5iL0e2vFU3i1s+8G2AreSoAGEP8I61IXHcCOoQzTGVIzFCVi4QTtSHH23Sbl7UOSCJBpcuNH1Wml7iHFEAux3RoKKOCrV1x7P49++jJ22Uwo7GghCuvka/59uhSspNfdgf120qhEckd5dcDgKt2R3sMH6Y5GnbcPA3RIQ8xhvLEL8SXuDPwKOBTXXuZCHwVLvCRFvc8QEJ49RJuwXUdy3qE0UYrvUkfOhO1vg7QPNN9asl1IjBrEjot+VGYaa8rCkKaj7yy+lalkqMORW4RJvq4BbfvK3CFkAdessMsw8aQ== 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=RlLc3sGjbjLxYT0I28zHA5XYRyRf4UFwkyTz7Ixlqm4=; b=mwOqKrXYxcjbeWJNq95+g7kXFeBu9Wd1GtRUFS1FBt+VjGr9nt2mlihNB/j/t4lMGG52LBplUL5dKmynqZ/4kBT/F2O23c4npw6yovCLoVhlyFSn18wlNF25RC1OjO9IlmLjLzIe5wHHIevdJoKTfOkz1GToxpidAfT9bWVu5Wm43MWYBVNf1gaJDrUA8+mkVnqTNLkS0KYS55ArQMCIf12M0eOjFOAOeYzOXEIyRC8bKkwZImJHymM9214UiCKv8dETIcso5TxxNtOTWg0TDYaRxq/K44YaV5+wxLe938TM933YfDIEK3E/9pxF6vqDxj6Nx4RidAqXQTjKIkyWqA== 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=RlLc3sGjbjLxYT0I28zHA5XYRyRf4UFwkyTz7Ixlqm4=; b=QmPubgX2uoSYkpcElpyCc/QQIbw9QoL42pSXvzJDPpP0A3p6xcX07k69bD/2h+qx33GhgqvBF14NcvwthIdzPrG3gTHYUOuP59X7nuqPuaduzeoPPiRqP4ga/pUsHXedswoqsfWQkrmezPoV22Z3991eDvIglqXFDynfEBJ5+ou8tWDzpaWr+Wk4iJo3SaQ83QmBPO1c11CMYjM6b2GtOz34t1b+BKFgeiRPL/8XkIzJ7R4aJiZBkZRaRR5uCZJ+Xry45ZGglcNSUXUN5Wez0N/TuSnz0WJdyzwjlXSCJT0qizjQWCCZWp+IBRopmbzbvev4TZQKr5HyH9CnpudgnA== 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 v4 14/21] parallels: Make a loaded dirty bitmap persistent Date: Thu, 28 Dec 2023 11:12:25 +0100 Message-Id: <20231228101232.372142-15-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: f5f595bd-3d00-4108-db1c-08dc078d8aaa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vxss1E2wXOme2FKmbbmgoc0tmvqGThOGntHz2Z0Ll6wtEeiBK+vw9FHr6JWHy7aVaeQ0+b5JnAF+uQnCANcEfdaw7hFicj3UcciK3YYU0A1Ok3/AMc8Y95kecmzmWWQkpZwunkfuw5kDpYKoMUwATfcBzH5dP4D+96Yx2xWrxv6w/6ET0uO7DlEY7H+Blsp4iYeFaUeF6/YNhsefHAwDaYpuopElQsTTE4XIAVRYXYHnmyZW6dmRXg+P02cRSSAhj5Sklo+7YiVgGaQwH7oNUp32ZuE48U3NhB4+h2FFMn4jkecmHkqKon6jH3b1ne236OppmbLBlMlqoBex6/k0aFKC7uijU9vdJz6xWsJCkHS6IBzrnSJwQACmy97Ef1zEhGGlgXJqUZxRvnIsHWdVFtJeaMnKMf4/EvGo/1ODtTXR7UfMB+J1X8Sy2f/4MakrIvd392mKK6fems/cdfaXPMAqjzfWiNGiWqI55az6zmUuvCggEOsWKA52FXAEfP31ffPYtgr9C0/Z7VcEeMggjjK/E+k493cg/OXk2ABG/T5J4OyeHVn7Nv/apbHilPOBb2/JdDe9SaZfnMTBFcuwpBScR/GRr2OxJPTxQBUd53HG0FsmS04CqDRAnVzYjClK X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(4744005)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003)(14143004); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?r0LSF+eqnq/dSBcXrXkV01YbrRraJmJhUAK45duc3ApX1ypXR6atPFeUaRns?= =?us-ascii?Q?r6i77unLVhLjbhOJMiRLRIQb1XZhfKGvUYfDyPCa8KM6LeaRgvTTg3OlrSZU?= =?us-ascii?Q?2hqMfDyrQspzRfyRepapSzt3qhGA+nmKKlSexIFK5uNcniiu8PAPVg7LDKap?= =?us-ascii?Q?DFwxxw5sAAK0/nyAzHAAeFA2nNjafxEirXLANNM4XRvQBDAdLLbcxY7c4nYW?= =?us-ascii?Q?HmZ7hh2ZuQokdlDZnYXkv4y4sRRPSRy/5ppRXJgoKZh0tFiOyGo5l9VkcRH2?= =?us-ascii?Q?bvXE8ZJqWbaf1iv3rQF3mMSRxIes5dkdrjg1pLq12fHaaYEGHA/SrghPgfiW?= =?us-ascii?Q?zqAUPby915hxVZxIw5gNvA+760pCNjlyetG1qKp+2OqKF2saf+3NKLB2/Nvf?= =?us-ascii?Q?X3LZgeHfL1jvNYGTkB78PmmrPOcegLi50fNRlHt6a1Y0Q7KjYXv4V+2paKb0?= =?us-ascii?Q?ohIx4LSAu1WGK0A2PYVgPokSYw8QRFZTal1DceT7sQ3P0i21dtPzCAHE3kRB?= =?us-ascii?Q?H3QpIW/1yJCD2vfwiofL0MmS2KlRcvdCS9eSPFdjpcyySTzKOEAtpi48b5tG?= =?us-ascii?Q?6HOJg9BO+c9/ywRveui7RShebsPSsSBpYlJ+ZU4vUiOlXUeKxSw9Atpa/YKe?= =?us-ascii?Q?wPNfaZK0YDbXRnPeSY3Qncm1lYyeyFzhkKssmu9ZTmfEjprOySsqw4hIdmNR?= =?us-ascii?Q?Fev0uiopvH31ZKP7STQtdJMjwDK1B5pJxaNJuuf3sGd8/A9zDFDzicR5hguG?= =?us-ascii?Q?zjTB1dQ6XyLzFnSC5uGX0vF19UVLM68m/0LMi9X3bKJxfZa8/yqmTIlN9dZa?= =?us-ascii?Q?QTdqp8QXGFog/MWJcv83ZyJWciy3eCqpY4PwGrO98Br7Ac+k/qQAIuNiNP4W?= =?us-ascii?Q?3LXAgjCasyp//mGnszs6Q0Au3MwlyzRFDV/gr4daFMKKpgyIQT/K+nynnRFH?= =?us-ascii?Q?VkpLi33pAvw3MU4nUR8L8wokCYvtkW4jgCMC9iMaH91JSfbty5kAPl7JqIUK?= =?us-ascii?Q?3Ly5WSIYul6pRK3OKjpWCCwsrpRj95mM3lqN053p/FhyM1a6MrnDkDubckss?= =?us-ascii?Q?8CG1gvLwDxRoUPgcfbq39CYlXNDnCC+9Dh0HHGIwkJAbKNKW5lxZ1XjO3XV9?= =?us-ascii?Q?IsJRo26Zsh8th/oWuxu9/5NSgml37uvP4l6Zr4kNUZ/PRxj8jIeD9HLGiNZ5?= =?us-ascii?Q?t8pi8iLw1apTs723hvwIRLyWC5JNClR2SpPtop+9fZmu45jJ4xwlgabzAC1z?= =?us-ascii?Q?d1CxasHfNjFjbJxWu27glPINjGItwunAEMjvi31a97S85WTEoWGXUoqoXdil?= =?us-ascii?Q?h5df8j4pkX5f0o2Y6GiP1ML9s9ue92Z7fs1BOXOa8qHDqJasztlCAT9o6NUg?= =?us-ascii?Q?2rfxRhg6YZm71m3YbbLQOX20LnHwrmmcImOnLvCeQrQQ4yzJ3DMDdJ3De2it?= =?us-ascii?Q?qiJt54/f96GFO4SPlN81iYoEunyZJN38U92sLfuF20Ot6SptOS+T3rR+HRtQ?= =?us-ascii?Q?h6FaWA0+pHn/AV0jat/8yh9hlDyA63UmrwCjPR/xJuxewldIs6vWM16tCdEl?= =?us-ascii?Q?F0bg4AuTf0g4a9aZ3X661J7Xri1TvHLQjdA8iLMtQsCW1lx6cvLowbfYvoVK?= =?us-ascii?Q?WGnEQSQJdUpgxcsCz0h8dIE=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: f5f595bd-3d00-4108-db1c-08dc078d8aaa X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:47.9743 (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: h5bu99vr//52l5y16n2Aj+lTi7+wH815fn/SxljfehdF1QVTCq8W+y7xrI/cEHWUXxNDv21QyXPbftvIG4dIKzRw1wYo2ty/T97NGQLcGcQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:260d::700; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758536803100004 Content-Type: text/plain; charset="utf-8" After bitmap loading the bitmap is not persistent and is removed on image saving. Set bitmap persistence to true. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels-ext.c | 1 + 1 file changed, 1 insertion(+) diff --git a/block/parallels-ext.c b/block/parallels-ext.c index 033ca3ec3a..2a7ff6e35b 100644 --- a/block/parallels-ext.c +++ b/block/parallels-ext.c @@ -255,6 +255,7 @@ parallels_parse_format_extension(BlockDriverState *bs, = uint8_t *ext_cluster, if (!bitmap) { goto fail; } + bdrv_dirty_bitmap_set_persistence(bitmap, true); bitmaps =3D g_slist_append(bitmaps, bitmap); break; =20 --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758646; cv=pass; d=zohomail.com; s=zohoarc; b=KGTnQeil8bxKnyDFGNB/J3VhRaBVVNKGO3nTnQwDaGtvsRxi7hQpoply3eLRKw1qX6W2r70zjPT1yTF0zBGrmun7zvqNCSw/0aOzb0yv0N6NT8dt7hfeYm216KSghUTJ3vUMOgMfKOXY8T9AzZBBPa8OmcLKz1Ae0wGTZYiWxo8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758646; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=z84wjcZERYFHoLxhiNvThUkhuyvf/sVU/2uyo8YF85o=; b=UmoQdbuR6r+Xbf6l5UJWUbzOvGrkyxA7Mc57CUKH6w5XXzXrQ7rG0MRg7IMwlMCDTULlS4wg27fbNzGPmKhkBhNa2irodMZ/pBS9MYk+oxsGyq3lilledcfmGjUYCSQwDp8WyaipWn0njO+QGzb7inMp9LmBJhsX43UP3HiSrIA= 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+importer=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 1703758646570626.1876220839553; Thu, 28 Dec 2023 02:17:26 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNx-0005Ms-7X; Thu, 28 Dec 2023 05:13:05 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNo-0005HV-P8; Thu, 28 Dec 2023 05:12:56 -0500 Received: from mail-vi1eur04on0727.outbound.protection.outlook.com ([2a01:111:f400:fe0e::727] helo=EUR04-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 1rInNn-0000fc-4w; Thu, 28 Dec 2023 05:12:56 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:48 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RK46IuqAOdGcSExQsSqAjsXvyOii4FJbpn9/8r2QUZ3YAnx/fNOnXgh/v+S0ltK9R4RUV9m98J/QAhAKgC8UZ11Ae3qLtlCgun1RaCxBUyLw4dCb3a6LkpVUFf21vewJxFmc9eodWai3+bku1cUSwDntfRMVjA2cKJ23wIZoYHvciEL+uCoFNvS9tXe63FPGxPR8CLFF2Et/K9xPIkBsg4cAl4oagsFYmTB6CvQ7NmZ8mZDM5CWQaXwFWq1dj2Kd91upKLBV/6K/Efj0lP8vDIAzb9QBB/VvW+yafuwOz6uvw7LGfwKZ+T8FtKzEzDehrG6QlmeVNQoesDoXLkD1WA== 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=z84wjcZERYFHoLxhiNvThUkhuyvf/sVU/2uyo8YF85o=; b=cqTGt3VpoylRnP9AagUnairz5v/Z13ZeH9qDkcRGJbMoPRjSyRRM5nQjMjDD/Tfs84qvQclXe8sa+I9ZnssHNVlman0Gj9yQmlIUEixihhHHPZA1uCynyUlfSN99PCRzamngEh88S0o/QtdGzTj/QYHCgH2K/5HjK815RYSPv7500BbaIHVsByeTjUB9eU+UTsCoSuafRLQ1fTL8Btkw+gCx3NrRrURc87Gjc76hKH39cMGiwK61ETOSnCTYaBVXfuW8Z7Z33COt9kSSI7dzv5BYyS5wN/ojy0cRcF9p4hx0Y1lPDJUYpKxkLvIVhvyf/1zytq2qOI6ctfigbLsKoA== 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=z84wjcZERYFHoLxhiNvThUkhuyvf/sVU/2uyo8YF85o=; b=pz5lFzJT2ItQjtu8Xppf0jSPwzDYafBLBKoNocT7FdsC9ckF0o+zQ2pp2qpPaXyNO5x+BEwLdgolLiV3qCoPhjFBei94q44FgsQ8FP04CojE5Pv7UIeTMVD+LMrY9rwBr6kRUnWlTOZusUgMS4ghQ4qGIuhwvIzMfw09OaYo2L9+4Iv4wdjVLbDLauBaAmL4GB4vWxCT6DSE0TvqRHPj98CDXx6+uMKIZjXptcIrVNfoRHs81V2RlHqLm8NBNcohwtxvUHNVQ5rF4INWG/ACCWQEAVyR4QVrPYHjd7fix0eoE3u5eb6zTi4GfsiI8qUHOl2Ed4SxrHt1sQzjj8ahqQ== 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 v4 15/21] parallels: Reverse a conditional in parallels_check_leak() to reduce indents Date: Thu, 28 Dec 2023 11:12:26 +0100 Message-Id: <20231228101232.372142-16-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 768e745a-ada8-4c28-9d3f-08dc078d8b0c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: WNxT14SaWpsVIqbj7xi0SCLN5w0PWPfffNwO90UYjpOsNkmN0lD5119+7vnBZUjrUAFTMuDliY2CoMzlSM8IG9nQlL5mGQq8IBObOPF8b0iJ0Ug0vNTOSCt4DUCuZNXl2fwFbNkV68kv2uKUrRxmKWhA5THgw3fMIwBDO94jQ7d2vB0xaRzNXiYso5fsS47YEaXIaq7VvP0YkAzXb864bp+F+QsY6PFu8YDcpKv8xGDDaTnb/mvIWGIzLx/QhaLcn06es6gaHFEBw48sRam0+LMAytZheojmWeWJYnInh7hhyYfzJDtZbNYB5yCkonLJmDaNTDOP6GSfA+nviQ2jXB5tbd85tsqpcura/K8D0gmwBH5Zr8RyXFYPQJolyVg4JgjGoR5hCjuzA8wkMzhOBpCU6s3xi7UCAX0QeNNQWvhGRsTklVZ8GxlhRfmWLKxQ/Fj3jjUgP7Euh8JpaJJPVpjMwTAqwj7qUBlIRLzGK95LLLy2A7sQlLSZt2Y6nbHO1SX8cKXNkLTgkSm+pUESnHcUDhYg2LCUkEu7s4p73JpybFUo7wgkKWZVTpBfuJQYB2UH0K1tGW7FGgBmxgSe+IwZdlirFbT7Ne82hSvnLqmxNkJCAY7QOj+wAdsWFlv2 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KKG3TZk+y53ne7XEhW1XPSeA5sj2sJP0d1GwCyXC323V9elFXzDu9YtmXLoR?= =?us-ascii?Q?TJX4ZdpeFbNGP6nLOwKQ+278xzpa7Z/AzIC8lxC7SFz/ckKBCRtWMRMJgPPX?= =?us-ascii?Q?laBobSbBoP2ih9NNB4hIT14Pd3KDZgXXoVHu/MuEgp2LU5xPCL8A1lKuERuf?= =?us-ascii?Q?4RQemX7TVuYmh5hm9MB1U1hLAk7/dffi5+E4znz2RrfsOzJ5vsdQCwd791dx?= =?us-ascii?Q?4N4jvCQE+EFdYT4ei9KP4fBVnznmVlYpln8DLYseMI8fn1HefXXPUcOyCbIe?= =?us-ascii?Q?fDmeYOE+O3QT+AJaGrB21spONAPkJoCCUg1Ff94kuPiBziIPIQt2KI5z47ES?= =?us-ascii?Q?6FdTxfbTk2JnDzljBpggdoBJ8r3Zt2v790JtLXH/RtHOk2vK095SBEcc/UiE?= =?us-ascii?Q?SvojTE3PsM7JZUhBf40vn6A9qzsjrQOOFxuJFudIaBbwT62m63qjCUvu+Ic2?= =?us-ascii?Q?LbZihoEpIgoo4pVLPm7Rbepg1ePnlAeDH54rEzyPcLyGOJ1lk9QiN04aY0R7?= =?us-ascii?Q?jEOGadtGXeM1TLANHDfY38o9KbrTAjoVAfj0C7XvuHeWh3VjqPR4XqJFec3h?= =?us-ascii?Q?C5/Ptddpu9WCmFaYsX+Vn7YDcVPuxlMAZMNcLccMIzxrT54HE6R3vwf/lmlp?= =?us-ascii?Q?99+a9NRgWeCCUDWW9rkxiXyfrgyrWZDGqlQGlW7a/CN0lhcrhyzfzdQyBs89?= =?us-ascii?Q?q/n/DC6T5NPqUpvYBQ119wzZKb8d0vDBcN9W6B/9RPLlPqu+SHqyzmopEVhJ?= =?us-ascii?Q?EtKl4QsoDYKkPXObT9xLAj1QBFDOJE6DlYc2/UcKtouLm0S1PLJjuwLIemJG?= =?us-ascii?Q?q1DjmcHXuF9A+4WdpKFWkSyuWbs1LPhEF9IMrklhFWjmOUvIfmF4fDMR77Lx?= =?us-ascii?Q?yLtWDB8KvKq9b/xVZAx231Fpeprj8sUBcgtYDsEek850INH2BTxACN9j47Ds?= =?us-ascii?Q?1pER9XO48/vH+91nTmx/WwdaRhW3ZucseE04B64Y5A2noQv9qx5uw0fz7l6P?= =?us-ascii?Q?Zqjd4fXf0givC+0EKuJJd4ScGguou4UvZmUsaApFpOn78dNxalC3r3ZODPJp?= =?us-ascii?Q?0wNl3esBYyEhT2j38k05sl8gTlGc9pwL6RMONU671cHLrkktCFpzWOs6KJso?= =?us-ascii?Q?g6BuGtsJibMFWglsOVGEr6exs7D1bnIAIq2T4tMLZTvzuThRZ9NZZhCahtwf?= =?us-ascii?Q?YWfye7Miq+USTQnwLXtoCImSbo9zMHvCVUIVzt8BIN2P9TOyfUtyWEaCSyeo?= =?us-ascii?Q?FqilNbTZgMU3KdMtKw+Wtzoe9mey3jR+qK8uviCkGmuT5hZboLyInR1jOsRs?= =?us-ascii?Q?lXNaID/ViGKu9hW0jMMnrqsGnfh8scL3fpO0OcRKHCINo6484EO6hP1BeiBX?= =?us-ascii?Q?46rLyWK0BS+TkoEV6rcxhnZUw2XG7gY+/GdQCkFMJcEZLWHPt/FeT9Nbd1jw?= =?us-ascii?Q?eMssxdiVVek2szNf36jpAWYQRXqSfMRgLfduIzZMQ0KUu0k8CMnGVsWbqxo/?= =?us-ascii?Q?PVkWV0G37fnXu4crAqJRWGETt2DZ6NmAoEvlGdLDQh9Vc+yXSmT2Jgznp0bL?= =?us-ascii?Q?X0lvcObADuKdSJ3UTK6SR7rd6lKqepGe8xIn6rJu38FGwdl92CEiE0oZmdK+?= =?us-ascii?Q?NbfYSvIRlPM1ZZMykW42BPY=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 768e745a-ada8-4c28-9d3f-08dc078d8b0c X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:48.5606 (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: Bxqry+wfSUFSPyJiVRtAe358H9AyVxTT/Wi62XjVxZWLVqkvZFAGyGcrhQBcrDcz/klUzQBMBcu72x1+hSGdUrC4NtQElDaX8UO0cVXlnNk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0e::727; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758647187100001 Content-Type: text/plain; charset="utf-8" Let the function return a success code if a file size is not bigger than image_end_offset. Thus we can decrease indents in the next code block. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 72 +++++++++++++++++++++++------------------------ 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index d5d87984cf..fb7bc5e555 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -773,7 +773,7 @@ parallels_check_leak(BlockDriverState *bs, BdrvCheckRes= ult *res, BdrvCheckMode fix, bool explicit) { BDRVParallelsState *s =3D bs->opaque; - int64_t size; + int64_t size, count; int ret; =20 size =3D bdrv_co_getlength(bs->file->bs); @@ -781,43 +781,43 @@ parallels_check_leak(BlockDriverState *bs, BdrvCheckR= esult *res, res->check_errors++; return size; } + if (size <=3D res->image_end_offset) { + return 0; + } + + count =3D DIV_ROUND_UP(size - res->image_end_offset, s->cluster_size); + if (explicit) { + fprintf(stderr, + "%s space leaked at the end of the image %" PRId64 "\n", + fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", + size - res->image_end_offset); + res->leaks +=3D count; + } + if (fix & BDRV_FIX_LEAKS) { + Error *local_err =3D NULL; + + /* + * In order to really repair the image, we must shrink it. + * That means we have to pass exact=3Dtrue. + */ + ret =3D bdrv_co_truncate(bs->file, res->image_end_offset, true, + PREALLOC_MODE_OFF, 0, &local_err); + if (ret < 0) { + error_report_err(local_err); + res->check_errors++; + return ret; + } + s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; + + parallels_free_used_bitmap(bs); + ret =3D parallels_fill_used_bitmap(bs); + if (ret =3D=3D -ENOMEM) { + res->check_errors++; + return ret; + } =20 - if (size > res->image_end_offset) { - int64_t count; - count =3D DIV_ROUND_UP(size - res->image_end_offset, s->cluster_si= ze); if (explicit) { - fprintf(stderr, - "%s space leaked at the end of the image %" PRId64 "\n= ", - fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", - size - res->image_end_offset); - res->leaks +=3D count; - } - if (fix & BDRV_FIX_LEAKS) { - Error *local_err =3D NULL; - - /* - * In order to really repair the image, we must shrink it. - * That means we have to pass exact=3Dtrue. - */ - ret =3D bdrv_co_truncate(bs->file, res->image_end_offset, true, - PREALLOC_MODE_OFF, 0, &local_err); - if (ret < 0) { - error_report_err(local_err); - res->check_errors++; - return ret; - } - s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; - - parallels_free_used_bitmap(bs); - ret =3D parallels_fill_used_bitmap(bs); - if (ret =3D=3D -ENOMEM) { - res->check_errors++; - return ret; - } - - if (explicit) { - res->leaks_fixed +=3D count; - } + res->leaks_fixed +=3D count; } } =20 --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758491; cv=pass; d=zohomail.com; s=zohoarc; b=BebpS6/1INc68J1OPc1U7b5FhKoxlRnJkHybRQpLWDT3OC/6XpP86lJ3A2odHYDbMTzE2YO+3RKsGAgLywfO56KCm4LuWY/A0VGiga6qQ5zILCHPHx/sDu/7s3mh7dZAAEyxhA1cf7FjHHi4SKjlyr3mCk3IJ3MQuZQo7sPCdlQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758491; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KZh0tPQajn5ZVC76nM9sowYGAr0ImIhqFCdVs8qjAjI=; b=AV45gZvll2N9XlPEDt7Ui/7T/RetXEku2lTBTlpnZLtNQCJtPtLsR3YCBeUEUtNEWzL9HWk6/CDuU5zeYEFlzOO+KmGUVXjuFeaE3Z+tbTKj9OJg6MWPYV/UcjRIyJMMB1gH4YNvEFyUBr20dVJx6UY3YP3q/LIfBWZTV0ye1FY= 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+importer=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 1703758491086577.6003233459837; Thu, 28 Dec 2023 02:14:51 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNq-0005J5-Pv; Thu, 28 Dec 2023 05:12:58 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNo-0005HU-Hj; Thu, 28 Dec 2023 05:12:56 -0500 Received: from mail-dbaeur03on20700.outbound.protection.outlook.com ([2a01:111:f403:260d::700] 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 1rInNm-0000ek-G8; Thu, 28 Dec 2023 05:12:55 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:49 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:49 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=me7oDFEL2ed15Bri/naoK4KbIgEzMWTvBF4sRVPqGcbFQuvAJyjG4EqcLqTBHiQNZBLxkAaFjsxLeilAMyOxp/j0Zdqt+MoQ5+oF8UM6uezP92nxolVV7LNhjF+8gMW1xvinBRrSyTi1pipluzIhnJKr8mdVDq+g3X+NNc7M8EN4LiF6oTcBX5fPe8WrwaxUMBGCyEPSMAQEnIP7FYBNyDUUUwleovOnIK5KQLX0JtWe7rk0HBD1wWhKFuQ1tSvRpLouDDzfQyWtDVp1cwnRuonwXtF9px4vVD52qSlCbt+ieKiktCffm/tn/jQQLSb4QMW1jVW+NVs1/Sg6hiBwQg== 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=KZh0tPQajn5ZVC76nM9sowYGAr0ImIhqFCdVs8qjAjI=; b=DzfEaUYbOZvZxsqVnrFqshJC0m3pDr6UcsYUvRlXwX6e/tCjsU6jfNHqM9xXSXaQBRuQsWdG94BIuoiTEQC/e1LmO1Xn4LPlZtofU8SUmlhOm8HgMSMb9scnmcggUAf8QgG54xDpIm2gKS9ntx0d8XBeOhw0K43+8+QAiz2qt7HuxEMYsQyFahBvhaOQuKB21PZ2ryzb+0RyX64unU4DAna9sMxheIixVym+/+sFU48sA8xMsSru3zBVA9VYegbQzXT+va54D9emIYYQaU9U3jqIyGD1Hi3DRwCJ+5uU+XO05J76g9R5WqRFJ2cD3PnaQO/gXsMdxmFQQ4+/NwnweQ== 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=KZh0tPQajn5ZVC76nM9sowYGAr0ImIhqFCdVs8qjAjI=; b=qvqQ1ml9z4H8AxjsGkemeZ/tX3C5uDSSvaJhDxfbsAVni/ETC9gKhfW6MR5q1dqnMSZ4yTpyMxeLsPEODH1RKy2ASPRR8sG5cDDVTGwp+YSE+xCDLng/V6dxlOn2g9U0Us/q+2pnhorhOP/m2uYXfqA6uvHGJekleLnGgBTafPA0i5ZUEluzdbAc7OwOgeUXz6mkaBwqIJMMNabiKrHY7xPRQpKbaKK+JXCXbseMm7AED3+okabHRdQolIfcnGrRtg/geyfr7HMT63J8zsIpqq2iG2LVvaOUdxdaSDU/VmDcrfGESLnf/YupWsFGvzdD6Lg9VVIS/D02x1EPbwXsaA== 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 v4 16/21] parallels: Truncate images on the last used cluster Date: Thu, 28 Dec 2023 11:12:27 +0100 Message-Id: <20231228101232.372142-17-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 752a0858-e54b-4930-5f5c-08dc078d8b6e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ZoUMxE94Zyz5TnRlxPCK56gx4AG3bkEVwYH/bhD8v4pgPpkMk41UndhaEoq/fQzJD2kT+QzEKZqNDWGdzgtIgLBnWRdoDsrkbkNP92j8BtIz6P1wzwKLjT/mgoXldnjheRhTMUj/vc26iV7TUq0MKzscBbVDBNe3CS7frN2zcdZqSzOP+C4zN0EQgcuzxeQaqmBRgV6Fdae1EOk3l86IL01FY9Fycfx7rDOpsMsTCcSYVUJBjUuOaBraSpP4vIWN7CRwOuCk/Yeu95qxvQTy2rQWGaajA7v5hXJDll0Xa6sVOhOJy349nQQnMYhyXUfZLu+5MtJhqZ1TWP/wX/cIvtSc7iE7YHWr7lP+1R9Ra7ho2UHnfEssDJ5d1nt9z1JTGSFP8qT9cZcKezESONBvGq95BKuiwL4MM/fKaR+IK44B3Fj1PYSRoXEEbp04B1m+In0+cca2rk3U+JM+12++n3jsBnvwdicwkevwk3ZAAwgjY2v5oBd78LImbxibd28eQXTSiGuJWowUykINcy/P7KZvdQVW+Hm5op30tewZXfIBcHO/HNkY62oqfEjRcN6Zj/n7G59A3nlvQr6QRbW47a8QnuoqwolxY01wlaPu4GW86bF7FHhDUdM6xL/Gs7u5 X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?KCm7fTrOCfSr0BUtrwh2bDT1yj8Vjp5t/RatLxmzAwxq3wvBumFXa7+uqHBf?= =?us-ascii?Q?qu3kCaIp64TwQoDwdERoDWfOcuTXZXHsQKzYBxXf3dlj8DW5RMVK4PXcA6tz?= =?us-ascii?Q?qQh+MvY6u5mfeOa2yf/wpEhDQseHq0680mzRyRvdrAkWlI4Fy/VkjFWesmsw?= =?us-ascii?Q?7IbB4XRhOxN4rFN1LpG8BMpxYXn2pz5merCZYaYvSZBVLopNsUsSIGQz7gDQ?= =?us-ascii?Q?ulDjoMeBWnMaZ4ehqhZL5GnSK3x4D4bE6nqNpgShPUJUSOpFA2feaJxppwXi?= =?us-ascii?Q?jV5Eb56qLKoUCPn9xb1KE759fDO2JDYLeeRLJA0wADiQINjwpM22kCdS3SZK?= =?us-ascii?Q?GgBxMuZAP7lubIfMabxPZpvmmmLTdR7qGSUDDCULh6GMQrZDohmhJNbJeVLT?= =?us-ascii?Q?+1wb0yNeZPawWAkkGNfmrV+ZtezLoZPOB3J77wZpqe+olQ5hSeZzGMG9x/f2?= =?us-ascii?Q?ndIp6Pb19ienZTPb6bl4CO4Vjs4887K5UgE/agYwI69ocptElZp2ppHi0f+R?= =?us-ascii?Q?lQXLO51Qdmac6reo28X6bfkCF0bG3jLJjf6KOUwDvz9W67AUNnXwGfQA64iz?= =?us-ascii?Q?iBy+snK6ZYlo5VSsf7MPnX4Fs3rZH/FRvt6BTiF6xDml71BWB5eNpbqEJtxb?= =?us-ascii?Q?3GP1rTTFFYsQvkaNRVKa1g8lEPTd3b9ik9W531Kulh5g4tNGSeJOAo6cJDqK?= =?us-ascii?Q?tFQyp/t4R/ErDjb6lQGkb6Ev6uC7lmg8LjahAH/e66G8IpnOZ71UswZD/bjF?= =?us-ascii?Q?be0vzSq7ngUApDtY6GLExndJ7qRiFPL8+2cD2tHZz9UCn1IxvNK1pTCI8tzO?= =?us-ascii?Q?J58h6wzQ28G2WOqFNh9wD79lhLU6itvrN7sPiADdyg+JRY9m7saWlV2Tb0Jl?= =?us-ascii?Q?IMFbEfWiCn+A14dEncoVg1M55lbZ4AqDUoapn8SjNz5BF0d2LKjGQqxo0prl?= =?us-ascii?Q?XdhTpqwZW1rF+CtDklKpEGW8B7fcoAVxzqQ+hnrf1/q2JkXw/ZCSUtuzFVKB?= =?us-ascii?Q?bxcUMLGb4fHdlBIbDzkM3rDx5Ftuo/HbOFsCFgk9OiiX2M46DyfQetreaMgU?= =?us-ascii?Q?z1BpITYbXVID3pkDSemm2QgelbDjoLMr3/i0nXXJoXHJvKGCwq8QJrlW25jQ?= =?us-ascii?Q?QhJEbDceivq6bpcO/pCLsd9yDewfpB22qSXm9SKARrsWeW9n/5cYT8JnTBxh?= =?us-ascii?Q?DbubL/urIFPOwukUFkDPHvRvakMlmYxXhvoMHOvtnPjiBraW/O+bhs7kfwA9?= =?us-ascii?Q?nPWdBy3yr+TaganchypLXGf1MvofBmuKBpetiSAx7JjPR2EbBwDyRatiwMnw?= =?us-ascii?Q?qBEKL3TnVhES+ZmnfIxhwThto5WUf+s2tIgIjB23cm5St0en4QzHh51MIRsE?= =?us-ascii?Q?0lUlnw/02V0nRPonDNlxfB5PxBFgUC59N4y3/dAKgA7hieEMr7iPHyoPxHAk?= =?us-ascii?Q?42YVdNStVze75/elywHNUO6MmDsz1x33uvUpRcx+MCY/mlQfFVJMogMvG5pU?= =?us-ascii?Q?/DJxLFXMZoJTxG9N5FmKKJyvZer7ohFyJOatLw6mRMCobroyOELHMmMe0P0X?= =?us-ascii?Q?SfqosAGDRsfUcCuDxU66Il8N1MsCSq1Sgvyetv4m4tI8AFi7g0yJv4U0MuVl?= =?us-ascii?Q?VJK9AForB4iGwtHKcstC/nQ=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 752a0858-e54b-4930-5f5c-08dc078d8b6e X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:49.3400 (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: k4JyA2eFX4NamxTxmtB02sGgzyJQnNTm4v/BQtpmHBKffiPzsIGjf4A7EkyVHHrJHQXIcD09TquImcU1fgy3eeHsRI0k+cfZnm65wiusJ/s= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:260d::700; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758492158100001 Content-Type: text/plain; charset="utf-8" On an image closing there can be unused clusters in the end of the image. Truncate these clusters and update data_end field. Signed-off-by: Alexander Ivanov Reviewed-by: Denis V. Lunev --- block/parallels.c | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index fb7bc5e555..136865d53e 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -1454,6 +1454,23 @@ fail: return ret; } =20 +static int GRAPH_RDLOCK parallels_truncate_unused_clusters(BlockDriverStat= e *bs) +{ + BDRVParallelsState *s =3D bs->opaque; + uint64_t end_off =3D 0; + if (s->used_bmap_size > 0) { + end_off =3D find_last_bit(s->used_bmap, s->used_bmap_size); + if (end_off =3D=3D s->used_bmap_size) { + end_off =3D 0; + } else { + end_off =3D (end_off + 1) * s->cluster_size; + } + } + end_off +=3D s->data_start * BDRV_SECTOR_SIZE; + s->data_end =3D end_off / BDRV_SECTOR_SIZE; + return bdrv_truncate(bs->file, end_off, true, PREALLOC_MODE_OFF, 0, NU= LL); +} + static int GRAPH_RDLOCK parallels_inactivate(BlockDriverState *bs) { BDRVParallelsState *s =3D bs->opaque; @@ -1471,8 +1488,7 @@ static int GRAPH_RDLOCK parallels_inactivate(BlockDri= verState *bs) parallels_update_header(bs); =20 /* errors are ignored, so we might as well pass exact=3Dtrue */ - ret =3D bdrv_truncate(bs->file, s->data_end << BDRV_SECTOR_BITS, - true, PREALLOC_MODE_OFF, 0, NULL); + ret =3D parallels_truncate_unused_clusters(bs); if (ret < 0) { error_report("Failed to truncate image: %s", strerror(-ret)); } --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758545; cv=pass; d=zohomail.com; s=zohoarc; b=JK0H4z3r88dNJTCWa86X4CP4FNgdd4ws0GtM59bQDKgM+Rypum5tVZvJG38TcjAa4H+cTd5t8b/4T+ZGkX7zlmkwbd1UD2QMODbanyGwBKR09AIIBrpn/KCs0yCFFmpLdNibNKz6AbzV0UU31bBN1QvPNdCwIinhkgQRTRIQDxg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758545; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=U7P+uRNFOiA3jbxt02/V9W2Df0T3Qf9rsJ8x0mN78yo=; b=GpUz706Y3zMVTjy0NvwoiJPO+6xv0upQ3JzPp+qAh5+Q2faGjyHPce5ZNpmGcjWAZUvdrJqOcCFWJbSxHMzBUMb3p0hiAOSbj80lsRhBPd6CHipgi0Z1fPX5mGz1vVv1dijYtkKz88e7z9lhxIXqn5ool9VUjtt3LN1uc7dJjuw= 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+importer=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 1703758545908526.8656528154457; Thu, 28 Dec 2023 02:15:45 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNt-0005KZ-4M; Thu, 28 Dec 2023 05:13:01 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNr-0005Jc-Du; Thu, 28 Dec 2023 05:12:59 -0500 Received: from mail-dbaeur03on20700.outbound.protection.outlook.com ([2a01:111:f403:260d::700] 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 1rInNp-0000ek-7R; Thu, 28 Dec 2023 05:12:59 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:50 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bvVenub4zFTItxNprG5XJLsszW5JpLsDSOkp0T3QijLP19u5W3aljGszF6VhJza/0vvVwGD8iVTUE3Uq8N/OjUFJ5ctOUVs8ZW/g6VHkDp2pb5uJy+EytZooWwMXx5ybGtNRSvMRKAbD9qgTD6la/ULVFcFiYg1PQ6rlMovb45hmlq7xjVqFm/xEGnCaaByHct/q9ETK+06DiaM3Hd+LkwITcrKMgdEVgdhjTkARtMLa5/cMcQ5xEUnKyfw9hOnhy+4DSLcQuXeV5MQccC+uJf7hg0Nv4xOYNIA2gQuRndU/u3qTXDYDVGHQM0ZsCQmvcw/vTDkigfd/clqh376XqQ== 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=U7P+uRNFOiA3jbxt02/V9W2Df0T3Qf9rsJ8x0mN78yo=; b=bedRk4XyC4VXa6WPBbgI7Vr77gjnd/NKXEQiIkulafjLdtMm0GladRozigcpEnKzIZsbce7qi9IrEdPg+hAbk0iH3U1qLxkkScnURQMZ84gO3nRp+YY4pfDjm0Nb/SAt713kIVySfALu/4kwAIzeTFGrL0ySiDuoO5//xTibT3GKdMTWrFA5Kr9j0aKiV7lxvXLm8OnTtAyBvfSS8EOaOqY+u76Q31R+Gdat8FZR8vOZjjAWmX8QFvzKexG7ccRJVpbcu9LW6o/oaa2Yd8ImqRCuFYfdd8j0G9fZ4UpRY21boGN59xK80+6lvPzHv7hTgfnI1Q5DZMHjNMye+PprFw== 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=U7P+uRNFOiA3jbxt02/V9W2Df0T3Qf9rsJ8x0mN78yo=; b=nHdjYwaFP1uqT2TH0PSzJcoVIONZdq4M0f6hJLcX49eRDNIbPl3dlmazggd0CWsMj+CFbX2w2vGlEysDTu2Us7+Q8jtay0ntrlkRLizsMx9h42dE/KCuYNKDBu8oK4KpWd+2bnbpzM2Qh7UorI4WhSE9nCZx7521da0G2iyRipAa+bQNJ39Q3J0ua0XgXLBZIHZCu1OZcAZvM72Fqt//o1jQfjKyjAFqznPTewm6C14SZzBe+fHFr0p2pZPzqZecmDVLZTlbU/1W0u33NGwtIT0Fb3/Ntx1RSm6mlBp84kqHLt5HjlLTBAaGa8QcZv64I2XKWHl73qgsd25jKtX+ng== 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 v4 17/21] parallels: Check unused clusters in parallels_check_leak() Date: Thu, 28 Dec 2023 11:12:28 +0100 Message-Id: <20231228101232.372142-18-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 42eb0291-afa8-4d5c-96dd-08dc078d8be5 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: H+X6EhB9xZsT2q8nSyGR7Zj+XXWpkvA6ascFr3OvGuQxPa7r9OPE56f0si69iGQbKkrG6D5rl1Ztr46hMR+J7V39T1Wbk19ncnYyAkKh0VH/9I/Cg7lPzpclxRofypnSuvURjotsRb8uQlT5BwArOlzA4ouIvzm8Q82VHRKltLJjDBNvs9/2RbwMHwxWTmyTAIGCwNA5oXJfJm5Woh9ntG3nkIaoRZPUAzVGFlyIq+AKGe6ZSMo1RjDC5vKtS4rJRKYbxi03K2UwjRcQk/SsS9mhunFgNQOV5/iwlI24vztlEud9mzJE4OfbfFhnlBXXfq0hGFBMGCWL9BCstQ+/hMZbqS0KVW4WdgAQuiLCxAAeORPiTgN1HGMLVlmeIgMuFL5+6OJBQMZm3XB0b/FIxNqmHHRGwVn+egS8sX32rUUyMRQGIhbvNm+Stl9KSp4Ko2OpeyrS5hYFq2ARactAKRrSkr/Etj43eB4OoTCmj9ORdMbkOnz8IL4jCv5qBbK4hWFi2qXcEhH3UR+k7sLopgMXG4AFUY0A7D7B1O2Lkg21KX/wXpDpgghFNJpbSDGVq9IfKV0aZAuIWJUT2zLVDrdulYtlp+zQmw+yyTIFpssFRvwqi4mvgxY4JbP9fJ0+ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wmCN45ShMAWWjEyE6O1GK79PNRDNUOC7Whw8GaAxfzGK2D7fV9BPzgfW6L9I?= =?us-ascii?Q?rvWPAeIzeGLmdWgPTeAKxY/hBmTkKwJfTtgJvz9SLsmsQXe291N5A4COsFPf?= =?us-ascii?Q?UEQI3YaBbo34bUw7kw0quUrrovtuH66JLbVySm0m8IarA5vWTABADtXUmf6v?= =?us-ascii?Q?nCeHd6PJOyE3F5rIcUz0ZcHFBRlXWJoOO3c/FSEt31E42zWAWWhegoNhZGLb?= =?us-ascii?Q?pp09pwdw28PVX16N7XBWSIuidqQSxle3kBG4fnEMN4/3Mi5uS2It1KYM3SKy?= =?us-ascii?Q?44CTXSrLVtrOtDOeHBpHQD0PjfGnX8h5E1jgUcEt0C8qC7geqkc6LQpAbLUa?= =?us-ascii?Q?cPcIUfHOen798TOOGAud3DznOoZKLbZ04ISeWJ+UGkP/MdOJ3kY7Gxmx6ydu?= =?us-ascii?Q?vFB0oQcIi6keJ4JbwyExfido1YhCiFM1geJoTzsPwdq5uK2hafl7c2s9EzzY?= =?us-ascii?Q?V267bIiPmvJJi4htQYSMAs8QCRKTwQpQK0yR9nIKyrJmdd6Ls3m/hUcBz4YI?= =?us-ascii?Q?oHLAvmxlcFHabSgRbhQleFdQiVhSEYaCvB+Q002Dmrp3mW/Rj91XTmzGZ4w6?= =?us-ascii?Q?zrNQBeU51OhgyXZ40/GD6if2PzOYathFAw9CTz+RjXFKtv6c0xLX4EG8xcCh?= =?us-ascii?Q?ocuK3Pe+rQ6HUn2XP0ADNUD1MaO9FG8Ibbfgi8yBdNB++okk7Dl9WQ1Cqoqx?= =?us-ascii?Q?9bYPjtrRwpoqbjAolUPDyPXLzRTR55LEL6/HWHT5Qag1XzmUuSULjcjnZZNy?= =?us-ascii?Q?JJuKSJtvXLT8H8m4HRevDToUd6ae5JlF6OeCwxABX28YLvhqsdn6IVb14W3n?= =?us-ascii?Q?zT/z1VpoYZopfAbBTURkmf8mv9GP761Siz3MI0WqmKEcaenT5l7GmW7JnT7m?= =?us-ascii?Q?CmRHSo2xc74Rex9Smy/07CeqFpfxeLDQSzpRrik0ShzYQSeKOcknTmc7FlrT?= =?us-ascii?Q?fkC4H08dIhomh/bg5G73P/qSU1x1VAtambiUsUt3WN4Kodxaw/3N52ugj3M7?= =?us-ascii?Q?U5Xvs4jLFJz7VYh7ugfPllhXR+jRFceBRFhWMZ68Wqfdxbnpegh7/wIIB8JV?= =?us-ascii?Q?Q12g0lo4XmfYsQ7UsSBS8wVXhzA3F0LxPTBuAVBxFmq8bXqn3LQorBmPG31g?= =?us-ascii?Q?J3gU4VOf1bVMWlbpDe0eARQSdfkCM7dpBjAELPnRkoNgeaqk+b+JubSU3pmd?= =?us-ascii?Q?8WVhvKpX0akynZWe2fgQ8rYvkcGjCokm/Tl3taYeJOxx+B94OuUzUO1HVxLm?= =?us-ascii?Q?TwEqnVe/m5qfjULBNHi1fjDHswBpxG3LgGldzR7flGjCCV5/fD2hGthBrOVs?= =?us-ascii?Q?uUZI7l7lFi88bIEhtwSAbYs2O1L84a4ztsct3DgPFS3r/yu3Zh0Cn5D1/92K?= =?us-ascii?Q?lCYVG5mh5CI5ZhSPPOtN2OmOTssXccMItOFRu/52q6zgRNn3eUm7q/JTXOYC?= =?us-ascii?Q?XvRwpbR9DDWIMwFhskxDfahT0+pdnR0hinfo7O/iysD5UtQSo+XGXfEFaI2m?= =?us-ascii?Q?cRXi9niXsMCZIafuU30fc3kzPNStlCENet3uKeVXlPUW56/3+xsgU+7WELya?= =?us-ascii?Q?n9LfsmG0Ugg9MluImarSYfztvoKVW+zKwWjVXZLNRy3VsVpt8hjPwEgYIbX9?= =?us-ascii?Q?lxumvEHh0VWsT8qEYs+S1Gw=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 42eb0291-afa8-4d5c-96dd-08dc078d8be5 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:50.0032 (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: eWilVy2OISNY2yqaJD47dTMGRPSKyvJQ3yTO4vG9q52lEIWDhQskGAjnpRGTJ4/3HPujC+4UXVhVlXxnn+ZW7HAlpPT3oSEHIaXPALrm+BA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f403:260d::700; 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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758546871100001 Content-Type: text/plain; charset="utf-8" Since we have used bitmap, leak check is useless. Transform parallels_truncate_unused_clusters() to parallels_check_unused_clusters() helper and use it in leak check. Signed-off-by: Alexander Ivanov --- block/parallels.c | 121 +++++++++++++++++++++++++--------------------- 1 file changed, 67 insertions(+), 54 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 136865d53e..5ed58826bb 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -768,57 +768,87 @@ parallels_check_outside_image(BlockDriverState *bs, B= drvCheckResult *res, return 0; } =20 +static int64_t GRAPH_RDLOCK +parallels_check_unused_clusters(BlockDriverState *bs, bool truncate) +{ + BDRVParallelsState *s =3D bs->opaque; + int64_t leak, file_size, end_off =3D 0; + int ret; + + file_size =3D bdrv_getlength(bs->file->bs); + if (file_size < 0) { + return file_size; + } + + if (s->used_bmap_size > 0) { + end_off =3D find_last_bit(s->used_bmap, s->used_bmap_size); + if (end_off =3D=3D s->used_bmap_size) { + end_off =3D 0; + } else { + end_off =3D (end_off + 1) * s->cluster_size; + } + } + + end_off +=3D s->data_start * BDRV_SECTOR_SIZE; + leak =3D file_size - end_off; + if (leak < 0) { + return -EINVAL; + } + if (!truncate || leak =3D=3D 0) { + return leak; + } + + ret =3D bdrv_truncate(bs->file, end_off, true, PREALLOC_MODE_OFF, 0, N= ULL); + if (ret) { + return ret; + } + + s->data_end =3D end_off / BDRV_SECTOR_SIZE; + + parallels_free_used_bitmap(bs); + ret =3D parallels_fill_used_bitmap(bs); + if (ret < 0) { + return ret; + } + + return leak; +} + static int coroutine_fn GRAPH_RDLOCK parallels_check_leak(BlockDriverState *bs, BdrvCheckResult *res, BdrvCheckMode fix, bool explicit) { BDRVParallelsState *s =3D bs->opaque; - int64_t size, count; - int ret; + int64_t leak, count, size; + + leak =3D parallels_check_unused_clusters(bs, fix & BDRV_FIX_LEAKS); + if (leak < 0) { + res->check_errors++; + return leak; + } + if (leak =3D=3D 0) { + return 0; + } =20 size =3D bdrv_co_getlength(bs->file->bs); if (size < 0) { res->check_errors++; return size; } - if (size <=3D res->image_end_offset) { + res->image_end_offset =3D size; + + if (!explicit) { return 0; } =20 - count =3D DIV_ROUND_UP(size - res->image_end_offset, s->cluster_size); - if (explicit) { - fprintf(stderr, - "%s space leaked at the end of the image %" PRId64 "\n", - fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", - size - res->image_end_offset); - res->leaks +=3D count; - } + count =3D DIV_ROUND_UP(leak, s->cluster_size); + fprintf(stderr, + "%s space leaked at the end of the image %" PRId64 "\n", + fix & BDRV_FIX_LEAKS ? "Repairing" : "ERROR", leak); + res->leaks +=3D count; + if (fix & BDRV_FIX_LEAKS) { - Error *local_err =3D NULL; - - /* - * In order to really repair the image, we must shrink it. - * That means we have to pass exact=3Dtrue. - */ - ret =3D bdrv_co_truncate(bs->file, res->image_end_offset, true, - PREALLOC_MODE_OFF, 0, &local_err); - if (ret < 0) { - error_report_err(local_err); - res->check_errors++; - return ret; - } - s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; - - parallels_free_used_bitmap(bs); - ret =3D parallels_fill_used_bitmap(bs); - if (ret =3D=3D -ENOMEM) { - res->check_errors++; - return ret; - } - - if (explicit) { - res->leaks_fixed +=3D count; - } + res->leaks_fixed +=3D count; } =20 return 0; @@ -1454,23 +1484,6 @@ fail: return ret; } =20 -static int GRAPH_RDLOCK parallels_truncate_unused_clusters(BlockDriverStat= e *bs) -{ - BDRVParallelsState *s =3D bs->opaque; - uint64_t end_off =3D 0; - if (s->used_bmap_size > 0) { - end_off =3D find_last_bit(s->used_bmap, s->used_bmap_size); - if (end_off =3D=3D s->used_bmap_size) { - end_off =3D 0; - } else { - end_off =3D (end_off + 1) * s->cluster_size; - } - } - end_off +=3D s->data_start * BDRV_SECTOR_SIZE; - s->data_end =3D end_off / BDRV_SECTOR_SIZE; - return bdrv_truncate(bs->file, end_off, true, PREALLOC_MODE_OFF, 0, NU= LL); -} - static int GRAPH_RDLOCK parallels_inactivate(BlockDriverState *bs) { BDRVParallelsState *s =3D bs->opaque; @@ -1488,7 +1501,7 @@ static int GRAPH_RDLOCK parallels_inactivate(BlockDri= verState *bs) parallels_update_header(bs); =20 /* errors are ignored, so we might as well pass exact=3Dtrue */ - ret =3D parallels_truncate_unused_clusters(bs); + ret =3D parallels_check_unused_clusters(bs, true); if (ret < 0) { error_report("Failed to truncate image: %s", strerror(-ret)); } --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758558; cv=pass; d=zohomail.com; s=zohoarc; b=V1HyQ4ABSZ5AOq7hIIVqkvBPQ/jNzc/rnrsz/Cud+ycAqb5FLiEysa8UqwcWhIHc+7+siCzGD11LbquB4pxs7NlZbxv49pmcl1M9D6tKD6TbgDTaF+hjAFYa+koxMaTvD7aJbJFVOlXNQF3HkQk3pUE9FKBf5C5rYc+ktRByYg4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758558; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=XaAGGTbyMKywUXOYFWi8PjBTqSV5La+m5rxkBDvvPoo=; b=WQW9kSFFT5Ak6tlMRZOOse9MUiUGl+6XhlfyCllnISZ50vygqpXCYCyAPCrx+XnxtZYmG3mRYTWLu6jvCY2zqmPyPXoJw/LqugJkMs9WzrVxhx8Kvxein50FRpYyLlA8wi5Y8injk3ucCOwYiq4uPuTID+wcwNcuBsiiKiyRj5E= 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+importer=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 1703758558461481.432454916786; Thu, 28 Dec 2023 02:15:58 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInNs-0005KJ-Ux; Thu, 28 Dec 2023 05:13:00 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNr-0005Jd-EZ; Thu, 28 Dec 2023 05:12:59 -0500 Received: from mail-vi1eur04on0727.outbound.protection.outlook.com ([2a01:111:f400:fe0e::727] helo=EUR04-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 1rInNp-0000fc-GJ; Thu, 28 Dec 2023 05:12:59 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:50 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W0acb+KpnoV9gnUx5uqRak4yDvtPujCzPj3yLtYSojrne7J11jhpLSVzV1ie5TcBGDFMW5qjztzpT39TqUdp0Rze8ylLd36lZAuwZDzFFm0EMy85c76DUSM0f+D3ovh1hhul74vURdIqpvLlsjoDKKTBUAcvt6Hk7skrGN7FjxOUunAArLHD6zcqgTH4FAY4C7TQ8JUdUlhpTGcDapozaINBzh647X7X+Ha7HEdBTQS4Yss+0WfkB0L7hK5NOt8G6IyzaH4ZrJvvhxHjhyrReQwJ1fk8BLPtug+Dq7MWpV7VmUV4XXvhrGjWodYVLVIWSuXOkDG9dpBgvyVDYc5/3Q== 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=XaAGGTbyMKywUXOYFWi8PjBTqSV5La+m5rxkBDvvPoo=; b=M/zvHu/ZXww0JAsuc6si6UHijhjH5+vTlwLPR4LGmqu4qfMIv58yv+ZPR9LNJWwuwIx0PxYyjOsSNsxkw+1oiLXORmt3UaFPnzdk5hgl3bgEVC0EAgWAq99JuZd3SPNfxE1d5xShFJpo5ppzw7JGpA2BpJVjhhx2MQQKbZQvaUx6tv7OrgdUEdpeSHkQb96svxxhtRNpgZyN/86TyL6OAX8YvtsXBu+q62rLnKhpK2Rg4WgLwuC3hAobNvtL0piElbgYixdebrpkkkLuz9B+SwQ04/AnI5X4K6yH626UJs3SzDPJt3thuaQKIuyCkInBtw3xDP8KBnUQsqGXxParUg== 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=XaAGGTbyMKywUXOYFWi8PjBTqSV5La+m5rxkBDvvPoo=; b=qq9E5MczSNhK1PPeX588Y4WnKgWObmSXLrdnEj9fLcIpli5LcuSrs4o5PM9e3g3E+x4dBtDQEh/5QgcS7hFCMExoImsBqqw1+7xczFhs6CuQyCUAZI/7zYYakFpA3FwvlE6RNDSNIe7dUcjGs+GtMndCcxgZUNFZHPDT6qAfZLPWUqODa7Ioykli8i5RTPmSySr+xGiNPTw9O53lyRL+YaBMPr67ft1uHALHfB6c1PEe0/FKV3eFfd/38BAKIGj49xOt/Kr8Guyz/+OcBQ0vvcE91lViMo/EOXhhwQWVtouD9z8ePkRtL3gOmnkvnhdouxMXK/S7thDXdOfqsriifQ== 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 v4 18/21] parallels: Remove unnecessary data_end field Date: Thu, 28 Dec 2023 11:12:29 +0100 Message-Id: <20231228101232.372142-19-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 79e07fce-bfe4-453c-31fc-08dc078d8c40 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: vD9zsaFuyiCphJz4bcnMv2Z4m7SEss+A05fNq8Wj7IBTcObYozi7U2uq5YQg1eHoDMXqGCCjy56c1ffsX78WhHycvTP6rz8l6LloS29juKmhgizu+RWIKKa7V/QCO6sp4sTAofDPiRIWuwl9DlYwPFzTHruNF8v8mW9Jv/S6FR4sggkWb9R2bVFq0GXWDHOc6Boyuh775Pj3Ar4VfIIPHj81wtKFxg6ATdPu2RArMZJY5jOaoEhp8AYqDWwaRanGZcYqwPUSx+yal39dToa0HfnjakzZP9Lq8u7XB2HEA0ea2jVVGIdNMGYa1mhjnlZal4c2sM2SCtAl0ag664tFhmIlyJ2VJ6bLdxJaYsRrg3x2pLDLCOrVHNwpYT22sTblsL7N1MIxDxQG7m2azMQ76mLF1EE61PS3gUcX63YpVX5PFs7io6xNHLsi/NrE6mip97GTwzFtoRmpN+sfW8M7MipgSVs5IU4KDsALL119sOuu3/jMUkG8eCVRu/taY4GLPTBchiMFxXW2Qt92NL0a1LLVgn3tznBlVp9hnz+9TELLBjuiTcLHQbY/0kz5MAzyy0j/mCltQHfR2L2Uu08N2iGZ3dJtv+IZ/KxVYzNLeqr08RhbWYDl6kEPK1OyOt6s X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jxfBx3rhiPU2anjK8Wc1rnq4K8bnOu5BISv1voYQn9b9ZOmoXuv839BE0fNS?= =?us-ascii?Q?0lYtfU7JBjVlnAipbNyeRDsWKHTOFnW+E1MV/ODNWAiqr86DszBw2esVa97/?= =?us-ascii?Q?NfuxweZT/a6SSqZvdSJ1tkx0k1hw4J68Z97nsbWbmwoBtIGOmwoF3AazH88I?= =?us-ascii?Q?syoZI4R1xm7iSRPpZTJb5LOR33ap+xuuyezw0WSDLPXmqWlme4USY3eO6oJo?= =?us-ascii?Q?RqTbZ1bSnhz7t2mPBC48TTF61Svn1vBG7WSELG9Vir8qQd2GpZZf0UfTIGx1?= =?us-ascii?Q?BIyCTSL8bNlmzTXBtA0wYw936Oo5iCno5oluseNlDqfYMofIWXHN8cnoouIN?= =?us-ascii?Q?J6L5CSX9wht4PqnnfeIi9XWWVJyEqdhlC2yJoAERiC5mISMbn8jNd5UXqSN+?= =?us-ascii?Q?OgoeeCKqcXF160WTfFVm8FcqbGADlVrL7R9XDFKkKog4v+luktTj+tA+nxzH?= =?us-ascii?Q?fF0umPqd9rGAlszsLAaH1aISgNJDbxSY40cH6dxkaAhQyntid5iUk8uTHLlA?= =?us-ascii?Q?lcfYJJ35B9YsiLLqiT9hSn1X84WcSQz8JUomM4BLduqaNgkBR7k6m6vcn0bm?= =?us-ascii?Q?LHK/9eGN4rCJqvUV/RoEUMs0S0ufPqY2INysuW4LwNooaw5/cDawk66TKc9g?= =?us-ascii?Q?JlXx+g7gNyPMnLBmtmU8iZbr1cQK8t0oolfX8zJVuJi8yb3tNXZzY/f8cxUY?= =?us-ascii?Q?VAyRM6t/bxO5yhfLECVvpE73Q74qza+bQqAvwmOKmw1+n8R6YyGZWFDH3sKj?= =?us-ascii?Q?XJlvPyekYBUnazmYRVqUdwnEa6cUEDNK/FmlY5cEDT0EgTH0uUfoPOV5Aw1R?= =?us-ascii?Q?q0PKcj8ghOA9U7pMv3zjecfL+ws04C8dJnXMy6HJQnzpDnxdjvoQyyPspRLP?= =?us-ascii?Q?3xEGy/6xIwCE9TfqXWxqZS6SxZwHGhNbcnPZQhWC65HE28hk0OgINJuqwFCZ?= =?us-ascii?Q?1E6G86Ry0JjPWhu8NTEegiMqnr2ZjFbGmDvzsqi+NLVF/VVu8sb8oWc3+RiC?= =?us-ascii?Q?PHFtw7L+pzGkNOgEruaIhAHRq8tNi2RJg/lj+ziP+SyiS9sVUamgjYgeRAxw?= =?us-ascii?Q?NheQGXqPRgpjVhSQjvBlsirKBQyqEGGbqRiOtiKz/YtHpTAcfy0u2r//yhLH?= =?us-ascii?Q?2HbRKSqJe6TAXtWnueGoiwI35JPHsCMgY/7fW5LIOHvKwG/FO4xjgvp8mrIb?= =?us-ascii?Q?JoOltJqukV71/NRwztF2jStUJszf/t9B78YbCUwVED5GS6lk8E4T7WfDB+dt?= =?us-ascii?Q?8XP9wnzLy3f/DyXfJtBiY7vM5pE5jbKKImZdpgd13Ay5wUJ62xpZFjaTo1SU?= =?us-ascii?Q?2Z43onh/6kYlQyq0ofclm/qyvHlr1KjEGWKiz9pJMFZ/vGQxwJWQfY/B9IXw?= =?us-ascii?Q?H+W8ib5fUP3QJzIGcNPO+QzedHn7Z80wx9aM9dkc+oufCOMm33Qz6js6q71R?= =?us-ascii?Q?S1T13wi01nbS75NU3ts+B6nh+gBOWrfYOuePj/Zgbeetb78YGh04J3Lh+62S?= =?us-ascii?Q?DbvbTnuuSVnJEuBEPxnDGPnUW002t1GT7bRo2LwshHUXPh9Km+39pF4ibonP?= =?us-ascii?Q?dO/dxWl4Zhnj9nt+VBUkfK5XWy5nLZERgltJKoV//a1+PkkyXdfQpzHq0bBy?= =?us-ascii?Q?tqpQw15ZuuBgXesJmMuVHNo=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79e07fce-bfe4-453c-31fc-08dc078d8c40 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:50.5702 (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: pP1Y4ITRLybCpTCTMhg2qUgyj3PPscUFtcbP6C/3QE0H8HN52o6bv1HKEVnHLUpEAedeII6/qRPFFaTJHQTrRXjenGRemn0MOLIhKfMShKE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0e::727; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758558893100003 Content-Type: text/plain; charset="utf-8" Since we have used bitmap, field data_end in BDRVParallelsState is redundant and can be removed. Add parallels_data_end() helper and remove data_end handling. Signed-off-by: Alexander Ivanov --- block/parallels.c | 33 +++++++++++++-------------------- block/parallels.h | 1 - 2 files changed, 13 insertions(+), 21 deletions(-) diff --git a/block/parallels.c b/block/parallels.c index 5ed58826bb..2803119699 100644 --- a/block/parallels.c +++ b/block/parallels.c @@ -268,6 +268,13 @@ static void parallels_free_used_bitmap(BlockDriverStat= e *bs) s->used_bmap =3D NULL; } =20 +static int64_t parallels_data_end(BDRVParallelsState *s) +{ + int64_t data_end =3D s->data_start * BDRV_SECTOR_SIZE; + data_end +=3D s->used_bmap_size * s->cluster_size; + return data_end; +} + int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(BlockDriverState *bs, int64_t *clusters) { @@ -279,7 +286,7 @@ int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(B= lockDriverState *bs, =20 first_free =3D find_first_zero_bit(s->used_bmap, s->used_bmap_size); if (first_free =3D=3D s->used_bmap_size) { - host_off =3D s->data_end * BDRV_SECTOR_SIZE; + host_off =3D parallels_data_end(s); prealloc_clusters =3D *clusters + s->prealloc_size / s->tracks; bytes =3D *clusters * s->cluster_size; prealloc_bytes =3D prealloc_clusters * s->cluster_size; @@ -302,9 +309,6 @@ int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(B= lockDriverState *bs, s->used_bmap =3D bitmap_zero_extend(s->used_bmap, s->used_bmap_siz= e, new_usedsize); s->used_bmap_size =3D new_usedsize; - if (host_off + bytes > s->data_end * BDRV_SECTOR_SIZE) { - s->data_end =3D (host_off + bytes) / BDRV_SECTOR_SIZE; - } } else { next_used =3D find_next_bit(s->used_bmap, s->used_bmap_size, first= _free); =20 @@ -320,8 +324,7 @@ int64_t GRAPH_RDLOCK parallels_allocate_host_clusters(B= lockDriverState *bs, * branch. In the other case we are likely re-using hole. Prealloc= ate * the space if required by the prealloc_mode. */ - if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_FALLOCATE && - host_off < s->data_end * BDRV_SECTOR_SIZE) { + if (s->prealloc_mode =3D=3D PRL_PREALLOC_MODE_FALLOCATE) { ret =3D bdrv_pwrite_zeroes(bs->file, host_off, bytes, 0); if (ret < 0) { return ret; @@ -758,13 +761,7 @@ parallels_check_outside_image(BlockDriverState *bs, Bd= rvCheckResult *res, } } =20 - if (high_off =3D=3D 0) { - res->image_end_offset =3D s->data_end << BDRV_SECTOR_BITS; - } else { - res->image_end_offset =3D high_off + s->cluster_size; - s->data_end =3D res->image_end_offset >> BDRV_SECTOR_BITS; - } - + res->image_end_offset =3D parallels_data_end(s); return 0; } =20 @@ -803,8 +800,6 @@ parallels_check_unused_clusters(BlockDriverState *bs, b= ool truncate) return ret; } =20 - s->data_end =3D end_off / BDRV_SECTOR_SIZE; - parallels_free_used_bitmap(bs); ret =3D parallels_fill_used_bitmap(bs); if (ret < 0) { @@ -1394,8 +1389,7 @@ static int parallels_open(BlockDriverState *bs, QDict= *options, int flags, } =20 s->data_start =3D data_start; - s->data_end =3D s->data_start; - if (s->data_end < (s->header_size >> BDRV_SECTOR_BITS)) { + if (s->data_start < (s->header_size >> BDRV_SECTOR_BITS)) { /* * There is not enough unused space to fit to block align between = BAT * and actual data. We can't avoid read-modify-write... @@ -1436,11 +1430,10 @@ static int parallels_open(BlockDriverState *bs, QDi= ct *options, int flags, =20 for (i =3D 0; i < s->bat_size; i++) { sector =3D bat2sect(s, i); - if (sector + s->tracks > s->data_end) { - s->data_end =3D sector + s->tracks; + if (sector + s->tracks > file_nb_sectors) { + need_check =3D true; } } - need_check =3D need_check || s->data_end > file_nb_sectors; =20 ret =3D parallels_fill_used_bitmap(bs); if (ret =3D=3D -ENOMEM) { diff --git a/block/parallels.h b/block/parallels.h index 9db4f5c908..b494d93139 100644 --- a/block/parallels.h +++ b/block/parallels.h @@ -79,7 +79,6 @@ typedef struct BDRVParallelsState { unsigned int bat_size; =20 int64_t data_start; - int64_t data_end; uint64_t prealloc_size; ParallelsPreallocMode prealloc_mode; =20 --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758577; cv=pass; d=zohomail.com; s=zohoarc; b=iApX13JWCHoC1WfRIxLqPDH6gFCnAUm1Dh7zdRANGnr8oaspu4hVaG75euLZFmgjzPsaVBkhONoqdVDaAuo3k/vTlwYJUf0tNBkQzI56zfFAufJ9GxXef8qOvjcW+qHoMN6mXl69IG2RwAY+rPZjCbkLasdZH7MfqQzvkGCHb/E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758577; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Iutxc8tg7YChZVrBnNEg2aHUVzHlrCXYIXjWGG/15z4=; b=O1Oli4Q8GOTN2zQbT8xldaBEGo2kE7RbSHB+gsW7aHWZSTp26EfN7iJydkk8BHKOjwuMPJJeAwYkAYDCNuAzM7AJY29Dqqrx//SppQkk+xUbQwkFBlB3tKHouvbpM+OH7KtcmjGyRyzKNLNmHmBwrEI4ycc75QQb9OnsdTrlRA8= 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+importer=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 1703758577793491.50734534662524; Thu, 28 Dec 2023 02:16:17 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOL-0005ay-Cz; Thu, 28 Dec 2023 05:13:29 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInO3-0005Pa-1H; Thu, 28 Dec 2023 05:13:12 -0500 Received: from mail-vi1eur04on0727.outbound.protection.outlook.com ([2a01:111:f400:fe0e::727] helo=EUR04-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 1rInNz-0000fc-LG; Thu, 28 Dec 2023 05:13:08 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:51 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=C31bIajTKGAuI8dIdTVxyFtdgEXTJ+dzfRuFcntLWuPYa2r342NnzX+m4YIQdLXNWwbsj0GtLGTLt/I1wM1+z0bNe6i2vV+HMej2XdcMVbBaM3J/JvXA7zzI9Lu/NtDcTgebcGuEW97oGTNc9AHUwMiBLEEj5k7WG8f/xP6tV0yFNHGhngANUrDh4oPL6WZs6mgKUviupdADKFc3HHe3dcRjQnTb5JYhvv9EeiuKbcYQOe208nEQ7y+oNh+dAPn6tXJcMknwmihRmVVYQtWBMdKjvgLTSdw0tG450HLLdS3pKbSFNLvjVhqmt8beQcKp++Qle9aEgSpDe0M7bW+LfA== 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=Iutxc8tg7YChZVrBnNEg2aHUVzHlrCXYIXjWGG/15z4=; b=KakrbuwDggi34dtDNQfn9BA+zwZfmIDQ9CRtxB6uyVIZRdvb7vjAnoGVIHstkjrxJSzyEVE6JFJrmi4UG0ZGYvTya14mX25r4F7nHcqxZBykYwvmjc5yvJtLfsRAx7qSWVat1q+qohHjkwpByIvROQeMQiDp9yzoNzcZONn1Jrn8nLdzLhy4ECLdJ+QHDN0oMJiFTH0RTGKp2ETkKZO4ISM3SIAlbPEFfVY2pooSfDB8rqLMdoALP7wEc68Ny3JXnAQ3GyE1PCDwI4R0a3QGh+bbxzBi7OckVFFl7otNSDttvd9hYcaycsFvKzqDdTnR4pH0Opjf4MBJskdP+CS6dQ== 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=Iutxc8tg7YChZVrBnNEg2aHUVzHlrCXYIXjWGG/15z4=; b=hvAbT03aUMvLKeGvsg1u8FcOSWAoriF0bQB4sNKIMzCoQ8iyiWFpRF877BlDPgZnVUPpVlLTpLqZw4zpJu6KxhLuht7zpWlP1w8d7gqn6naXrWRxuPB8cP3IiU+Pgb9fnEhyCHBb1QKs2ahXczjBesnG7x0hYNrCzleE45Dxim/VJlairvXUTcgGiax4cXNlIuEaasOqHllHEOLTjrytFIV74uxbXTs/Z3u1JMsH2e1kTnynzDb9OdIYJ0TvzxneMp1mpt8yW5XnJtbeXzqpl75LIly6GJuHn1Qzx5QFsNjQMgZvLn5JqbjNf+nNGsttw5MonmZscFsFFBWF1J+8tg== 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 v4 19/21] tests: Add parallels images support to test 165 Date: Thu, 28 Dec 2023 11:12:30 +0100 Message-Id: <20231228101232.372142-20-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 6ed2aafd-1a1c-4a3d-a550-08dc078d8c93 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: DbFPmUmqbbNu/rX0YWSdieBuEgFrBo6DvQP5OtwZXY5AwPzS4HKNXvfgoGEXZXrZsl6nc2Wa20ngnUSIjAXm2s7srtJPGKPletXFx95SIka89bKqEU4qzxYwLX9XBiceKQfhVUU91KyboQDMiU2ZJ37U5DeLHxsqk378wETPE+N3Zy+1H/4fLpjOnVOQDfrziXU/jBWppcDZdjsJrhqD49DEVN4bYJ1ExSnSUFM7TTqFxn7Pg/5oLxhWG9GaMVOKJSou3ZlqxZEj3CQnquYMYitRhPSmi3WPe44MfCdo6Skv7bvTXae9TKVLkoRPnR477WpiBTHzeEodyBvgFeNChdGX3qkdoLJdLdxjQgVHwZ761oGXKodmGrrU88/I5jZwwNHdKJGGmQpufZ5FrN/U3pbL2CjAYkE8TQl/A3aV0DCA+O+/qMomeAum74O7V0OAIb/jpQvQ5r99uEFp1wnq7TlvpLPwyGFT9O7KHae6vdowVdHiEJjMGSy7gVVt+17kWN8QDn12rPxJe0XP/iEIoMOwKA5AzrY/FjhalBdfETDbBWDXDDdv9X1vNR3+QlHlfmMmSNabExVaE0LV7HRZXJ8pEGIB4cTAVHDOuIwykJGcYax/NrPvCbbCfnT4HLeF X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?T+0vbxgmpqGMsNf2Qks9fC/HruP12ybyKZNd/VNNLArdwroogOFwO711bJEi?= =?us-ascii?Q?+KcVpyvsuNTqNUjoTqE6vwla+nbEetF3dT1QitBfZ3BNDa9jgw1dYo3vAOtu?= =?us-ascii?Q?ZeUUSDdPzqfOVAU4vFc8pV0C2+i2l/xmB2sZ9sKzdlABcjAesIreOUk4jUP/?= =?us-ascii?Q?aj76V7TyTRjtgomzKs/NtE6lf63RA6ccPyKkEX5hbDqd2U84UkysPqkdpqCG?= =?us-ascii?Q?BBhcrHTbt0VmmpKsa9miDaAWU5FkvLym17bwgb3+GqbpkUWyA3END1e8S06P?= =?us-ascii?Q?4nb6jAwIF37fm1oP82Gj61DXftPDMVjdqKbyyJGF8zsdfu//hSQCPDqCGKVU?= =?us-ascii?Q?XsSPtZKtz+NvXILielFOW7/Z0wNUtV7VzPnYyjAuQ1UofmFqfNApPMnjNrod?= =?us-ascii?Q?cJgImdkJgizYrxDGFXz6BkFTNaAqYE62J4fdR7kGe5/1LUNiJ8VYXMzPYs3y?= =?us-ascii?Q?XpEUPny8WGGywuXw7gOsvUgGG5oqb3uDA+hwAQgmqEXkA1+NBD1MC8T4xySy?= =?us-ascii?Q?5qeS52y59+XqxNDGVZbfys1oDFo2ZCw14BTg53sxuiXEs3l+JzWUFIP6LinR?= =?us-ascii?Q?4EkVutpccRpNr5Ta8xQpCdQBZbszd/k6n/ahoEjYEEmDASSBhqt/URJNUWlA?= =?us-ascii?Q?MCKL8tFKovALPNxPexHtQKMVmNET+vZRMsgk1iQevbD6XXd2hVo7pBgKtQvr?= =?us-ascii?Q?Vi8S5HwHvXqWxj27pXNgiiYrBMnlP831c/zJhDlpsVtXa6UCjU1PrxJg91YD?= =?us-ascii?Q?bA063SGwYp1l4G1Ow0pTWhzI+xnp1lBnXmRc8MjX79SmG3MaKxtta63bQvBO?= =?us-ascii?Q?Q/+dvUNRkz3mo13LWev6hKybPF/HJdncy1uAiOtYpKhfBa+O8YPOt95tGLoF?= =?us-ascii?Q?lcs2duA2lMOeLggmiieI5mGQD1QrFhV0Xx1ZoTokkkBrwShVmJD5HsovMEEM?= =?us-ascii?Q?Mb2HlktVL7FqTa7GJgvE+Vu2Z+m5g6cxmFqvZr/mPhrCvMpetGTKZsKP6Q1a?= =?us-ascii?Q?VaG4+0OWo0KtCRhMVLKJz5u+S6urc27dLCVHd/2ZKxwqML6x18f90gD7aYB1?= =?us-ascii?Q?4c9V0uxBC3cmV7m4Y/fl1IOQXnfKOhrlCJBlklSBwVDXu2DNG1dHslwl3QF9?= =?us-ascii?Q?8qyzK8IBnU10gZDfsBeKi2+2b8REUefCqrIyVZtE44NbmwSCK3+Ee6y841+E?= =?us-ascii?Q?VaTU0ovJNvCWevTkiUB5DOBRw1WTW1fMlzGJgv6sBCX7OMLVkrFeuG4gkJjE?= =?us-ascii?Q?UXGirDXZYV/moCVFOgnJtazMNMSc6VFhA4u1vNucIUTPXPszwb1Fa+VXMG9c?= =?us-ascii?Q?bTFMLDRq/4rzMK6KNu9PnmWrdWZAcjT1ZgXjyyxCMiQ3P0KZi1nNTLKQJoG2?= =?us-ascii?Q?GxHbaIWGlRtjjvPCubzBi7aGhmOOdfnfBiA5vsk95O1BMNv3ezGXkAGuOll3?= =?us-ascii?Q?FljNgHJvOMF0gxxX+j09YZAbtuTKTzekc507eRy+cGLCRJ92RMwmITsOcFEi?= =?us-ascii?Q?LZo1sT/CPYR2EVMIqMi1qezI7xURVZIUya95YIeY2JJlNYTmYiJx0TDFeUlL?= =?us-ascii?Q?ZC9sLxLjnlXrC+0WkIjCL72GVXBmgkE+cZNE0ocKKrudoGg2hPz9Jg2li2oP?= =?us-ascii?Q?9++TI57IfGZrGnOqCFf2714=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6ed2aafd-1a1c-4a3d-a550-08dc078d8c93 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:51.1069 (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: wMx0W5kSfpn5wqViCa9auQaqeHDsC1wwOT5J1hRhYuQy4cyq/GomRgCkxWqgdWxESdqBqAD4poUFAEiR9wlYMCgQI6pwTWLaUAzR64E1kKA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0e::727; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758578951100005 Content-Type: text/plain; charset="utf-8" Use a different bitmap name for parallels images because their has own ID format, and can't contain an arbitrary string. Replace image reopen by shutdown/launch VM because parallels images doesn't support reopen. Signed-off-by: Alexander Ivanov --- tests/qemu-iotests/165 | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/tests/qemu-iotests/165 b/tests/qemu-iotests/165 index b24907a62f..f732db257c 100755 --- a/tests/qemu-iotests/165 +++ b/tests/qemu-iotests/165 @@ -38,6 +38,10 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): =20 def setUp(self): qemu_img('create', '-f', iotests.imgfmt, disk, str(disk_size)) + if iotests.imgfmt =3D=3D 'parallels': + self.bitmap_name =3D '00000000-0000-0000-0000-000000000000' + else: + self.bitmap_name =3D 'bitmap0' =20 def tearDown(self): os.remove(disk) @@ -50,12 +54,12 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): =20 def getSha256(self): result =3D self.vm.qmp('x-debug-block-dirty-bitmap-sha256', - node=3D'drive0', name=3D'bitmap0') + node=3D'drive0', name=3Dself.bitmap_name) return result['return']['sha256'] =20 def checkBitmap(self, sha256): result =3D self.vm.qmp('x-debug-block-dirty-bitmap-sha256', - node=3D'drive0', name=3D'bitmap0') + node=3D'drive0', name=3Dself.bitmap_name) self.assert_qmp(result, 'return/sha256', sha256); =20 def writeRegions(self, regions): @@ -65,7 +69,7 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): =20 def qmpAddBitmap(self): self.vm.qmp('block-dirty-bitmap-add', node=3D'drive0', - name=3D'bitmap0', persistent=3DTrue) + name=3Dself.bitmap_name, persistent=3DTrue) =20 def test_persistent(self): self.vm =3D self.mkVm() @@ -117,7 +121,7 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): assert sha256_1 !=3D sha256_2 # Otherwise, it's not very interesti= ng. =20 self.vm.cmd('block-dirty-bitmap-clear', node=3D'drive0', - name=3D'bitmap0') + name=3Dself.bitmap_name) =20 # Start with regions1 =20 @@ -135,16 +139,22 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): self.writeRegions(regions2) assert sha256_1 =3D=3D self.getSha256() =20 - # Reopen to RW - self.vm.cmd('blockdev-reopen', options=3D[{ - 'node-name': 'node0', - 'driver': iotests.imgfmt, - 'file': { - 'driver': 'file', - 'filename': disk - }, - 'read-only': False - }]) + if iotests.imgfmt =3D=3D 'parallels': + # parallels doesn't support reopen + self.vm.shutdown() + self.vm =3D self.mkVm() + self.vm.launch() + else: + # Reopen to RW + self.vm.cmd('blockdev-reopen', options=3D[{ + 'node-name': 'node0', + 'driver': iotests.imgfmt, + 'file': { + 'driver': 'file', + 'filename': disk + }, + 'read-only': False + }]) =20 # Check that bitmap is reopened to RW and we can write to it. self.writeRegions(regions2) @@ -154,6 +164,6 @@ class TestPersistentDirtyBitmap(iotests.QMPTestCase): =20 =20 if __name__ =3D=3D '__main__': - iotests.main(supported_fmts=3D['qcow2'], + iotests.main(supported_fmts=3D['qcow2', 'parallels'], supported_protocols=3D['file'], unsupported_imgopts=3D['compat']) --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758639; cv=pass; d=zohomail.com; s=zohoarc; b=aFHAywQAcFb7O2wQby+V8dWGpa+PM53/ueSRv6wsAWPStHKaPHkCk18WzUwNkbteqOMhfDuGb4XZ3AZaNCCAA2v1U4I1ej52mWNqD80oPGykCQi1i3dzGitrC3LDihtk+MOxIHSrbqLu4HfxRiCTwTy0qZJXZgeCjM7/OEeUGU4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758639; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ylUSNpntRN+gDmFyGythjkA4Aww04xqGG3xhlvzvfEE=; b=lNOnIJBF3jEMv4/FVQKC5qiftwdUbEg5VD6x3HckZdecqQ/BAxJKJn+EIeYGq5yK3eK01nCYyV+7zpFI6d4sL+kVSgvfZANhIXFJFKUtabg0ItdkakX1slSM2KrRXbA4CJYAoB2E9upzTPvyUEn2B3JmDXxD5+guEBoaeBkFIX8= 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+importer=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 1703758639076613.5141835677697; Thu, 28 Dec 2023 02:17:19 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOM-0005eb-Gs; Thu, 28 Dec 2023 05:13:30 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNu-0005Lb-Dk; Thu, 28 Dec 2023 05:13:02 -0500 Received: from mail-vi1eur04on0727.outbound.protection.outlook.com ([2a01:111:f400:fe0e::727] helo=EUR04-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 1rInNs-0000fc-2h; Thu, 28 Dec 2023 05:13:02 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:51 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BfxuocrVSYnnPw9P8hwi/f/rT19pxSKmA3rtRPcz3c4BunNNFjKVyq0xwkkKODzMOJ+KLpeozgr2vJ84gCFbXElLltjXzAa5qkW9O+cHFY2N0npC+NSPBTlAnHNBgUSonCz7FZGHRIM4ler0+sPyXhmtSrMdR20CLR9oH9wex9rkb716n2q/xZFsiimPqj76tn+f3hEU2S32csbp69J/E3IFr1OTiprT8vgjaqMG3/Hm4AiceRPyxCU6QzgTEm7aNKZTonDaHReeC9U5lWAn1nPpPhU+DDOZBOAp03gmREIRCo3jGQy68HCvfBBxaosnpOejPUkVhfGaDvJwcIbvdw== 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=ylUSNpntRN+gDmFyGythjkA4Aww04xqGG3xhlvzvfEE=; b=dm7WJmfSjQJrVSNPnqzsjy0ODMzw3TUS2q+AcsFok1XSRtqeBvzuS0KEW0lu9QUJv+4LgmiruNd94Cgo2yPCvLXWV5dYijskB4xBa0jTP5DaTJEvMGyCbu0wS3B6MshA4SADtKjoOfGueLF1vdCyfDOQ7mgQuHzB3L3gGZztqDrvJhdGzH+YXzrYlNAN72tyDTz8ZqYvaVqQBhGctmx4eEHMGzvDSlA6Yn+AxMiankybJvuySTj9ucT0T9k1e++WK/NeKrBJkQXNZ+rd1uy64g+WyRerAtUpmFLp8ti228Kgg/HGDLRu/hYfXUFMZRNGOkbjm/Z9na80+Tvl3eJn4Q== 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=ylUSNpntRN+gDmFyGythjkA4Aww04xqGG3xhlvzvfEE=; b=sFrr+k8/rsNJdTBvyNHmt1xb8O8mLYZ+cjwYg80ZelvSDkbcyN+5GOnLpel9NZGp6YBrNwy3OyiWiINi39kAlrkpq7jv+X1kOCfH2G8mB96zASeqA+51K5bEHWvEoWDJAe8y7baBu/8ukaO0npApHjHWbnbSmPIoPqmRgf+C6wWFhtqHTJsJu/4r3gcv06nmK6qsO9zh01wjE0G75vJZbZ46B++W8+Q+j6sKJMFNYGWjSgWFsBJt/BJ12BOQWYykfVxKMRoYzAPAp0O2rtqj6VRin77H/eORxt7m+HG5QE4v1jcta313T5b/38n2O43SKVzA8K9XIoc5HCMICDw88A== 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 v4 20/21] tests: Turned on 256, 299, 304 and block-status-cache for parallels format Date: Thu, 28 Dec 2023 11:12:31 +0100 Message-Id: <20231228101232.372142-21-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b7e753f-a52a-4c0e-192a-08dc078d8ce7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: wTFVGslErcdUZU7uZ17b7NdcWbiL9mhxMePUdry4wlNHNM31y3P4/S01byM2e3DNTnnWwDOSYYam0hl4MXgcRQrN65D80GjX+6DtZnt/wQqUG6UdCG+Q7zEmvpB5uLdn0w/8BTDdb5dj3pi97F2T2BaSCkMuvFa/144cL3zQTnTrsl87Hcrtz3NAfF+4H8c+9/Fk+jvL01GjcUZ76Bgeku4ouH/VxoAXtWyYfznAiQ1zAGXFkjts0CI9+oWe7Z1JK3iBaNNNo1VmSBu5Zx15i8R+VCHikr5GUEuR1JDBlhqaZh396ZlYwyAHdHDRq4yBd/IabVphFDoHXF0ezYNh4e+uJb/pZTIvG6J0eWpE42exUrdG159xBP1pYEddK/f+RaUIR0gJefd2hZ5G2wc4+JQrfDkOFY9patLHdXQzX330CUhdoZg287lTWNb/LeKNnTuwrtlCfUYoZIwkLHzOpLyCeEAMViuYhDKfOejcMqFlwUetSmuuW9zJ0oHHjpjsbGgN2oMb7KDPhuzbaP9Oi46Pm+D3pfLGtzyKd5SZxDkW6pLctHaivJtEERMvcXfGnNeZXVVwr/Ha1kJFjhvQgpyJ/epX3NslS9QE6LXTwiYJvuwTRxEoAiTIyPI4G+Hg X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MkNC9FETqtB0UXfYDKYn/D1hMD3nh70oWvumdrDKRZ3xgwbs8PCpPDWIu8iy?= =?us-ascii?Q?LytGyVlDJyy00ZeOVj6nmHdmS/AUb9JzrShZAiDNJ6D8LVvYuNaGznCFjir8?= =?us-ascii?Q?S6pAUutoRXfttNd7NJZIg7X4hNtp9BVA98oxdig+Cwv8mZjikIKP4So7Wpfx?= =?us-ascii?Q?fj0rZVRGCRYJI72g5qy+/lMIeUbozbgPVvcexmGxMTuZwefG9g65v7qXFctv?= =?us-ascii?Q?cYZjiZ4Wv7VXz0+law7qvMTyuyKvmll4YYFvPx8b/QWpsYFbv6i0xkWPnn6r?= =?us-ascii?Q?IMbYIg/EKmtyo01xB8XThCvWRkohAZPpCFd8I5avTetUlJW4geRYSLsc1Yz+?= =?us-ascii?Q?UVCqt7dCesYnWgPjUs1uvlaWCNGvY5aenf6nGYNPGVwNrXfnlb8fzpWRXm89?= =?us-ascii?Q?+VLiWuwB1c1o98TaaXtkQLBCLSh7RrzkwBZRvcHbQmlsOF0QxR/1/yKjOkpb?= =?us-ascii?Q?sKfReLgEYvK+0baXVtx2Y27lfNVhOApq77jylSz1p4kj0FQw7F35ma4R8l9+?= =?us-ascii?Q?aMxhbq5Gcjk3rhq0I2v0AIf2x2dX3udR0qtfFoaONBslscdEAphjUDORhw8f?= =?us-ascii?Q?SuHq3t5Pb70pixIs5E5Ev4BT1ArqRbBCfCioBoXqnZO1kcHCND8CGZHmE+er?= =?us-ascii?Q?ed2K35xFOqMFiEO5+g4vQeAwVlkbsbQlcBxk7QZGeEjCqDdbWfvjouXUvGzb?= =?us-ascii?Q?F/nztXiOVk6qNKK9O+StCysz6QuYiVRmXbuz2HuTu0KenValan2w50yC8Vyo?= =?us-ascii?Q?2M5Fquh2l6/fpmFEj5B9bb3C6OnfEQY+VKJGTXhXp6iD294oTcQU1YUvgsA9?= =?us-ascii?Q?s9HjUafSx+Gi78vrJWj0Y3T9sLMBxuBqCHfrmyxOMSQQ7wRJ7uQdSVhtw+XF?= =?us-ascii?Q?Mfo8L5WQ5Wdo2d4Dz0trokavJh8lCn2k2xZ0ZCwOm8KCgGjChrQV99VVDlNC?= =?us-ascii?Q?kEKH/TpGyBBpvM5b4sJDnYapUbkUVXMuHNshnDlEqhACvhBUsrpNB71g+ws7?= =?us-ascii?Q?BCsU56kAaMGU81kLAVP3tqAIeLCHC9H2bqZxY5t4lLRgBPt71N8vJv7Vkg65?= =?us-ascii?Q?JjhC8oiPwhsO0f7ihIjG3/Lc3sVyG17vvJJZhGMs6E5ADwPqGbCpFbS1vX0W?= =?us-ascii?Q?jLp/gc9aqSrrl8Ai2qFdl03FoJjn7aLIHYC/LPwrQxGeaDh+UG2JEm8a7Z3Q?= =?us-ascii?Q?DgFxBUvOwpMmyt1welrWReJg7DUMS+n8hZ/JIwqWMlBMApfDak0eqbjVq3Iu?= =?us-ascii?Q?3ZJPCUGX3s5JMdKZii3ZYKCPB2pKYSINtGqS9kI75tP0QgrdUaQPrgaHz0mc?= =?us-ascii?Q?ivxKyLAdc+P4L7sQUKwsoERE24e2PnEaRatt4LeRYV/Iiyxe5BpGtqSSgmiY?= =?us-ascii?Q?q092dH7qy+3xJzzGHZ/e17fjpQrRcIaeTyxu2A9uudFB4at1Vh3oDwT6NVmR?= =?us-ascii?Q?+PzTsWLe3ayMQI8rk35dRJygjtmAE5Qfd9azFPOGBH4KIbsz4RTcxlfBbT9l?= =?us-ascii?Q?rJxWV+7XNP6S02NVsN1X10B4aLYO0sTV9S8ADYfOWXZwKCxCEq+gu/4M10km?= =?us-ascii?Q?uonzlFlL/d5Ab3gw/v4IMpbQJR5gdtdEWADK8/moBXShv4AYwhaZkIbBY9O5?= =?us-ascii?Q?IiuavTtLkFMYc3Ihynr9S+g=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b7e753f-a52a-4c0e-192a-08dc078d8ce7 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:51.6787 (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: d/8iIoT3a7VjAktyqA8NBZtnGn+oiQ7HngUxAlZwZy+TWUIeUSgLAMe21lRqz9+w3P3hIrYYjAI9O/ISkGP7TeKTXUbrv9mUH81ESCyHg5o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0e::727; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758641152100001 Content-Type: text/plain; charset="utf-8" These tests pass with parallels format. Add parallels to supporting formats for these tests. Signed-off-by: Alexander Ivanov --- tests/qemu-iotests/256 | 2 +- tests/qemu-iotests/299 | 2 +- tests/qemu-iotests/304 | 2 +- tests/qemu-iotests/tests/block-status-cache | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/qemu-iotests/256 b/tests/qemu-iotests/256 index f34af6cef7..1a4c9c6885 100755 --- a/tests/qemu-iotests/256 +++ b/tests/qemu-iotests/256 @@ -26,7 +26,7 @@ from iotests import log =20 iotests.verify_virtio_scsi_pci_or_ccw() =20 -iotests.script_initialize(supported_fmts=3D['qcow2']) +iotests.script_initialize(supported_fmts=3D['qcow2', 'parallels']) size =3D 64 * 1024 * 1024 =20 with iotests.FilePath('img0') as img0_path, \ diff --git a/tests/qemu-iotests/299 b/tests/qemu-iotests/299 index a7122941fd..d8c4399446 100755 --- a/tests/qemu-iotests/299 +++ b/tests/qemu-iotests/299 @@ -23,7 +23,7 @@ import iotests =20 # The test is unrelated to formats, restrict it to qcow2 to avoid extra ru= ns iotests.script_initialize( - supported_fmts=3D['qcow2'], + supported_fmts=3D['qcow2', 'parallels'], ) =20 nbd_sock =3D iotests.file_path('nbd.sock', base_dir=3Diotests.sock_dir) diff --git a/tests/qemu-iotests/304 b/tests/qemu-iotests/304 index 198f282087..1ebf999930 100755 --- a/tests/qemu-iotests/304 +++ b/tests/qemu-iotests/304 @@ -23,7 +23,7 @@ import iotests from iotests import qemu_img_create, qemu_img_log, file_path =20 -iotests.script_initialize(supported_fmts=3D['qcow2'], +iotests.script_initialize(supported_fmts=3D['qcow2', 'parallels'], supported_protocols=3D['file']) =20 test_img =3D file_path('test.qcow2') diff --git a/tests/qemu-iotests/tests/block-status-cache b/tests/qemu-iotes= ts/tests/block-status-cache index 5a7bc2c149..ade3d5b169 100755 --- a/tests/qemu-iotests/tests/block-status-cache +++ b/tests/qemu-iotests/tests/block-status-cache @@ -131,5 +131,5 @@ class TestBscWithNbd(iotests.QMPTestCase): if __name__ =3D=3D '__main__': # The block-status cache only works on the protocol layer, so to test = it, # we can only use the raw format - iotests.main(supported_fmts=3D['raw'], + iotests.main(supported_fmts=3D['raw', 'parallels'], supported_protocols=3D['file']) --=20 2.40.1 From nobody Sun Feb 8 23:52:24 2026 Delivered-To: importer@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+importer=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=1703758540; cv=pass; d=zohomail.com; s=zohoarc; b=HTlS4P5rsoHL0dG5on/nHbOo4V7G1qxDtS40hNUgvd00cnBvgKSbFAsYe4fxZa3BRAxcNXJjdVgZUvyZV0onp4nPcaf3LXt2e1qtpHHZ5UX5ybz96vHq5Al4WCtlRkTRQSiMJp4fnppH0TBXM3gd5Kzkp+wVEYoweW8iFIwTHyk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1703758540; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L5qMnrtW+URLLSQA/qmDJG7cxeq/+eDCKAIuYlOL5To=; b=US1uhIj+VJc3iKyaccnFw+x5FZUcucrwdQ8GCaZlAj44cgPteWmlhi8WnthgcvT/4vzNW505yFG6B7RNUKVv2KdF4NprqPoJLcstUEfPSp2pT/tOHjxUmBSSL9E3kSgD7jWu7hgf59krxXrECUXJ36fqoXVYd2DeNKiBlHoWGwo= 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+importer=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 170375854044113.457720124135903; Thu, 28 Dec 2023 02:15:40 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rInOO-0005hD-2y; Thu, 28 Dec 2023 05:13:32 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rInNy-0005No-Tf; Thu, 28 Dec 2023 05:13:07 -0500 Received: from mail-vi1eur04on0727.outbound.protection.outlook.com ([2a01:111:f400:fe0e::727] helo=EUR04-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 1rInNv-0000fc-9d; Thu, 28 Dec 2023 05:13:05 -0500 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by AS8PR08MB6134.eurprd08.prod.outlook.com (2603:10a6:20b:291::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7135.20; Thu, 28 Dec 2023 10:12:52 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::60f7:3267:9f9d:cdc0%5]) with mapi id 15.20.7135.019; Thu, 28 Dec 2023 10:12:52 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GcsQlNU0duAC8oUUM+A2P6s14sfneA1COqGwVDhjOSwLOhOAIEeJ1AY2xH0cIWTHpON9/L6Hd26SdnxmkhhKOtuvmjzefUxeQ7/CKT05exzz+PPoyg+H8dIm0O0WzQOO6XpePKkpXRL8fpp0n5wWhqzgwLDOV8UEACb7VqqmBN32nPrRVxpuIn1rmpF+aXrIRrm22sEWRoSidEn2B7LRE5xpU5zAbUhs7FJHXELVK67BXPPlzv9w14egopk/lrBX3vupSMZkUGQvGoElNc8uLTzddcP/nENYGkBprCiu6KvR271j9b+FFHHdRax5OTueUY1cCKkS8s59d3PxcF3aqg== 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=L5qMnrtW+URLLSQA/qmDJG7cxeq/+eDCKAIuYlOL5To=; b=nQez4IiDt3FbgtwWW82NE271SMeCipRtnXsXgkrBugHbx0EWk44EjhLpRs30k/a7JXGTO21oA0U4PT+pI8JB500z+/YmI8HHddYTKReOgfixMZYHqFllctHa3i24UgMco1gZKfkZmH1zn04gTjgpvlQYTA6uFb4JnCoXlssvY4RWuVGCcKQbnyvRVWv0ElT2qQ1UaJuU+TrDjSJmk5R+xPpEpxLkDW6nEsYxHpOV4S6O2ZBeBQmnUSCSqo/mG03mdWrDFQkwANeVQ51cuJ6h4iWFIsJkkikwDQGO9JkcCIrFbMTB+SrMX0UTWRtD4OKvt9LxKrjfJ1VTcgsD0HLcTA== 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=L5qMnrtW+URLLSQA/qmDJG7cxeq/+eDCKAIuYlOL5To=; b=n4GuS25qSmj6djasGYXFTtLFywEEu1H5s/9WTewDAhoPG9taKHEtAYgSUgkGT7exNTHcRGK9fnwORiPLmqqEWL4cnbZ7HHhShJwltC2jVQ5k3rXqxCPj1kJD+Zl19BSMfK3m3xZozIpg8BeRpHqnvyyeiWVIZYJEFm9C5CYIH3/bOutRY/qRSKGJvLt1VLcr+mlJGb5O7e+LsCUJJejdbk/ceWBwKnFW+Nhr9xzuCLSlQeSaumBOgIuNu8AQlFOD5h68QujK4MjNYLGqGXMDGAzV++fZKZRY6AZea3jnwqGMu/tZUD3R4tTgZDXCVpVoHPu6zA3/+VP/3Rkto8kPgA== 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 v4 21/21] tests: Add parallels format support to image-fleecing Date: Thu, 28 Dec 2023 11:12:32 +0100 Message-Id: <20231228101232.372142-22-alexander.ivanov@virtuozzo.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> References: <20231228101232.372142-1-alexander.ivanov@virtuozzo.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0044.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c7::8) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|AS8PR08MB6134:EE_ X-MS-Office365-Filtering-Correlation-Id: ee79a86d-4659-48a1-16c0-08dc078d8d44 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: PBxxtRCjOObWRRghAZs5Z8Favm4okJyCH9wpiHRtjJZTGnNmkFdVCKGtVHhXOghCzKYsgA8l72gmurahbicK9PH9eMNufoYVAjq5vpa9KUpSVVODEmawsii0TZYecQvf8pYHxX+8GV4wDfqKnWxvXl31bfJh/IZVfACFz549N2hasFX04VTKdApdfVZceXfTaNNRYZbIG7niHEQfeJXe32duIpwrdj5fYr+zAqAItJWd0yyBAjB+gZArrsVr4y+mEjJZqZWBmPdFRpxb6NzIKWcv6csoKpN9WJnPtENqI/Jm789BTUCgDVb+1mkBhZOrgopI2cdsfYa/6oh57uGeajpDkEqbd8oL8YUpv0aRJfJG9uqqnCyKogwVxDRz/tBYfYs2DV3eB3XRH/UluXLanTpxNgcLQBsVlMTQuVb6a7SzjLSr2K5MtOZlU0urpfQaIFohkMR86wlLXmIORSbW0ObVcCtoKOuyev4weBuGcuGwkSeMaUBdSzYK5KkxektXg4jD4jQnWckXm5mRKGx/nUc8rbhHqzuN+6MrjfqbbZT9vHfai6jpyZ1hRNeuZSQa9KCBDCiqswokTzofuE9oKigapR23KTzCHnefe8so3doYZprCkAp4/WL6dJAOvgtn X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:VI0PR08MB10743.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(396003)(39850400004)(346002)(136003)(366004)(376002)(230922051799003)(451199024)(1800799012)(64100799003)(186009)(83380400001)(41300700001)(2616005)(26005)(1076003)(38100700002)(8936002)(8676002)(316002)(4326008)(5660300002)(2906002)(44832011)(478600001)(6666004)(6506007)(6512007)(52116002)(6916009)(66476007)(66946007)(6486002)(66556008)(38350700005)(86362001)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?a4QKKLCPLS1mfnQxkYRQNWPqwEYx+TePv8iDQvth5KCYdVXRmKwGj53ZFujX?= =?us-ascii?Q?Hx8y/2z7A7GBRjbsZDYL6O2NFsed2NeXXcryeM9P6DRJvTuRUmLn7yX37Y4b?= =?us-ascii?Q?LMNKyUFszvX4mRXUAg0xIFErNJPWXXKu2pDr4l6Ykp+Dnnl75rBBccgSxHW1?= =?us-ascii?Q?GDqQzg+Osx8RYyTTU1tmtAW0B0aNnXJNxxkoGmdmNHc8Ajih8Ct/xqB7Vms7?= =?us-ascii?Q?ddCQCCGeKL70zNt1e5vwCQy0uT1IEvyxeRSsVA/Mf+qaH16viVlO3XULgfrY?= =?us-ascii?Q?He0/qD6QzN5SP9s86KAhYiMUGSTBdHb0vaRe+aWWseMUMG0RNgdudaN6QZRY?= =?us-ascii?Q?5VDqopJfUW/Vz2FxO5fRA162/xVsIYBFCXoJqmXzvlz+wUR+PK3msijcxSNF?= =?us-ascii?Q?xNBTVIaL8lqfkmQZpJmQvhOkHqjHwk+eBvcR/GTIrB4shrms+HzKmQWrECdv?= =?us-ascii?Q?9RlmQmiwM7RdazIymAMDaapA/OQh9/7KzI9cLbMCExN1+SR1Z4HI2fkuu+U4?= =?us-ascii?Q?qqVHxxTwZ2+pcQLoO0oXGmrVWPiGWtVOGrmRB/q8sRMKML20t8Ooj7S9FAlC?= =?us-ascii?Q?MrK1ZVThXzNlSi7W602bKT+vhkZqfoggba+ZXQ+xCoEmO/IcQNwzIRJzmBV2?= =?us-ascii?Q?i70fQhyXw7Z/hlzmUd2kijTk6Z+3jMPwtfNPGlo0DMlctgo1KABGXb1mdrV9?= =?us-ascii?Q?6yUUSOmKT65MqWBDUra7PzmA4eBNn1Fv3eXDyCEpETUa/xXtv7Bo4+SsZi+b?= =?us-ascii?Q?ZgCp6oFmoMTjZQe11yfMv1LGloEkMPEDJ6pGBgM2o+bJRUFtRHqrXZmCh/no?= =?us-ascii?Q?lC7Y13Zwmwz5vBv5w33fFB4h3z8tJ6rH+SAKhs7fyw3Bqu95iTHAG1Oxypwe?= =?us-ascii?Q?Fz4X1YmsYJKbpACpXsAGG5ZneeaWVTFKGLbuj+vC6JYeQIhXkaWkuOu6dVsK?= =?us-ascii?Q?XoB+92I0A0qc0cUPrOHwqq3R4l+8mfpqPFaTJ7HZjUdmB/3+HniF0qjwP5e0?= =?us-ascii?Q?zXhMn6l3Ntk+at+U9Vgus1FzoowjOKYbbFuLdlJjW3JQ/yZ0QO4EJXVz3dkZ?= =?us-ascii?Q?rF4F90eEK18yoj2e+Z5a0JwVUHj7u/MW+u1UCgX/CbB8n53MIOFV5Tj7h4Zs?= =?us-ascii?Q?QPBKrgkCGUKXS8SfSF7nvoBF9mUzqPdiz+E6a5zKePzf9KtFgW1zu8c1wCL8?= =?us-ascii?Q?YbRrkcny5uYywxj98USQUN8GW4afv7G3g+AWVMAx5BoTRddcE2EdH363p48n?= =?us-ascii?Q?0ZL1Awjrvo9S41DyclWTjWxyht0U2wQYIDCbCe3LyNYyh8khVyaKGLPSUuR5?= =?us-ascii?Q?6XX0RB9u2z8WCd4O29Htx++3CgXc0WyORAcR+vleEwF6p1uh9nysSUNsmElQ?= =?us-ascii?Q?SnR1ddBEkIwMFEsgetkUzqPuDDGLj3MkdJWROjxT8kWUMrMTGN1znCPA08d0?= =?us-ascii?Q?mTv6XgCpWOlTlumIqCWbLZmt0gDYTAAYxbPh7JcLdxNuqPN9LP1Mc+JuMiEZ?= =?us-ascii?Q?QNH23GIC0UTW4JeBaP8iY84CAJGrR8eQyYKagaO3K7kqyI+8SFqQ2q1ur8s+?= =?us-ascii?Q?+jvNmhSi4TRbIGYz5bQ1Gv7h46QBBaWttv8118wLL7AfGJkXfdrHmTr/5e4R?= =?us-ascii?Q?MUGU/J+6PUiFNn2IsyV7OGg=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee79a86d-4659-48a1-16c0-08dc078d8d44 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Dec 2023 10:12:52.2708 (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: d1np1vxHO0GIx2G1v4bVHtwxKBtKruam+S26Nkhruw01D6SEza8k5AUry+tygifSO9chikE65uuYu0gjlIFiKXiXbmEr2LGlVSCto6TSpzo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR08MB6134 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a01:111:f400:fe0e::727; envelope-from=alexander.ivanov@virtuozzo.com; helo=EUR04-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, 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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @virtuozzo.com) X-ZM-MESSAGEID: 1703758540803100010 Content-Type: text/plain; charset="utf-8" Use a different bitmap name for parallels images because their has own ID format, and can't contain an arbitrary string. Replace hardcoded 'qcow2' format to iotests.imgfmt. Add 'parallels' to supported formats. Signed-off-by: Alexander Ivanov Reviewed-by: Vladimir Sementsov-Ogievskiy --- tests/qemu-iotests/tests/image-fleecing | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/tests/qemu-iotests/tests/image-fleecing b/tests/qemu-iotests/t= ests/image-fleecing index 5e3b2c7e46..dd940b7203 100755 --- a/tests/qemu-iotests/tests/image-fleecing +++ b/tests/qemu-iotests/tests/image-fleecing @@ -28,7 +28,7 @@ import iotests from iotests import log, qemu_img, qemu_io =20 iotests.script_initialize( - supported_fmts=3D['qcow2'], + supported_fmts=3D['qcow2', 'parallels'], supported_platforms=3D['linux'], required_fmts=3D['copy-before-write'], unsupported_imgopts=3D['compat'] @@ -61,12 +61,17 @@ def do_test(vm, use_cbw, use_snapshot_access_filter, ba= se_img_path, if push_backup: assert use_cbw =20 + if iotests.imgfmt =3D=3D 'parallels': + bitmap_name =3D '00000000-0000-0000-0000-000000000000' + else: + bitmap_name =3D 'bitmap0' + log('--- Setting up images ---') log('') =20 qemu_img('create', '-f', iotests.imgfmt, base_img_path, '64M') if bitmap: - qemu_img('bitmap', '--add', base_img_path, 'bitmap0') + qemu_img('bitmap', '--add', base_img_path, bitmap_name) =20 if use_snapshot_access_filter: assert use_cbw @@ -75,7 +80,7 @@ def do_test(vm, use_cbw, use_snapshot_access_filter, base= _img_path, qemu_img('create', '-f', 'qcow2', fleece_img_path, '64M') =20 if push_backup: - qemu_img('create', '-f', 'qcow2', target_img_path, '64M') + qemu_img('create', '-f', iotests.imgfmt, target_img_path, '64M') =20 for p in patterns: qemu_io('-f', iotests.imgfmt, @@ -130,7 +135,7 @@ def do_test(vm, use_cbw, use_snapshot_access_filter, ba= se_img_path, } =20 if bitmap: - fl_cbw['bitmap'] =3D {'node': src_node, 'name': 'bitmap0'} + fl_cbw['bitmap'] =3D {'node': src_node, 'name': bitmap_name} =20 log(vm.qmp('blockdev-add', fl_cbw)) =20 --=20 2.40.1