From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 3046F80474 for ; Mon, 26 Oct 2026 10:54:27 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69QAr4b4006855; Mon, 26 Oct 2026 13:53:05 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69QAr4b4006855 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="hSCYcEE3" Received: from mail-yx1-f69.google.com (mail-yx1-f69.google.com [74.125.224.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69QAr1of006850 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 26 Oct 2026 13:53:02 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69QAr1of006850 Received: by mail-yx1-f69.google.com with SMTP id 956f58d0204a3-679b96a1e29so4797840d50.0 for ; Mon, 26 Oct 2026 03:53:02 -0700 (PDT) X-Forwarded-Encrypted: i=3; AKwUvBw28JaF6DvTRfTstyvNX6QCHICQljUGTo+IuSNMzCfV4cHFmXpsKjSsPFLf+LUtkSsUgtb40w==@openvz.org X-Gm-Message-State: AFq9FYKAkLXhCzsjkUT1t/Y17GFJVAjTDY7vRivSA7Pt9mTei7bUykl5 J9aG2CRsLuDp+BZAzdSLrfv/kHrDH6nCalJaPm0goJgxcvOSlCDjf8mz+u/ZqB9S+v8180aCSVk aIBl2M0aWb/UlWuzxLRrVjf5++wUTa0tfgTQMTobZ4isumqGnBO7vRA== X-Gm-Gg: AYBFou2AOcNZk+pwonTCKdsE1oRodRax2PU0TOO5Csu2WJWC8Dvj4IzoajLuSGyx7Zf +qvyKVDO5N5gAc4ARhW88OY1K731/z/tcLHr+LSvgdCxntyEoQF9Zvop2DKW7vYH4AJPTvZIRGH f05YFfHlowgprQ0BHI42tb+/rqdH2C/BQKjfwlQWwOW36GYkILdfUIGy1d/SOu0KrAGzoO3luIR JZsI/z/lP0tgnJXO8r14SdRq/MHl/tIdb1b8yoLIfShpz19KsIisbstl/kUK4amVlkcOBp81Yb3 4GOCYRJ4//ulCaEYcyOabA38tM19F2cent2BcD4Ajctb2n2Lll+uZZjYQj9QL6UJ8tiC0pVpA2c erb3n0zPieA7iPwdjbqcrz+nuIXsWIRGLe8jnppZcM1h+slhioVaEB8THUlUXBUE4WZKH97HeKb TxcJKXFMfkHwuv627lCe4lf/iwMt+uxuCIMw== X-Received: by 2002:a05:690e:1448:b0:67a:4da5:2d31 with SMTP id 956f58d0204a3-67a4da52dfbmr5079194d50.67.1793011981333; Mon, 26 Oct 2026 03:53:01 -0700 (PDT) X-Received: by 2002:a05:690e:1448:b0:67a:4da5:2d31 with SMTP id 956f58d0204a3-67a4da52dfbmr5079185d50.67.1793011980689; Mon, 26 Oct 2026 03:53:00 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793011980; cv=pass; d=google.com; s=arc-20260327; b=OBbSTa5pSoCXbwnHq+pNkBJleNjUCEvbsxMzcnqUNZilJWyp/em1lT/LgT5Fdp2w1a AhmphXDkEKnSKZAA/nzkFprmi5jvv0gc1zn9uBW864ShwjjQJd+7j0GcJbC+7TjglXGW 91aMITjq7hNuAnsTjkDwu1xhQ/SWCuAJeiHryWjPyPZ0E2A3/mBRsetRSiNYxFvQJR27 olibPD1q17ajZ+BsneARlEd371LWJ+IDc8bnFHfTPCX6XFDYcLZAFJFNkDVEBCiOC+fE engkYeTOQxcqnyBNzT1h7DaPhuFW22/wkLtbthwF175xVGGNkrr1Nqlbyrlxa8+/JvD9 M46g== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:content-transfer-encoding:in-reply-to:from :content-language:references:cc:to:subject:user-agent:date :message-id:dkim-signature; bh=5XQN5DIJwudrV5sgRrvE5FBiOFFMh6m4WkUYAVU57hs=; fh=asFCiatKj0KqxTdDrZobB2QMH0d8EY07vfO3ArLWY04=; b=NIawdBjeabNeUtgKMs8xBrwV4YWKzShqDcHeokwrQepeJtO8OmQrB4Hpu8aigEjsoB Lh+TuebZm8GfUHs2rroPH+YfNjYEEhYIbi769oeP2KMHTg6zCy2tjIlRbjX7AusNU6X4 i8d/obtBifLsHZdR5xh0MS+dEcZAELcd6OtiEWLDIleu2s4VcjDbsOV7r6bu7T9tvqOo MhpAsNA97vomPdYhpm1xk1mbWsUirt0gL8zMUGN51RrDzWobZ2Li68PovgGi6dcfm/vw yOcuoMCOl919Sgtxio4qNZXPPIDzk6R5D8TL4dBl4fyFCOCTmDH4YWeYVuE0l3M5OeFp 5qNA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=hSCYcEE3; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=andrey.zhadchenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c200::3]) by mx.google.com with ESMTPS id 956f58d0204a3-67a461f66d7si4943791d50.199.2026.10.26.03.53.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Oct 2026 03:53:00 -0700 (PDT) Received-SPF: pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) client-ip=2a01:111:f403:c200::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=hSCYcEE3; arc=pass (i=1 spf=pass spfdomain=virtuozzo.com dkim=pass dkdomain=virtuozzo.com dmarc=pass fromdomain=virtuozzo.com); spf=pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) smtp.mailfrom=andrey.zhadchenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vlmS9U6YJnXexb/Z1xVFnQdQc3MX6VP3CM/Pn3Sg7V/SUB85Quyw4KERrqJsv6ucrKdw9rzIeBUhB01YEmuJGd26mf8YPLWS45OOjiAqNveiIuGl0+rJBO6hqxbzUT56bfzptGQvlXS+69BtUj6rCFLGoKPtPaKkzd1u3SqsddH/pbdorzicY5iIoMrUceIHH3LNlz2jocZG4UCoCh9Vt8TkFSbAiJQtS//DjI9hHnlAISQzzO4yZwmzyC1eFOYtcvFoNrjd6zMWP1ZBDqBmoBdHEuXdvGueg2yOPBFMkjScAO/J14UQAIwG17ZgEwi6D96P+w8Lt04EgQji/1fgow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=5XQN5DIJwudrV5sgRrvE5FBiOFFMh6m4WkUYAVU57hs=; b=dcp5ynqWNm+I5gGxe9xQaHBZ3VpAjklRu8qL/i+7WMv3/01aAcdA1ApVX+jsJlp4P5k3mgtYYZs11QQj6LD42JNibR7D20RkS1vgJ951n83ngyu9JPgB3qRLre+Ofq+xRZMWYeA93Y2gj8lIgEGTZTjzKy1WYIz/D7elhTAY2tzrPWuLpOdb95xjzfsIk6aEIF9fote/ssJmKLLlLCDWSamSNBZwNgbpzM7SYHL3nHPbrdF2wEWOdMYH+/ZuZNj5zuReqRiJTOlwRog+lU66XfpfuPNciglN4CwAu0XXmLLuQLZ6zgEGX5sW7OK2cPi0kP4wcPNPKsAHjLwtxTdk/A== 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=5XQN5DIJwudrV5sgRrvE5FBiOFFMh6m4WkUYAVU57hs=; b=hSCYcEE3Oz5PtR4dYfOspIT04mPvVzedQwss67B55Y/6PGiLF5WZYMPvrwMJhxSiTPcJiUDCr2TF3AxQvvZ1Zn4Ji65AHLbt8mfDmkQ71JAysV4w1A8tVv9l5BDJDTj+R3/A6efNs9CT3Gvo/ZtQNRthH/nmgaNVZAynkdMVnw+HtyEx/loXkwnGaoyqSpwFHpiJCdn4BSQROzo8mMA21JDyoPkD1fH9qBzO/GBE8xkzthgEG1h+cHNqBQbX2/gQjj6aw3HCZXClOF7pswdo3AjQZRcc5garVWlDEwq7TWJvi1RyEFKxTQbCDgLjNUHFw5DJhhPna6oIhNHKTs9Gmg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from PA4PR08MB6061.eurprd08.prod.outlook.com (2603:10a6:102:e9::13) by DBBPR08MB10555.eurprd08.prod.outlook.com (2603:10a6:10:53b::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Mon, 26 Oct 2026 10:52:55 +0000 Received: from PA4PR08MB6061.eurprd08.prod.outlook.com ([fe80::c3bf:e107:b1d2:6a00]) by PA4PR08MB6061.eurprd08.prod.outlook.com ([fe80::c3bf:e107:b1d2:6a00%3]) with mapi id 15.21.0546.021; Mon, 26 Oct 2026 10:52:54 +0000 Message-ID: <9d9121bf-e06b-48eb-acb2-eecd192b2786@virtuozzo.com> Date: Mon, 26 Oct 2026 11:52:53 +0100 User-Agent: Mozilla Thunderbird To: Alexander Ivanov References: <20261022145032.2128679-1-alexander.ivanov@virtuozzo.com> <20261022145032.2128679-4-alexander.ivanov@virtuozzo.com> Content-Language: en-US From: Andrey Zhadchenko In-Reply-To: <20261022145032.2128679-4-alexander.ivanov@virtuozzo.com> X-ClientProxiedBy: FR3P281CA0092.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:a1::12) To PA4PR08MB6061.eurprd08.prod.outlook.com (2603:10a6:102:e9::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR08MB6061:EE_|DBBPR08MB10555:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ac83247-61bb-4aaf-12c6-08df334f49d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|23010399003|376014|4143699003|56012099006|261009223027099003|261022115727099003|261022075727099003|261021121427099003|261022105027099003|10067099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: dje5MkAe7C+MveNwlVZBgdqLiAi/Y1PCVPerwFBR2bdOpCdQkXCj9EAmD0IK+P4C/zZStHhrBwSppP8b8wVMRM2Km42DrO+W20Sfo24cn62SA5ZK6hlsFOGUuhAQ1oMdE1n+TeRIyL1DDFxwUXKjw/zgNNJc5X3UdxcNe43YGH+ZVyx5AgHs/MZc27ytM45//PjUeAQr7MzV9waLctM4cAV2ybtlIceHCmb5kpxVZzkT8ILz7d4Kkmzop3o0xpunwSiF2/wdpWm9fmO9548nbvI7bZr1oUoY2e1+4fyHhBLP6f7WvKxWM1qC45Tx/lACawkIF9Mw8Jt0xfa0y/d8xJ4YHlArY4gVCSTyYO6jn9/3LVwpJUoscD+dUI1Y8cKwxmk7W0I64PfzXzYZXF2YkV0XQ1FMSRcFwC+QheoEkskJ59dnbloKaqCESnsvINbWnKB8S94cr+Jea9LTpizeqyJ59m1KQo1zaNSUEhjbpsVBjttMrnbPc1I9To3SJNqLCGbPWFKaWRd/u6iMLCxuIPjGk3m5tZJhRnRz0Kw8Z/Bk4qPoVCBa5Fi6awKaGIdRTH2GJqE4iTeyz/s1V3SH+cEvGr4BuRxFsWEScUkYBBtOHlp3qARcjlwRAztOT+hp X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR08MB6061.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(23010399003)(376014)(4143699003)(56012099006)(261009223027099003)(261022115727099003)(261022075727099003)(261021121427099003)(261022105027099003)(10067099003)(18002099003)(22082099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?SnJlakdHU2EwSDJzM1Vnc0VQZTZTWUVUY29lS3NNNDdWaFgvZU1RaHFJVkQr?= =?utf-8?B?NERObnN5SlNFR3MxcUtvSDlTZ0IzZ2dGMVJEVkdrMXJ4VndEQno3N2VWditt?= =?utf-8?B?a2w2UmRoY0NNb2JqSUJlUDgrZGJObTRBN25jbXZUNGhtWUtlTzlTNTBYRmlY?= =?utf-8?B?dG1JR2RZbisvZU8yZjBYVEJIKy9La2VWb0dRLzNjRXNUN0NqSFJFOWQ2TVUz?= =?utf-8?B?Q1VnSWFmdmladkVFSFo0cDUxZDBxOFZtSkVwR3RVcmxpM01JdzZEM2ZZUGlG?= =?utf-8?B?Zyt3MW5JT3puc1hndit6SjVOY2YwT2p1WmpHb1hYWTNRSnpSblRWZ21QdUNE?= =?utf-8?B?MW1wdExkME40UTRlTlhiZ3RITElPa1NCUGlyZlFDZndHcitSSGZUbVZla2tq?= =?utf-8?B?bE9OdkpEVE1Jcng0VE14MnE4WkxCT3FVVVlLdXFzdDlyL3oyZ20zSS9pZGNn?= =?utf-8?B?U1lDSjMySHBvTDREZnlESkJSY1NiR1UxSkI4N3hvT1BKblZCQi93dUZvQUlq?= =?utf-8?B?MlRldkJ0L2RFWHg2MUxjR2wyYSs3TXpOQklCTUhZV2VvRkp1cy9reVJSY0l3?= =?utf-8?B?N2ZUZzNmRGp1b3JqRmMzSlI1emE0UlowT1YvaHFXT2IyemhLSTJ6OWNBUVh4?= =?utf-8?B?WG9pTXZnRENBVG1QWHhuRk9qNWRka1hOeDNaNzl5MnVUL2JiRnV3dzBWT2FO?= =?utf-8?B?TWdVdXhrYmxrTUxBUW16V3JScmYwQjZlTnFWYTRSaE9RL056a3Z5RmpWRkEv?= =?utf-8?B?TGkrQnlXdUNmTDBEU1hKOHNDeXQzVGlNOGFqQi9ZQllCNXJWK1ZabFpwVW82?= =?utf-8?B?ZG9Lazk2YWhyNWd0R2laelRraHNaUFdHeE5qMmNhcE55bDA4dlUyVWVSSXVs?= =?utf-8?B?RkIxTHZxWE5abUhTdy96Mnk1TVRuaWRuNWk1enB6UkwwZDl4bHZQNUZqZERZ?= =?utf-8?B?bUJhTjJZemhKSGdlRGE4dC84b0FLVVlDem0vbnZNWGgvTVVDSnBRNnhGMGd6?= =?utf-8?B?eStLUGFCajJFK2x1RzdjcWczNzFtTEx1L1Vid29zQVFqSEFzUlh0eG9RZ2I3?= =?utf-8?B?QkZzM0trbGM5dC9hbUVpL3hXZDgvYWhkVGJnOENSNFdGYWVUVVpwVjZkMThQ?= =?utf-8?B?NkR5bDBGK1c4WkdUcEtVakxqN1A1V1BsSXhrcU1iUjBBaTJITWVzUGxsSmZR?= =?utf-8?B?K3NBazJraFRtT0t3NHc5Q0c0eW5OZUhDZ0dDdXlRODJ5SHVGWEJSRy9zaUhj?= =?utf-8?B?RHFIQjRFQnpHbDkzSEVHQXJSNzdmbm00aXNVOVJ5TEdtNWt5aWhLWENYMG9z?= =?utf-8?B?clEzejVVU3hCQUdEbFgya29MWkRjSlhEWjFzV21Sbyt2MjVUWWdvTnpMdzYv?= =?utf-8?B?LzZQbzJtR2tBYmRjUmdqeW5Ka081N1FqOUN0ZWFnbnNwd3U4ZE1rampIcjl2?= =?utf-8?B?S2xSNU1OcVR3anRSUmo5cmk5dWZ0alB6UEczZVk0UmtRUDFYa1ZROHlsWUh6?= =?utf-8?B?UVo3aUNNV0xaVjNFMFlza0tpbkRGUytZU1VvWW1DZm9FdFBNdVVFWDFKRElI?= =?utf-8?B?MGdnYXp2RDhQcTdMZ0RIeGVUT25Bam1FU2pJQVR1cHVZTkhvU3d4VFVPVExU?= =?utf-8?B?RWlFK2lEdVdwK3dwYTlLLzRBYVZuNWtJNERDY3prZGNoai82NnhHbUE1dUZY?= =?utf-8?B?cTRLZCsySWxBOU8zVjFRMmVGU0tsRVk5d0w3RlNBTkE3cDR1bW9uaXNLN1Y4?= =?utf-8?B?UzVkTGZqclBaWEsrVWdDMEttK2RyK1pFWjJoT0JkVU9jbTlHWURnYlU5QVo1?= =?utf-8?B?eUJRM0c3Y0pncmpnVC9pYVNjQSt3T1lHRTFjVnFLVjVyQjlkY0FVZks4c0xz?= =?utf-8?B?Z1d3UVJzVGdmZEFFNWZZNmtvbzk1TVJsK2FQTmlUQVEyUVc0eTlmVmtyNnVv?= =?utf-8?B?SG1JVFZ5ZFhaTWsxTnU5SEJMeFVZdjRZeDREcDBFR0c5M21rZ0FYdFdjMWQy?= =?utf-8?B?cmVLMmNSTTl5dEhla2R4emZMbG9KNDMrRFVrdEZrSG5Fc29KWDVHcmplQmw0?= =?utf-8?B?SHE1bXYxTzl6dERhUEVoQlZ5RnRaSENRVXV1Qk9xUkNGSUI5TTdyQXdSay9G?= =?utf-8?B?MDBURkZ4d0pQbzMyYjdYWk1odTJOVEhnOEVMZlM1RkhZbVV0Q0lIUEovdmgr?= =?utf-8?B?YkhJVXRVZmVNdUo1UVhVQnB2UkFKY3lJK0RPVUJ6MG5idEx6ejd3cTM3V2Vy?= =?utf-8?B?LzU0cU54NzlzVk5pRnVRMVZIMkdML0VWWCs4WGYzOGxVTjZpazdjM1JnV1M3?= =?utf-8?B?QjJrT1Y0Z280bVFqd0dFR1JocGNQUVlVV0dmcmoyaWs3N2srS1Y4Z2hGTlRD?= =?utf-8?Q?vY12MjcuvvwLXgdo=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ac83247-61bb-4aaf-12c6-08df334f49d2 X-MS-Exchange-CrossTenant-AuthSource: PA4PR08MB6061.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2026 10:52:54.5339 (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: tETB2CGoPeP8F9GZW2jQiIcuwCu1rll+wpTuOcocen3LstE31LK2Pylb3xTmZbp7JZNVQ15DeF2I1J1Mvs2CfW6XXV75zS0QFXUkB03Ndxs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10555 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v7 3/6] dm-qcow2: extend the file in place_r2() before linking the refblock X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org This patch definitely solves the problems but feels too hacky for me. I think it will be better to step back and rethink why find_unused_cluster() calls modification function (place_r2) while being named 'find'. Won't it be better if we can notify allocate_cluster() that we need new r2 and it will punch space + call place_r2 for us and then retry find_unused_cluster? This way we will have all image size metadata bookkeeping in one place instead of having a secret second 'allocate refcount cluster if we run out of space' On 10/22/26 16:50, Alexander Ivanov wrote: > place_r2() links a new refblock into R1, but moves neither file_size > nor file_preallocated_area_start. The refblock stays at or above the > watermark if truncate_prealloc_safe() in allocate_cluster() fails > after place_r2(), or if a parallel mark_cluster_unused() lowers > free_cluster_search_pos before the second pass of > find_unused_cluster(). Truncation of preallocations on suspend then > cuts the file under the refblock: R1 on disk points past EOF, and > the next session gets -EIO on allocations in the range it covers. > > Extend the file and raise the watermark to the end of the refblock > before linking it into R1, as allocate_cluster() does for data > clusters. > > https://virtuozzo.atlassian.net/browse/VSTOR-148171 > Feature: dm-qcow2: block device over QCOW2 files driver > > Signed-off-by: Alexander Ivanov > --- > drivers/md/dm-qcow2-map.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/drivers/md/dm-qcow2-map.c b/drivers/md/dm-qcow2-map.c > index 78ee7cf5e881..810dd22425ae 100644 > --- a/drivers/md/dm-qcow2-map.c > +++ b/drivers/md/dm-qcow2-map.c > @@ -82,6 +82,7 @@ struct qcow2_bvec { > static int qcow2_handle_r1r2_maps(struct qcow2 *qcow2, loff_t pos, struct qio **qio, > struct qcow2_map_item *r1, struct qcow2_map_item *r2, bool compressed); > static int qcow2_punch_hole(struct file *file, loff_t pos, loff_t len); > +static int truncate_prealloc_safe(struct qcow2 *qcow2, loff_t len, const char *func); > static void handle_cleanup_mask(struct qio *qio); > static void process_read_qio(struct qcow2 *qcow2, struct qio *qio, > struct qcow2_map *map); > @@ -2088,6 +2089,7 @@ static int place_r2(struct qcow2 *qcow2, struct qcow2_map_item *r1, > struct qcow2_map_item *r2, loff_t r2_pos, struct qio **qio) > { > struct dm_target *ti = qcow2->tgt->ti; > + loff_t end = r2_pos + qcow2->clu_size; > u64 page_id = r2_pos >> PAGE_SHIFT; > int ret; > > @@ -2100,6 +2102,12 @@ static int place_r2(struct qcow2 *qcow2, struct qcow2_map_item *r1, > return ret; > } > > + ret = truncate_prealloc_safe(qcow2, end, __func__); > + if (ret) > + return ret; > + if (end > qcow2->file_preallocated_area_start) > + qcow2->file_preallocated_area_start = end; > + > ret = qcow2_alloc_and_insert_md_page(qcow2, page_id, &r2->md); > if (ret < 0) { > QC_ERR(ti, "Can't alloc: ret=%d, page_id=%llu", ret, page_id); _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel