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 8D8478017D for ; Fri, 23 Oct 2026 06:41:46 +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 69N6eICl021701; Fri, 23 Oct 2026 09:40:19 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69N6eICl021701 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="wk5tOVHh" Received: from mail-yw1-f198.google.com (mail-yw1-f198.google.com [209.85.128.198]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69N6eG1D021697 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Fri, 23 Oct 2026 09:40:16 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69N6eG1D021697 Received: by mail-yw1-f198.google.com with SMTP id 00721157ae682-86c3a053d9bso9767377b3.0 for ; Thu, 22 Oct 2026 23:40:16 -0700 (PDT) X-Gm-Message-State: AFq9FYLSkaEx5TVOSQ8Qxjk+dR5nD5wNXQEk11GumS8UTDIzPIWR2Hwl V1v6a0BNhG/01a9CFMFjltNuEs42T/t9YJLlJqcJRv/Ui8p/jwFZ7QKsxFzRETkoi+t9g3Vli/s GvoBhNUdgMlXy7bbTVDxhRI8ZtrEGoQ+W0GXcWnYmZ5O/GGVktMYViw== X-Gm-Gg: AYBFou21guehK06Wpi7tdc4l41Ug9FPg4nCzavwdEzYOQ9+R34z5hMWNW0+ZO8mEyH4 TKaUscZE8UajWYkfCeAJ5dq9d20mZXF9lGNuwchS/dVod6STWslMcW+RSdeCgaEaxISC1SUQ/lc TxpDqU/TllH0SaTLuMfi618KHGVz1s7S+Gu/mAu1/JstZaaR3Hg0cogRxnenHyyec6gJIW3QHaR NHoKzcthiVRb2RK9IHLNHTbahT74IE0MYls1aXL28UkmYUWZ7kB5MANTS9v1APfqhPblXOeurDq DLhMe4AnEjJrSqpvkRvnv4FYnChpypiC7VWvFy2IkvBUetNngo+A+q/i+9841EI1rZa3u2wpxBN /4kK6vFS5FBOA6dg1CWFFKTvIGyIdmVy4r3pCK8teS7hDgaEPoqi5DF5T5GCSTh2ifQdGOoEF8j 5HArC8JDrzC+JIIjKxsR+6Wvx/FOk4jqY= X-Received: by 2002:a05:690c:3381:b0:8b0:7c07:559e with SMTP id 00721157ae682-8b157e120d8mr11913717b3.36.1792737615482; Thu, 22 Oct 2026 23:40:15 -0700 (PDT) X-Received: by 2002:a05:690c:3381:b0:8b0:7c07:559e with SMTP id 00721157ae682-8b157e120d8mr11913637b3.36.1792737614955; Thu, 22 Oct 2026 23:40:14 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1792737614; cv=pass; d=google.com; s=arc-20260327; b=Mikt1rdgOpYOWbphQGCWtGmxuDdlE5ZRZJ+ri2al16yz7qvHm8J+eXMrM7Q535vnlI MTfaVTMUEx9Cpvrf4ROemtIKp++g/WkbZaJglx1epaWova8MLbeJ+lSo1UTgffpdQwZR 6WBdnytNIS7O8w2tuybC+jMRVwi/EgZCfLRO0aVkMPqUyqPtHIVuSh+VM1Ge5gfn3JPb 4AB2FstD+RY3Rz0IdgMe+rn4c5/5EiI9uVmRqgw6QKogoX4v8ygjMh+OaqLBSOJskAdd ciqefYZQiIlKvICfQ2w628mFqWqP/HSZUJoTKCys0rPH/CtvRxJvb3TD20ICqFxdTxQf tYQA== 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=QVMnisCaJgEh4GFU3h2faBkuy7TDC1iUehJrl+T+his=; fh=IlzoM7xapMIT9vjIu8V1YxnmOSGAT8hvLuDm+hjUGIo=; b=Fo0wqEGA3eFc6OL/EUvBlOvSdScdeaBJqtdMcVXHQRBnb9EUHXRPZKPrB8P2Fx3WLW g7ovfT85zu6bbDBe+6XlFG++hcJKAZwKLMEmUSasJUmLRTg4kFdMmfd4qUMDfzdKMJdi 2vrHgsxnZ17m9na+YnDNKoiJ4H5zsLEvJ8y8mTZFNT7NBIBqmomsFvmLSy3xIWP54X8V HlmxNh9Mgli8nKPCFmc5u9MpIfn4/Im2g56HN810sWkV+HmqK4f+o7nCuzrErHDq4l1/ NhAojRAbGslPr+Zrwo57gnRLnvueVQhT0fSGrmJmy6d5Gx/X3+Ajlvk5QiwYYr6QuDjw KUcQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=wk5tOVHh; 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 alexander.ivanov@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from AM0PR02CU008.outbound.protection.outlook.com (mail-westeuropeazlp170130006.outbound.protection.outlook.com. [2a01:111:f403:c201::6]) by mx.google.com with ESMTPS id 00721157ae682-8b15606a4d3si12660117b3.58.2026.10.22.23.40.14 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 22 Oct 2026 23:40:14 -0700 (PDT) Received-SPF: pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) client-ip=2a01:111:f403:c201::6; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=wk5tOVHh; 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 alexander.ivanov@virtuozzo.com designates 2a01:111:f403:c201::6 as permitted sender) smtp.mailfrom=alexander.ivanov@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=nQsuVpSJ8kuzaBUgR6D/kK9w36DejW9gUBU9QTHPTAVcDBv+bgJDp/5x3LYlCFO2JgvkgzWL/RSE04QfRmjM9oNqWzhAFf70EXi8eosG9LGikWoyV+j78qBrmRZefHPoCwGsCtivm5ag7gBhZvhpyq7i+YZplyJxUGKHyK+7vpcv2h8JeFnUKKgqDW2LHe+Dl6eySs4bPa/0s3Kk4CZZIfEtxIGyPKDcXcC+5w57KgQvOgTK7awUg9XSLTFux8fAR2Q9U8Aed0cmEctXMuC/NOG4ZGx1HIITaNt2ZgsYK2lTAVooZ97KURmGT6wIJAS+VCbISju+vEV/Af2x+guhXg== 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=QVMnisCaJgEh4GFU3h2faBkuy7TDC1iUehJrl+T+his=; b=Y9nPZ4tP0Q3RWEHNN7flnEVzFrUUOYJqAxq19HAZGwszagvlVf8NhH9MgCI101688uAUouevfnER10XyT+C6MOsm196WSrocqyjIXSMLLHJ5YkMpx9FDmJ41lGJFjKJvkUX0yUE3l5enX3W6OuGoWV+Rzww8/uGIhrsqkJ7kAct+zVNdGdw+umtipFtDIMF/c/N7vsLU/nbMIPV32M7jbVybiGE9iHRWlBwQK2603PuacL8WysnU4Rh1e/yFrcUqoFNGswEf6t9OFnHqZaBHIcoIqJcnhtCnniH955HqLYuw9JmB/BDHBmuRrBq3Dah2J/pLyIoV4Y0uTQnhL6a/RQ== 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=QVMnisCaJgEh4GFU3h2faBkuy7TDC1iUehJrl+T+his=; b=wk5tOVHhWPIAFU5W/TYK7Kx6agRulBSMn5T8sbLMXy/vwI0AhczsUGqSiSXdcVLsuWI1u1tdX32FxOyUhTvcslSt7f6Yd1N8ezeltvg34qIKbtgC2zs2vXcEyKc3RfY8qnyXpD0oxgjUxY9xCluwPgXu3Thhhlfh7USpvenc2eYFVVntMga/hVccPKx/Nv3+5tVZsc7BRyb+DAX8u/dwzsHGL2q5mjLXDnQmq1pwu1OXkwnvpYXC7LkDTASqwleFqlBG+yHM4iLBETUDAy1vVOTfS4CEL814DUnv57QLtx0lVhZzoXEU8s68HyvO2EK9+NPEIC96N0x4Brm8otaEDA== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) by BR0PR08MB606395.eurprd08.prod.outlook.com (2603:10a6:2c8:45::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.18; Fri, 23 Oct 2026 06:40:11 +0000 Received: from VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::7a7c:d078:f125:f16a]) by VI0PR08MB10743.eurprd08.prod.outlook.com ([fe80::7a7c:d078:f125:f16a%6]) with mapi id 15.21.0546.017; Fri, 23 Oct 2026 06:40:11 +0000 Message-ID: <8ae37400-040d-4e26-8379-10e844fc2494@virtuozzo.com> Date: Fri, 23 Oct 2026 08:40:10 +0200 User-Agent: Mozilla Thunderbird To: no-reply@sashiko.virtuozzo.com, andrey.zhadchenko@virtuozzo.com References: <20261022145032.2128679-1-alexander.ivanov@virtuozzo.com> <20261022145032.2128679-7-alexander.ivanov@virtuozzo.com> <010701a16422eaf2-02e82af5-c646-465d-b08e-50c322e2f929-000000@eu-central-1.amazonses.com> Content-Language: en-US From: Alexander Ivanov In-Reply-To: <010701a16422eaf2-02e82af5-c646-465d-b08e-50c322e2f929-000000@eu-central-1.amazonses.com> X-ClientProxiedBy: VIZP296CA0010.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:2a1::17) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|BR0PR08MB606395:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d965fb9-deac-4a7d-d7bf-08df30d07c9d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|376014|1800799024|23010399003|56012099006|261022075727099003|5023799004|4143699003|261009223027099003|261021121427099003|10067099003|22082099003|18002099003|6133799003|261022115727099003|261022113327099003; X-Microsoft-Antispam-Message-Info: W6bDr3wGhw87eF0vcMy0g/sUA+LDLJbzphxqHrNpT+3i6/9JpDD8CKVEcYw/mV/xwEbKowO5kyslcajxWUUIQgOr+vvoHa8Z+3C2ufCAKqSIoyjAbxQrirLEoxNWGbC+x89PQSbUnJ7LMc6K+79EteT+0vpEPcIYKsiJB6xm2p1qQkqQ2kbthUOLN9Ku32T5JGjH8le4oSDbTMbq5I1kPMC15ycyfQHnM2Fyp8FGLue/Y3P7YAnmLdgRxPsj9EntLIHsGsEVQS3W2erbqvpzRg7O86lgb0ghF+mzVS9cR+OBLiRkRVa6oJPnQPDXi5TahzoS5W8ZAHxoOZq5yhxoOTvwntsgNTgupjPZTJ9pzM0cNTVtFCFNZclLKgCfVZaODwvmrP2gVK22UYiKlpdvaulcWNh+4asN1r/Bu/aRnUGvmBh3vI/z5/wvWBhkwSuidpWrsL5Xvhv68NlRnBBa5r8/cYSImMpeW3oCLaZ4D4vZT3xOlYgpB0fQIwfhiDB20LhfTfolY51/EPz5wOpv+7qx9ySITVVPyHPVxIWUEZ1uK0y3En0whsS3+OFk91OCQV5zwSG/0V3cbq5d9WaE6eWNmglaOROPVQ+x2pRt7XUQoxDs5wY8qNP0CXaYS/T4/Uwx8JgQxLHwCSo2k/S1ZY8knQVSiAJNzoZjmO/TLc0= 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:(13230040)(366016)(376014)(1800799024)(23010399003)(56012099006)(261022075727099003)(5023799004)(4143699003)(261009223027099003)(261021121427099003)(10067099003)(22082099003)(18002099003)(6133799003)(261022115727099003)(261022113327099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?a0RLYzlXRExoZldtem9QYWFIRXVOWHg2YUxVWjhYTklWdTk0UXhnc004U2xr?= =?utf-8?B?eTFCK1pPNHQ3b3NjZ0JEaU1wNUVIQWZvenZGNThwS0FxWGZEUFdmVkEwbTQx?= =?utf-8?B?N29iNnRteHpybjJGMndoa3JYMUYxS0NEQmhxdy9WZkx0WHA4SWRCdzB0L0Yv?= =?utf-8?B?dFZTbmhwU1IxU3NQbGM1dVNLTUlwWTVFWGZmUFBmU0pXbXpFcHA4ZE1nYzBS?= =?utf-8?B?WDRnVEc4Nkt4SkhteVhaZEJEbEJNY3FkcS8vWm1Id1ludkpZNEZhQWpldTJ2?= =?utf-8?B?emtyUXF4bWlDM2VUdkpRN3RnV2dEVUtyOUVNRzh0QnRENnJWRXF5akdlNVdm?= =?utf-8?B?bjF4VGx5WXFmZXN1Wm9HZSsrRU0zK3QySk1qWnRkdjVpV2NIeU5rMCsvOVdC?= =?utf-8?B?OElOMTRRMHFGRWpFejJLQzBJcmJRdEp0VndzK2FpQ2YyQkZkb2syVEs3VVY1?= =?utf-8?B?cjd1elJQbklTdXQ5cmQwUzhFMkFpNW8xZXM2K1UySW9HMHM1YmJQakxpRE01?= =?utf-8?B?V1ZKTld5ZVdXU3NxTXpKd3NsUE0zOEp5N1ZXZUpkd0pQcmN6YjM5Wjk2dXRl?= =?utf-8?B?V1NkY2FIZ3RJTW5MVk9yajhHRkcyME9RWGViOUJzQTU1a281RDhJRU1yRWFo?= =?utf-8?B?NDhWMHI3aDRtSVY4ZTcyMngxeTVqWUhsNWNyLzdPM2tsNFZCcFFkUGNJeXpQ?= =?utf-8?B?R0pDSXBPVmt4K2ZXK2FmamFYN0Z5VzFFc0lHYmdYTUhYUitxcmFUR0grMHgx?= =?utf-8?B?N1h0NUs1anBzYTkzaW1BeWpWNDU2UmgwMVVUWUI1cHg3ODBjRVFiRzFqeCtY?= =?utf-8?B?R3VqcmZ2czh6ZE5hZ292WU8zYXBpdmpwc2IyQjFKQ2JQL0FRNE1wUEEvRC92?= =?utf-8?B?SWxYeG53SVowY3FsZWtRMjFwMmpsbXJTdm02anBmQUZKcnQwWXBLc0lkREZ3?= =?utf-8?B?MXBpZEdQQ3l6ZEx1USswMFlGSUFsdlA1T2gzU1gzYU1CYW5UTk41Y1Qza0Ux?= =?utf-8?B?Ti96SEswRXVOQWVHbHRHbVduZkZWU01wRjkwTFlKZXUxYXFVOHNpdmVueTZT?= =?utf-8?B?Ritabzdvd1A4TGlhL0xoMVJNOGJCa3piZmF5b1ljYklkRlR2bm92QThmbndl?= =?utf-8?B?dlVSOS9mRmRhenRwS2lncWlYZXBOKytJOWZWMG0xNC9pWUd4eE9nWmZaSkNK?= =?utf-8?B?RW9tdXh4a25WdndnUUszY3VUcmsyWE9MUHR5b1cvaUZSL3IrMGJuZ08wMTlu?= =?utf-8?B?ZXRiTEU2OUFIK2tWa3Y4a2NUT255QkV3S0FLRk56dzdEM1JZR1BoeDhTYmt1?= =?utf-8?B?bGswcEQzVGxZU2M1ZDBZK2ZSSWhkdFM2SmhxTWFrejhJYVIyYm9KMG5CRWFN?= =?utf-8?B?OEN6bmRoRnVHbmlXcHBjQ3o5QXlCNmlUTWl4b0RRNk5ldDVVc29RU2hUM2Vx?= =?utf-8?B?YWRYSm5ZV1pMRVI2TXNUNzdDVkw2ZkFBS1VzVmpQb2piY2VZK1RuTzQ2UElT?= =?utf-8?B?SitGVnovSmVhMVhnNGJ4SWQydWhRN1RiaWk5djQ5SVV4YWlscFpCVWwwSE1W?= =?utf-8?B?dDB0TEs5aS9hNjFqaG9EM04vdnpGT3l3eExZTWNETjEwaWQ5TUVIMnRMZW15?= =?utf-8?B?TjByT0FMMEhBaC9pZTNmeU1nYjJQU0RFdVZYdVMzUEYxWExNMFFqRnFHMHU5?= =?utf-8?B?MEtEYVBBOGttbEZBaXR6Uzg3aXhIcjg5YVllMHdRbEIxNjZHd1ZzYnZJWCtX?= =?utf-8?B?cHVkeWN2Ui9iL2tWcERWWUNmczhYRUt5RmhIMFpJS0UvcVQ0QWVDZURtNXdM?= =?utf-8?B?c1F5R2Y3azk1SDdqVWhGVWNFcWtjbmFOQjRhK1N4UDlNemRsMXJaalRCOGhS?= =?utf-8?B?T1J2bHpQaG1rb3RhN3FTRmltemxlVnd2UWpYRkdzREM3QUtldUV5cmI3Vm90?= =?utf-8?B?N000UmIzYm92L1BhVzErUFIzbnhwbklJVGo0aGdTQVJzUjNPVlU3LzhJYXdO?= =?utf-8?B?NnBOcUI2UXllUGNaaTRmaFVKeU9rUEVESktYV0RVRHBvNzIxWW15TEMyN25p?= =?utf-8?B?cFZScjlsZW9EWHY4OUVqK0ZrWWIxRG1ObmRCWldEREtnQUJldkVkMUVlWCtP?= =?utf-8?B?NmpURCtHbFcyYnFHeUlrOTZ0MHBQMFhBUjRsVU5GVklRTFFLNlcvellaVENB?= =?utf-8?B?M0srZHYrYW9WNURmVDJlaWs5UDBuMkFqUC9keVZrYW1lWXQvcmxLdVJxMnJM?= =?utf-8?B?enBtakV2SkFIU01vRzAxSEpUdjlhbWlWZ05JNVp1YUpjRlFJNDlkN0NlMjIy?= =?utf-8?B?SS9zQ2F1MS85aFd5SUdCOXJNV1RpQ1NCQnpNTmx1UWhKYysraWZtRS9OSzVX?= =?utf-8?Q?ObqE6YDySCitU5h4=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d965fb9-deac-4a7d-d7bf-08df30d07c9d X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 23 Oct 2026 06:40:11.4159 (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: Kg+or5jimWT8F4bIyuLxh9Pslj/3GkTE+lUga5lkttBqOCr6TZXJqBanm3k84q00CIbDfwz/Q6BPu0kyne9N7pau2hSzl2O4LSF9Dzi023A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BR0PR08MB606395 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v7 6/6] dm-qcow2: truncate unused tail of image on suspend 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 >> + for (i = r2.index_in_page; i >= 0; i--, pos -= clu_size) { >> + /* Last cluster is partial if size isn't cluster-aligned */ >> + if (get_r2_entry(qcow2, r2.md, i)) >> + return min_t(loff_t, pos + clu_size, >> + qcow2->file_preallocated_area_start); >> + } > [Severity: Medium] > The truncation point returned here comes directly from the on-disk > refcounts. Can those refcounts be below real usage after a crash, since > L2 is written before refcounts? > > If so, qcow2_calc_used_end() returns an end that is too small. The caller > then truncates the file below clusters that L2 still references. That > would be silent data loss, and it could happen in a session with no guest > writes. This case is covered in the commit message (third paragraph). >> + if (tgt->md_writeback_error) { >> + QC_INFO(ti, "Skip shrinking to used end after md writeback error"); >> + } else if (tgt->lx_writeback_error) { >> + QC_INFO(ti, "Skip shrinking to used end after reverted L1/L2 writeback"); >> + } else if (kernel_sets_dirty_bit && qcow2->opened_dirty) { >> + QC_INFO(ti, "Skip shrinking to used end of dirty image"); >> + } else { >> + used_end = qcow2_calc_used_end(qcow2); > [Severity: Medium] > The dirty-image guard in qcow2_truncate_preallocations() only applies when > kernel_sets_dirty_bit is true, and that parameter defaults to false. With > the default, qcow2_parse_metadata() still records qcow2->opened_dirty, but > nothing consults it. > > The open-time dirty bit check in qcow2_check_convert_hdr() is commented > out: > > // if (!is_ro && kernel_sets_dirty_bit != > // !(hdr->incompatible_features & INCOMPATIBLE_FEATURES_DIRTY_BIT)) > // return kernel_sets_dirty_bit ? -EUCLEAN : -ENOLCK; > > So in the default configuration, can a crashed image that has not been > checked be opened RW? If it is, the postsuspend, remove or table swap path > would run qcow2_calc_used_end() and truncate the file. > > The commit message says userspace checks the image before opening it RW. > Is that requirement documented or enforced anywhere in the repository? > > find_unused_cluster() also trusts the refcounts. It only does so when a > guest write needs a cluster, though. This truncation runs earlier and can > cut off clusters that no write touches. > >> + if (used_end < 0) >> + QC_ERR(ti, "Can't find used end: %pe", ERR_PTR(used_end)); >> + else >> + end = used_end; >> + } The guard is intentionally limited to kernel_sets_dirty_bit: in the default mode userspace sets the dirty bit on every RW open, so opened_dirty carries no information about consistency there. The open-time check has been commented out since the driver was introduced; this patch doesn't change that. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel