From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (unknown [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id 9BABC802A5 for ; Thu, 8 Oct 2026 10:59:21 +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 698AvsQd022906; Thu, 8 Oct 2026 13:57:55 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 698AvsQd022906 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="nAXdlGsH" Received: from mail-yx1-f72.google.com (mail-yx1-f72.google.com [74.125.224.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 698AvqaF022902 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 8 Oct 2026 13:57:52 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 698AvqaF022902 Received: by mail-yx1-f72.google.com with SMTP id 956f58d0204a3-677c2db10b1so11204874d50.1 for ; Thu, 08 Oct 2026 03:57:52 -0700 (PDT) X-Forwarded-Encrypted: i=3; AKwUvBzLzVOxgvLnO1HrrJoAyb9do+TplzEhcHtu3I+tP2fmGpPUafnZVM6ZZW3AfoZjUuKi3tAv9Q==@openvz.org X-Gm-Message-State: AFq9FYLCm4iP8dOQSHQoIeGT9m6b+i/wv4CoBW6edZiUpi9F4nTMExdx QfE1uUkdC+vg/r0R6Z+hlov0iQ5w9Byoxsrv5RuFWSq33SRP6haz/cKB7x9HCx0sZJBZBAKlqw9 3op28IXhtTR/Z7JqB8CUhWPvklessEBoqc2YSJFb+SMFRRnyxv5YRbg== X-Gm-Gg: AYBFou1EqFanT4xh6Fx8mx0zCMPkHG6JeFAL8clinBwHNEJukNqnu0accDfn1kIBn4G b50deNJ03SNJYinQTivDaiSJw/Ypbay8F9sjqRvp+w2nDq4OhBs3gY88xeDj95H84b6X6bh8YGX RHrAi6q5VB6TCJqJEeKYG4jnCrLYvt5FIF/IVsma7le5QKMNrlIFHv8CyQzWwdWljRdhgxP/cbO uVem1yhiUrmdLX5Qzr78jYjaYJTqtY2+zC9Gm9hqBlEmO1dc72aCYNAbddEhLKNRM2YERR8PljH GJVrW3GZcJS2XpaOFuVfASf5UR7ApOHiUgY0evzYL5MnTzeDBytaTKd2UDWcp3P2Q1XO2ijUX2B HZt8dSHLrSpJ3j0Hf/gAlQ8wA3t6LqNIB40akfja2Qbn2UQh3360zJsYQdHlN1cW35/3hKdTNnr wGGpuan4VePtKMacUP X-Received: by 2002:a05:690e:4006:b0:671:5206:72f2 with SMTP id 956f58d0204a3-6790a3e593cmr2425783d50.56.1791457071837; Thu, 08 Oct 2026 03:57:51 -0700 (PDT) X-Received: by 2002:a05:690e:4006:b0:671:5206:72f2 with SMTP id 956f58d0204a3-6790a3e593cmr2425780d50.56.1791457071177; Thu, 08 Oct 2026 03:57:51 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1791457071; cv=pass; d=google.com; s=arc-20260327; b=gaVlHAMspq+2DGA4DNcbBu5ZwVeBuB5wPRnQsAZqBniBocEoAV0hYGD+KNhcuvneu7 nGF+LJ4cB002K2UhqeevoF1Ho2HJmKIGhzQa0T0EGZ0+IoGHyZj8eraNYK/t7TLYpDYX sFeTNVJ1bcKFPVt06J4yjnGw+YI1Z/Tx3zKa222OizTi9Tg5AWf46YUwMdmbRKOj+w1v RAWxEpaGj2GrxB1WkfEyUSvBk/kYhOHzNk6Mw6t7FijH460YK0xmBdqvupHe4nzGw7Sn rpTcL8h9JkakCE6tY27MKk1HgiEji5Sqxp46L6a3Jl75cmNyDomusDNck8fhcb+4bQAl y3Rg== 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=tgeKsVjNpzQv7ipHUO7qe7vD40YTFhz8dpZ1yG8rMMk=; fh=zDzp9K1JQxHzXr/cxQJWrJBfb67rzlcHr18fq66U2Nk=; b=ImHnPQAx8YkC2qxKCn1xXEkqocjGahMiZt/Wwd7MXfY3CXxrzEZhXU98q9MygQWpBi esTimOfANTqvy+wMjL9UqpQcDF4DwkHYimndTjgnWvaJBCrpmgKmvVXVVMnQd7znVk5+ 7t4PsLWXF2Q2bOznaNBWSyZZy5mTy30QAxKjdW/KkS9evCuYpIOyahDZNAIeQdi3A8Jk nWou+hNoug/2gWoKUAJ0vcPRIiP6X2m++cZ7bjLCdRpmunE0YxBSZLWMEAT/93W8+qja O5HMFpFwYTefwomAGft6S0y0SCvKnL+553UWSDkp7+YpnMfSa3UhnJHwNQwobsBNM+ps ga1A==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=nAXdlGsH; 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 den@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=den@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from PA4PR04CU001.outbound.protection.outlook.com (mail-francecentralazlp170130007.outbound.protection.outlook.com. [2a01:111:f403:c20a::7]) by mx.google.com with ESMTPS id 956f58d0204a3-6791b0c0e36si1023456d50.228.2026.10.08.03.57.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 08 Oct 2026 03:57:51 -0700 (PDT) Received-SPF: pass (google.com: domain of den@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) client-ip=2a01:111:f403:c20a::7; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=nAXdlGsH; 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 den@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=den@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=waiUkw6UTbW1LCUn1DuGJgPtYXva4yo+u2VAQIEProAiKairDZcAsPY88fHQeinkJBqyl92J6ckALOVErTZzQmxKzBA4T1NXaKNFtt8iNnzkMBw+cRl97YjTC1WAaxxx7sxpfiqqMAH0jjJYQXmAY+/y5Ha38HElFXDrAU+9QuGuA6SGVCYoqUjd0w3a3Y1VKBPbRxXkjo7Rpw5wulTKgcWjAlBo0LLYf7Tb1q5+tIxwy3nDQO1hY+v5jD9CtsCAMLvAOfmpdhEJXpUNsPHWtRwkwQM1gpa70AtxJjdATZIQDbkcskyFvBi7ZGuiGCaJLFXVavc16utpZ0DizNDt5Q== 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=tgeKsVjNpzQv7ipHUO7qe7vD40YTFhz8dpZ1yG8rMMk=; b=TLyemFUXtlZy58g5N6nHC/T64QyWT29Ly/rQeLBf/195apV7oErbXkZ5LZWzBS+ap5viVbDsnSd2BQ0YGmG+Cq8cgkPvK8FAmNGJp50/Qh6GioYv2LDWkz1mChKiRgMHUmo5/Hrd9mtdz8ZLKEmryQ5EVRflF7n+BdLkkKNZmDiPawewsiwoDcLbs9PeHz3oqnOQ/xxumwM31KSArzHWdCkOPq1WZw/l6WC8cbCG8m0BRGq+k4xIqeVp2vX6qG3lEim588/JjzbuytoJm1hfw6R00dpezA3VnOwuLO4Nhc9Zw0WVCho41Lh1SBVg2Pr8+bHOEysQLJo81LpEmylzGA== 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=tgeKsVjNpzQv7ipHUO7qe7vD40YTFhz8dpZ1yG8rMMk=; b=nAXdlGsH/4QftPltScMjq0u6Hffd58x1fRagOgFqBNrwNqys+Xr6g7GTgPWmnfEzga2xZxvbl1921KWuoXsAYKVf3XsXhwFOjBlRbyUhdULD66hSK9MhFHL5Ply12P8jYwhKfN7ULYz7accnQAt7hI9FPY7kJYtwGWiSQPL5a0Dp0oiZcZQFKSqFN97N8gypiBn/H+npYOIVotA8bl/WkWV8mtWKSzR+Pn0aPqiVIzBnRKMJxrq8zbrbomhsihreb4nZBJVoF/HyFZP3vzMhwhnVyhdcz3V1Hpm4eFC0+DHjYORKQAzSKxCFHSi3SnSH1QfMvYiurH8P6nMwDhECGA== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) by DB9PR08MB8722.eurprd08.prod.outlook.com (2603:10a6:10:3d2::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.472.14; Thu, 8 Oct 2026 10:57:48 +0000 Received: from AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd]) by AM9PR08MB5892.eurprd08.prod.outlook.com ([fe80::94bb:633f:1f55:4bbd%5]) with mapi id 15.21.0496.015; Thu, 8 Oct 2026 10:57:47 +0000 Message-ID: <682d6456-160e-4003-bc56-5eefb5f952b2@virtuozzo.com> Date: Thu, 8 Oct 2026 12:57:46 +0200 User-Agent: Mozilla Thunderbird To: Alexander Ivanov , den@openvz.org References: <20261008100449.550882-1-alexander.ivanov@virtuozzo.com> <20261008100449.550882-2-alexander.ivanov@virtuozzo.com> Content-Language: en-US From: "Denis V. Lunev" In-Reply-To: <20261008100449.550882-2-alexander.ivanov@virtuozzo.com> X-ClientProxiedBy: VI1PR08CA0207.eurprd08.prod.outlook.com (2603:10a6:802:15::16) To AM9PR08MB5892.eurprd08.prod.outlook.com (2603:10a6:20b:2dd::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM9PR08MB5892:EE_|DB9PR08MB8722:EE_ X-MS-Office365-Filtering-Correlation-Id: 4f7b90c8-da48-423a-6204-08df252afd1b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|1800799024|376014|366016|10070799003|18002099003|22082099003|56012099006|10067099003|4143699003; X-Microsoft-Antispam-Message-Info: WTnV9FjnaFxhW0vjxT2lBWlnNAaocb82GzMUE6d4d1Bude9MOy+V1jl6+U89wWDCeO1wj2uB4RZ1ffjAuD+cpo0KCT8Dkgyfrvpuc/EBgarno3c4TpBkml+kkd5L5M+8pUHzwaXViU/pJjAjLutR3HjnK+x/iP+Xc/YwtS2d05zRGHh1IdGyHUXvdn4z/b3ueuYluXUXQ8PTlApr1cRjGg0Zj1a7vVxFPbtYCoEpGn9cZe+3SncfSvLpHAq8/HBlIor4QFf0hQrERtl8lG15eCG7a9f06v0yC4qt1foyGAc2Nav75I7FFLXeYHplRPEmoWu3E1vaCVUSs/mRAmzmmqP5DN3zpp+zFKgBfF9w6JasOZigSHnh/d+pNCGmm1gmciYlJVE5RNVJGY11yiwBngO/8Jj8rBE+zxqbS+2FGvbs+MnRxFXIa+7tyW9uYwafdkmNgkQMkVP45AJATUXc9LeBYZ9jKUHg7HfD0GG/uv4tKF0GABKPJvexJ5jDf8fIfkBZ3nDFeX64TJL7vcaJ61xHiWCUxOzWY78pJgO/udc9Bz9JcShP4eeKFeD10fLxTI8UBoAV1yGc3sFjDd9yH5/PZaGs1ewNK/xav1drzwILLgKX2v5HJn8pxeitpM+fSPECgrhalJ3E6wWu5HgPhD7dgUgI+5F+i9Q3T8Gfv+w= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR08MB5892.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(23010399003)(1800799024)(376014)(366016)(10070799003)(18002099003)(22082099003)(56012099006)(10067099003)(4143699003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?TG4zanM2MUU5ZlBBSVJmeU5LTjNEaDQwSTdxZjhhdTJpZmNabFYxS3NBYWNR?= =?utf-8?B?YWg2QklMUWI1Y0Z2S0hyazFyWnZMUktyb0RtNDBFNVNrM25QZ2lySFFGbUNJ?= =?utf-8?B?RzJQNSszdFlhamVoZlJDVEZweTJpcy85eFcySWk3ak9naWlSaS9YK3FhUUYv?= =?utf-8?B?UGtuTXVFREw4NEFtWXM0eUR6emNBMitXMmVTT21NYjkvSkdVaWwxSndwbXBw?= =?utf-8?B?UHpmcksrYTF5RzRXcGZ5L1RlWWl4U0g4c1ZJd2NJNzJJYk9LQXRhMU9SU3d3?= =?utf-8?B?MXhPUmhESjVIUm1TM0I3SEY1WER2Qzk0MUJvOHJPZ296M1lYdGg1d0d0ai9U?= =?utf-8?B?dTQyaUJUUm80UlF2WTFtZEZSa3hjbzRjU3Q2b0NwdEpEWTZDVFc5Vzhmbkkw?= =?utf-8?B?V213dkorYVEzeEJNMmhkdmpGT2xlWEhzOW1GSFMrSGRMbS9PdktzK3FBME9S?= =?utf-8?B?S2I4OEw0czhYbU45dGZzbEExd1QrUkJSZ0VhdjJtdjA1c2dTZmVBYy9IWVl2?= =?utf-8?B?MmhpZnlrRHl6Mk4zY1NHcDc1NThrT25OQVNFUllkMDFQSFg3MmQ5cWJ2RDNS?= =?utf-8?B?TXQ3WFduR2c0cG85d2plYU1QN0ZGMXlYYksrOFRwaEV6N3U4U2NybWR1blRl?= =?utf-8?B?dTdMNi9Mbk5reFRMUjFENGUrcGRWR3hETlZrTUh5YjlxajZlSFB1MVdybm5M?= =?utf-8?B?bXhXUUJodTAwK2ExaHNWTGtBNEwrNzhFQUs5dmdYV1k1NS9ZQmt1eS82VUFF?= =?utf-8?B?OVFpSTNsTDNBQUpsZnhVSTVxOGRhRVNRK2l2RXpyT0NncXBzdmpaS25jbGJh?= =?utf-8?B?dG5FdFBHQVFQdmN6U0dyRVg1Tm5JN3RnRWJ5a0VYaTZlYVV6UGxNTFA2OTI0?= =?utf-8?B?VDlGd3pFQTFvNGtaT0VqVWt4ZVlRMll0Q0NkOW5UZEcxYThWdVYxR01vNzNx?= =?utf-8?B?aEJIbXNPbnJkYXVDVjRqWnV2ZzZ4NkRFSUhtRmFoR1lFTGE1Yms1YVFIY21X?= =?utf-8?B?SzJtOTlOdmxLaFRoYnVHN05BMkRuMmV6MSt6b1dzNlorbGw4L2dKOFJTQWhD?= =?utf-8?B?czlDWHlTRllhbUNIa2MvUElVaUhCSjJZVEtuYjZQQkE3VVFjYUVGSjI0S3lD?= =?utf-8?B?aTdZeFc4L2oyallUV2RRWGlUTElwdHNRaGsvTFdSeTA1ekp5ZjU0U1gwcjNw?= =?utf-8?B?VFpLRXV2Zko0R1dEUHE5MHQ1YkJsS2M1cllLTjFyVXQzR0IrWm11TDZyM0Na?= =?utf-8?B?Nkd4c0QyNlF4SHFScXVKWnFDR0VCSWxjZ0tZeGRCdEU0TWhsK2JpOFZ1L2hu?= =?utf-8?B?eTlGT0NnODQwek9ielYycFlZcHZ3ZXFIYVIrYWc1WTVZMkFLWjQ2UDFBU3JP?= =?utf-8?B?MW84QnVDdm5WYXRzbjNoYWR5a0dvMytZcTZPaW1HejhlSFB4anpFZ1AzNjM4?= =?utf-8?B?S3A3ekpnR0NJbTN4UmZHbEx1VDUyTzV5VTcvQnFZK1VLeS9BOFdOTDF6a2xO?= =?utf-8?B?MWFRdDVEMkU0d244bnpnVitDbHFuMWtRbzRIdWJDQ0o3cFJydUZydjJ6T21L?= =?utf-8?B?Y0NRa1c4M1BhVTlMM2I5WndBamFqTloyOHkxU1JYNEFPZDNRejdHRmZBSnl1?= =?utf-8?B?Z0g3NTFhQVRzV0w3UnpBdytVWUxzSFhUQ3JOYmRCNi83TDBlRnhJeFd1bjR2?= =?utf-8?B?NEVTMmtUejJYYk9GeHJYd0xVWm5XTTRYWE9ZRlVTeFVlWEROU0VmUFhWUjhu?= =?utf-8?B?ZlpuYTBUUHg4d09mZDZ5KzRmZU52VDdLUGlWNDcwdVRkY0RvZ0Q0T3NEVnRx?= =?utf-8?B?QVp2VnBmdm5oTjRmaXVFNEhtb2ZwcVozYlBYVW5IQTZYWGRISGF0MnI0WTN4?= =?utf-8?B?R1FSanZSOFBpZ0hQL0ZTZTNSY1lyVTBWRHZmTXZ3NE1sTDk5ODBSbE54QkRt?= =?utf-8?B?UjdYT1pSNGJMUnZBOU1hN2kwdUdqaGx3NWlCanhHeXVWNDNwNVl4YnlEV0tl?= =?utf-8?B?anlOKy9MZjRwQ3FsWWI4Um0vaGUwOHgvTFg0OTVFbjdQZ0NFcDRsVE9RVkF0?= =?utf-8?B?alZCNjBjUEFSZTVSc094MnlsVFVUcWp3M1QxaDR3Wk4rRktwUS9CUEY0SWlL?= =?utf-8?B?cEtjdm95ZkRRTTYrbmd0bTEyQjlhQ3dQV1RqN0lFMjdXd2taSDBtOHZWaW5F?= =?utf-8?B?YlUvaGE2NXJrMlpWMjgyazRCcjNDVys3YlRJU1c5ZVBjNjd0RmtoVjhkQmJB?= =?utf-8?B?TzRkcUQ1OFkwcUF0R0d5L3plY1ZlTlkyUmRyaW8vbnQzcFV1YzRETmdtUkVE?= =?utf-8?B?ZHVSZERiNksxckl6Qk11dkMrcjRxY1Q1RjlPT3ArZ0pQVzBrSmFBUkRPQjhl?= =?utf-8?Q?PoqPdEc+oYi75Uj/xYH/QfcgsNlyuk4bDbUod6n9ujcT8?= X-MS-Exchange-AntiSpam-MessageData-1: Os4dViSoZHhdyA== X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4f7b90c8-da48-423a-6204-08df252afd1b X-MS-Exchange-CrossTenant-AuthSource: AM9PR08MB5892.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Oct 2026 10:57:47.6569 (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: 6/304acvZdu3ic5awqYsY8KXO/xJpSTCwktfNzdZzzYeAPWZ+nLnOj0+g2xmtM/+he59QPV2T8XNmnMIFh2wFQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR08MB8722 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v3 1/3] dm-qcow2: add qcow2_md_page_read_sync() helper 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org On 10/8/26 12:04, Alexander Ivanov wrote: > Add a helper, which returns an up to date md page from md cache, > or allocates a new one, inserts it and reads it synchronously. > On read failure the page is erased from cache and freed. > > Use it in qcow2_parse_header() instead of open-coded allocation > and read of page 0. It will also be used by the next patch. > > 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-target.c | 36 +++++++++++++++++++++++++++++++----- > drivers/md/dm-qcow2.h | 2 ++ > 2 files changed, 33 insertions(+), 5 deletions(-) > > diff --git a/drivers/md/dm-qcow2-target.c b/drivers/md/dm-qcow2-target.c > index be09615eb8e2..3e47e66b4007 100644 > --- a/drivers/md/dm-qcow2-target.c > +++ b/drivers/md/dm-qcow2-target.c > @@ -418,6 +418,36 @@ int qcow2_alloc_and_insert_md_page(struct qcow2 *qcow2, u64 index, struct md_pag > } > ALLOW_ERROR_INJECTION(qcow2_alloc_and_insert_md_page, ERRNO); > > +/* > + * Returns up to date md page from cache, or allocates > + * a new one and reads it synchronously. > + */ > +int qcow2_md_page_read_sync(struct qcow2 *qcow2, u64 id, struct md_page **md) > +{ > + int ret; > + > + spin_lock_irq(&qcow2->md_pages_lock); > + *md = qcow2_md_page_find_or_postpone(qcow2, id, NULL); > + spin_unlock_irq(&qcow2->md_pages_lock); > + if (*md) > + return 0; > + > + ret = qcow2_alloc_and_insert_md_page(qcow2, id, md); > + if (ret) > + return ret; > + > + ret = qcow2_rw_page_sync(READ, qcow2, id, (*md)->page); > + spin_lock_irq(&qcow2->md_pages_lock); > + if (ret) > + qcow2_md_page_erase(qcow2, *md); > + else > + (*md)->status |= MD_UPTODATE; > + spin_unlock_irq(&qcow2->md_pages_lock); > + if (ret) > + qcow2_free_md_page(*md); > + return ret; > +} > + The comment on qcow2_md_page_read_sync() says it returns an up-to-date page, but that depends on no read being in flight. If a page is cached but not MD_UPTODATE, qcow2_md_page_find_or_postpone() returns NULL and the insert that follows fails. This can't happen on a suspended device, but the comment should state the assumption. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel