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 BD6D48045D for ; Thu, 29 Oct 2026 10:56:56 +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 69TAtYUc031660; Thu, 29 Oct 2026 13:55:35 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69TAtYUc031660 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="jmZ1auQO" Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69TAtWZq031656 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 29 Oct 2026 13:55:33 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69TAtWZq031656 Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2e8dd9b9743so20420485ad.1 for ; Thu, 29 Oct 2026 03:55:33 -0700 (PDT) X-Forwarded-Encrypted: i=3; AKwUvBxx7AprZC1qMUc8kB+IlU11g1DTC94/3Ainri/sRIlbp59rHUF6qlTuZ55cVLR2evqLjYaeGA==@openvz.org X-Gm-Message-State: AFq9FYJJuikYwrTgd8bQ3e1KEyYJAIkptdl0BWo3KzstZGbYFjaPia1N IlOeAMQkK/mHQFigVkhG4r5LUOE5zd3eW5RzdT70iVZbTha6km9cwwjvmKegBKmKqdEwKSkGLFZ hS6NrqvnnBe6ghJbHSwClpB7bti6lO2yFuOEKW8RaIY8LOrg3WJOPbg== X-Gm-Gg: AYBFou1PZXWtyOOE1ZmFyiPTAn+fRfySiXXq2vUoM/H0vhhv6jtHfv18ExrMLQf9y+4 Ww0lp1GSI3G9ABP6KzWaPU3UMmJggMx+mtWW5/12sHQQRBOlgWIhI+qv9korGgSNTzSHcDHmcNP CUkNs9RE70UmptMe3sZE35I9MNhJvUlrty305GigR9Vztrlfm0j1CB+75JLihaNPH7RAFm+CTPb TjJoA6S03pDU0/uHLVmFuPNgkeZySl34KKsXcBCHv+Y0DmgL7BU/f+wBu1ALcA3Q775yemlArLd cFXPeJAWkLvVzd6Afri7CjTX+32J7JwKR2i2ueeup0ue7V5gqsbBD4t5/zWzLp7O/TEodvl78zp Npayv/HcJyPvzsi0ZcqtRVtmxDrdgmWwkTIXcyn5IUoYx2RlNcDnMvvUG6KYw5gQ0f9waeMuioX dEZW5fLbO3QC/TiHZVgAebc9bHPppp8vVJ7g== X-Received: by 2002:a17:903:2448:b0:2e9:66f6:7894 with SMTP id d9443c01a7336-2eb0042c3cfmr47403365ad.40.1793271332338; Thu, 29 Oct 2026 03:55:32 -0700 (PDT) X-Received: by 2002:a17:903:2448:b0:2e9:66f6:7894 with SMTP id d9443c01a7336-2eb0042c3cfmr47403185ad.40.1793271331818; Thu, 29 Oct 2026 03:55:31 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793271331; cv=pass; d=google.com; s=arc-20260327; b=HzbObZ/yIPxY3r/ZNQ2MJKOSqyreH++mpgCL9CEhRuwogyhmKU1fg49VFdkR0nWrKo S35aNrhn+6MOn321d9vh2vnzw74EpLBXDaMP+yZJha/jKA2iHDMZ+vJtjVjYwknrn6/O +V/dZuKxe9pE4DURGDj2uDsCJymIpNkItlPqq7To56lWN9RDGXDY4LSLbGnr12INPedM 79fgQpCib+Qc1fM7gg20/SQ8iqDSS3Qw2n09IcXoafT9nyFb2ezgwLrC+f6Jcyah2dTR ZhtsOEsGsTOC8X23r6QHhqf6pKjkR0Zu1XL36buBECKo97+AUfolJDNYeUr5i9OtjBCT 5lqA== 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=wWX9+i6jyGTTKTaWnZFhNjCwOgGBvZo3u9qpfCc+RU0=; fh=NQShvAamTRhKeEdBP+VGPvHYs3WDIRdtFLGEhdoHFRg=; b=T/MrmZpBFyn6+u/DImYzCkskJEA1EeSykstMNFLFb3fZFtXwCYip+lsMgXZBOCURsq k3p+fqtcMJm2VtOJ4ohUQIwN83+Pou5wn60iu52fG5VjNT9CVC2iaGYEgQY3VfSqII/A v7LOL+2rmLJWFu6FZdGRtRscs2Jm2ab3UjrTqLYAt7JKp60d1not46yplhYLFs8SOHyY 0bgaUJ2stVrbXL16/ZP/jmOQj5+CMYgwifCSmpkE9KKWQFx+0C7bBplvde4YGHLpWgJU oEtS6fgachFNQE6xGaJDrBV4/oYzH5C2q6Gk3GMRQqfpD1Z8V6Ttk/i0JEkqDUaWdSvK Or2Q==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=jmZ1auQO; 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:c207::3 as permitted sender) smtp.mailfrom=andrey.zhadchenko@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from MRWPR03CU001.outbound.protection.outlook.com (mail-francesouthazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c207::3]) by mx.google.com with ESMTPS id d9443c01a7336-2eae6c7b00dsi157492795ad.182.2026.10.29.03.55.31 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 29 Oct 2026 03:55:31 -0700 (PDT) Received-SPF: pass (google.com: domain of andrey.zhadchenko@virtuozzo.com designates 2a01:111:f403:c207::3 as permitted sender) client-ip=2a01:111:f403:c207::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=jmZ1auQO; 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:c207::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=gqLyiyZ8AR9QaAfvLw50a/tvU3XqsM/jSGnZxLK/vBnTM0zIuF00L4SLFD5CQ6fIROuSZpL8kJSdOhJQLeQ7X1NtlxfsxHVXGJNPRynVQGYYmKZUnhzSfCplA7Y5NcEZ3hF/TAxVwzOuu0TNPdWq2ZnKL4iGcYwao/nSmdVdfFqC3gskJQsefgLwuWmDZ+Py0xM4Ngdqk53ygtY7YxVBwb5eWXJAyEfEucdodBRxDojVCSsDzEz5oAmaNk1sCRAhuEBRHsFcqqvKRVIHWZpkVoybmH+TFbBoj3arYXs07CWQDIfN/7JUsG9cmedGOJUOwZBJc+6fdSgx4GZcUcWeYw== 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=wWX9+i6jyGTTKTaWnZFhNjCwOgGBvZo3u9qpfCc+RU0=; b=iE7/xngYCKjlthAV1mtQKifJCUBHQTInVkPQmvDyTDDOSO1f0B9PuDvhyBMcK5j6TnCyxYsWyXLWEgXSStU+skKXeh47UC0urH4YvH/UrWmwayUT/Lce0SIdq1lZIkwuU3kaiek0a1spI7xjGfKNRK0nTLsYrBcpKY75xxQ8usA4/F1nkj4OtXLmF4/TlaYk3BAGWJK27c0qV34JotihAdaDEtDYI4n/ogy2GHN8rl3a6Z8TQYdj6DhQJLD2k4Ki4JqZ+nvQ0BGhkvQO/0t0Uam6LepPsm2w0+fJAp/g2BVocL4cqHxJJiTTKb2TeRZAzrnkPbHdejcKU147DjAxvw== 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=wWX9+i6jyGTTKTaWnZFhNjCwOgGBvZo3u9qpfCc+RU0=; b=jmZ1auQO1m5Uztf5TDNu6dsxPA/rVftJ0YBvFTW4IdtQpVTdh9N9nycxI1kybPp7f/ewBdD9LQ4HCMck65kh2tiefQlnjcHvkXT7ih/Yxwow+4QAwtpBANXOayvX/iizHLwmqkZt2KcQwDLk1UXWoOQlI6NCC4DAxQ7aUDdLcaO8H/nbgZ549pUvwlmIEMnup/6z8amjYl+90OjHnKhqiy1jMYwD2Ag3zgRK6u1BO1pvPtfjt2z3ph0gsg5Ms9USDIfNcc99xTpH4H+yW/Yn6UY5XS+khz1XQD7VgEs0ccS/PbRKDIjOdb4PGweD7OToPv1jyKsIUO0bR8kGXp/EkQ== 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 VI3PR08MB220137.eurprd08.prod.outlook.com (2603:10a6:800:377::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.569.9; Thu, 29 Oct 2026 10:55:27 +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.0569.007; Thu, 29 Oct 2026 10:55:27 +0000 Message-ID: <7ed35b11-2711-400e-baf4-4968806ae73c@virtuozzo.com> Date: Thu, 29 Oct 2026 11:55:26 +0100 User-Agent: Mozilla Thunderbird To: Alexander Ivanov References: <20261028150645.3222391-1-alexander.ivanov@virtuozzo.com> Content-Language: en-US From: Andrey Zhadchenko In-Reply-To: <20261028150645.3222391-1-alexander.ivanov@virtuozzo.com> X-ClientProxiedBy: FR4P281CA0063.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:ce::10) To PA4PR08MB6061.eurprd08.prod.outlook.com (2603:10a6:102:e9::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR08MB6061:EE_|VI3PR08MB220137:EE_ X-MS-Office365-Filtering-Correlation-Id: 00a4c320-d99d-49ea-805e-08df35ab2421 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|23010399003|376014|1800799024|366016|56012099006|261009223027099003|261009221227099003|261026140227099003|261026121527099003|261028144727099003|10067099003|261022115727099003|261022075727099003|261022105027099003|261021121427099003|261021123027099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: 7tTof5dEZzMttZASx+xyzweboIAajHK20IFlkJ4o9AdOEFrPbzTdmwAx3XSWXGS0tjzpHIxjjhscIcB5YAm2y69AwzvTu0wLXSJ5xW/2RymF95EWvdNdvBocAaTwUeMt4de26re8DQNK1odUg77zMNwvAL7gDmN3as1uU8RpR3tRHapaH8764qLjePiwuKpO+paQgLJTvYWNC0fzo5S3w0pbdQACv7ws9DVrVfmF6XcYZLGGynJy0OkrA0Q0d4eXO9KnCSICDnu6NTa8CYlWj8bvVdK0S+JfT93h4SxqasPv4rONZuyT428Y4thrBPFKAAFDlEa9TJhBKa1+Uu814kflx91lqvXJlemzBRoqEyrmCLebWMMUD2j25FR7vznZL5rdJt+JQYo9Bvrx1UDbu2U7o4XgYvH6WzbvY179MxqEiWSONGwJrF7bkhJuKnBcjH3q8J6zV92NqerkTViNq36xBiSHHMB3Kv9SyFOMSmL2a/e4FWlvWtwSMaqB5/14iGmuEcdq0BEMdM+lUTgekdwY5q2hPV1iEeZZrITftCui4gkNMxqE806R9qTKoh3MQG4Ba4WKiXfVajTGaNNBVGAMy3UHZ0X2S8tBWW1loNAvO96D6Cwk+hY4K5a/uM+W 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)(23010399003)(376014)(1800799024)(366016)(56012099006)(261009223027099003)(261009221227099003)(261026140227099003)(261026121527099003)(261028144727099003)(10067099003)(261022115727099003)(261022075727099003)(261022105027099003)(261021121427099003)(261021123027099003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?OGtKTFE0d2lSM3RnSFBNVHRlcFR1bkNsV0FoQU9sMm9pM3NRM2hzanRpWHZV?= =?utf-8?B?cXZaZEx4UkJYT2JNcHc1S3J4R2gzTC9udXdiNnF5VGJLUnRMVUNWd0V6QmFM?= =?utf-8?B?TysxNThyZ3NmWnFCRGdrcU9BSXMycFFneHlCTnpxNEZtOWpvNjBsUndPdW9N?= =?utf-8?B?ZDFrU3NBL1dSeUFHb1Q2QXYwa2dQc2srazd5a21tZWE0VjZBbjBvTmVjc3RE?= =?utf-8?B?VDVHcURGT3kzS3JHTlJZWERvcTJEVDhDdldwUkcvWnROcERrOEVwejd0Kyt6?= =?utf-8?B?N012cXUwU0VwVEhwUnIveTR0SkVSeEptazF6KzZtcHBJNFl1QjFsaThjTzFy?= =?utf-8?B?dkpXRk1TZTBCTFNrUXhpZ0xJblhRRUVOU3E5ajVPUmFKRzEyMThJTFBWNEF5?= =?utf-8?B?ZUY1RTFWZ3oyd1FackphOVU2aXhISnZhSklJYm1tb2tRVyszL3JHTG02V2x6?= =?utf-8?B?bTE3d0xKWS9vaFgzS2dYL0I4QTZLS1h4bW9WaXBIelFMcHg0RFMyaUpOTDZL?= =?utf-8?B?cFNHYVBOTlBkSWxjL3ZKTkNaUk5QRGlKRm04SWZUemE4OUoxOGhFSDh4TVBX?= =?utf-8?B?YjhTQzFONUNxU3A4SjV1MHZhaGgrNFpDUFpNbXdUKythTEZzK1h0NlVEa1lU?= =?utf-8?B?L3ZvYTV0ZzlUSDhyajg1dzBxYW1kZFJ4c0N5WC9NKzNrZG1lRlRGcnd1OStV?= =?utf-8?B?WjZ3dEExQ1dGL0dMOEl0MlZqRnQ4bVFMdzdxdW5ZQ0pUTVIyU29yUnA5TWN5?= =?utf-8?B?UFNPM0hQcE14blNJb2lRSlNBa2ZESnRUdTdySmd1NG04RFZNblJXRldUL0Mx?= =?utf-8?B?Qy90Q1lIdGhGNXhxQ0hWSmFkK05BYzNGRzZEdU54MUU5L1V4YjBsQjhvSDBV?= =?utf-8?B?eitSS2szeGc0VlVrQStvc1ZZOGtRcjhadXhPYlBkSWhSZWVPVjZDMHFxNlpR?= =?utf-8?B?b2NueVBvVkxZdnphTm82ZXIvUFE0bGtBbmQ4SzhCMDBmUXZpNDVDSjZHUkNI?= =?utf-8?B?NHFaa29sUnR2UnRxR2UrRnNpQjVOOGZUQ0RvanpMMTh5b0RXVGV6UU1QTTFW?= =?utf-8?B?TnJ0VVdDcTc1bjVweTc2bGRQc3BIOXdhZStqd1owU2xaRm1zYXB2Ni9uSmtw?= =?utf-8?B?QWxtRkFDb2FrdU9YY2Zpd3BiWXZOYlZTNVlteVlOZElHcHFEYXRQMmFEUlV3?= =?utf-8?B?c2FBclpudHRKOXNpOEpKTVV2M29JNk4yTVRSbXRrUXdMTnZpRTUzNUpPOHFC?= =?utf-8?B?UDNJdnUzL0E5dDRJaGtjNEw5eEFGZnpjR1ZiazR3RVBEQ1Z6WHJPdCs1blht?= =?utf-8?B?NjJzZkRGVXpYNGhnN3RFZ3VOWGpvV0ZkbUd4akhxRVovL01yTDAvbGVNa0Fv?= =?utf-8?B?b2JtZTFWTEZqRVlZWnhkdEdNeUdMYnJvR3l5NFcvQ3B6ZUpOdzcxcjYxNDFu?= =?utf-8?B?N2RNZFZ3ZjNkbmZCZCtpTkpEZVdtYjVBTGl1OGxKR2R5dEJQRnV1Vll2YmJY?= =?utf-8?B?KzVQOFRTVnFpekM3alJUM2hhMWQyZjFzRUlJZHBYTlo1WjFwQTdiMHU1R3Ji?= =?utf-8?B?ODlrdXZMNlJVcExGNUhNZHl4RnZXNUtMSURVL1VyZEk1UmhsS2NLRTJGa1U5?= =?utf-8?B?bEFnMXo3VXRCaCt3S3V2aFZlaUl2M2oxSE8vUmlJZ0dHbVo0VnJKblNPUVNi?= =?utf-8?B?aEJnbTlsYmtWdjlLYitWeFVmWERIMU1UUWdjYWhIUGNvQVVRZGt1UG96YmYx?= =?utf-8?B?ck9aNUpVcDNIOVdrYmJtZURiNUVIYmVCb1hObGhxUCtFUk5WUTF0T3ZPQzNS?= =?utf-8?B?SXNTakVaZHZFZ01BU2xDWXRYaWtEbXMzZ3cxcEYvYTRiNW1BZDJhMzRVMnJm?= =?utf-8?B?YUw5cmxPZGcrS3FKNURnM0pzNjQ0Si9DbnZGc3p1SkxZNzJlTUtjOUpFV1pX?= =?utf-8?B?amZOWnl5MFJ0RmlmM3pWdTZrSXFTSVJXNG5NL3p3aCtXWVFSMmh6dDcvVVRE?= =?utf-8?B?WlZCeHJxK1ZnZ210a3BmMTRZNHZkcURuZlh1QjN4SG1UT282RjhEY1pBQWlv?= =?utf-8?B?b2NodDZQbjVQaTRIOThUZzVsTzZEa3A5VkNqMXdROWpla0NyUkl0cXZuZEJV?= =?utf-8?B?elZMK3dMV1VuOTVqakxvcWJxbldMT0VBTDVzdDFVMUNMdGo3YitjRHBRb25C?= =?utf-8?B?Zkh4S05SVDhqUlBTbHhIMG5TSUI2cFhhZ3Z4aWsvL1JFNjAzcCtUR0w4Qmti?= =?utf-8?B?ejBReDJkdEo0aGkrRkQvRHJXSDQ0OS91djdRcWcyd1hjUExVMUhETE1CcHht?= =?utf-8?B?UFIvLzkvZ3Z2QTR1OC94bXBVajR2LzVmankyQ2c1SDVhekx0czA5dy9XOW1R?= =?utf-8?Q?CMZf7tBVb4mN57Ao=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00a4c320-d99d-49ea-805e-08df35ab2421 X-MS-Exchange-CrossTenant-AuthSource: PA4PR08MB6061.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 29 Oct 2026 10:55:27.3427 (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: A3HSO8HRjoNrB2JpwRotqUtl7NDg5uDzeML2g/X+X8UTgspjELH085JvbRpnsGUVeMZ3Ci1H1TNRRVqZAFyEhjAKEDS59hjfb4UGfwZra10= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI3PR08MB220137 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v9 00/10] 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 Reviewed-by: Andrey Zhadchenko On 10/28/26 16:06, Alexander Ivanov wrote: > Discard punches holes in place of freed clusters, but doesn't change > the file size. On postsuspend dm-qcow2 truncates the image file only > down to file_preallocated_area_start, so if clusters at the end of the > file are freed, the file never shrinks. > > This series makes postsuspend scan the refcount blocks backward and > truncate the file to the end of the last used cluster. Close and > reload to RO go through postsuspend too, so the file is shrunk in these > cases as well. > > Patch 1 adds qcow2_md_page_read_sync() helper, which is needed by the > scan. Patch 2 is a small cleanup of duplicate prefixes in QC_ERR/QC_INFO > messages. Patches 3-9 fix existing cases where the refcounts or the > dirty bit on disk don't reflect real cluster usage, or where such an > image is not flagged for check, which the scan relies on. Patch 10 does > the actual truncation. > > https://virtuozzo.atlassian.net/browse/VSTOR-148171 > > v9: > - Patch 5: new patch. > - Patch 6: also keep the dirty bit while wants_check is set, as > md_writeback_error is kept only in the target and is lost on table > reload or host restart. Rename kernel_dirty_bit to > kernel_dirty_bit_set. Retitled accordingly. > - Patch 7: new patch. > - Patches 8, 9: split from patch 10: setting md_writeback_error on a > late reftable relocation failure and the MD_LX_REVERTED / > lx_writeback_error tracking are separate fixes now. > - Patch 10: rename qcow2_truncate_preallocations() to > qcow2_truncate_unused_tail() and update the dm-ploop comment that > refers to it. Move the rationale from code comments to the commit > message. > > v8: > - Patch 3: instead of extending the file in place_r2(), make > find_unused_cluster() return the position for the new refblock and > let allocate_cluster() prepare it the same way as a data cluster > (punch, extend, watermark update moved into prepare_unused_cluster()) > before calling place_r2(). Retitled accordingly. > > v7: > - Patch 5: track whether the image was opened dirty in a new opened_dirty > flag instead of checking the parsed header, which is reread on resume > and may carry the bit set by the kernel itself (e.g. on the lower image > of a cancelled backward merge). A new kernel_dirty_bit flag tells > whether the bit on disk is the kernel's own. > - Patch 6: use opened_dirty to skip the scan. > > v6: > - Add Reviewed-by lines to patches 1 and 2. > - Patch 2: fix "pase" typo in a message touched by the patch. > - Patches 3-5: new patches. > - Patch 6: drop Reviewed-by, as the patch changed a lot. > - Patch 6: mark L1/L2 pages, whose failed writeback reverted refcounts > of new clusters, with MD_LX_REVERTED and report it via the new > lx_writeback_error flag, which skips the scan and is included in > wants_check. > Set md_writeback_error if relocate_refcount_table() fails > after the new header is written, and clamp the scan start to > reftable_max_file_size. > Skip the scan for an image opened with the dirty bit set > when kernel_sets_dirty_bit is enabled. > Check the R1 entry before calc_r2_page_id(), so a corrupted > one fails the scan without WARN. > Reword the commit message to make clear that discard does > free the clusters but doesn't shrink the file. > > v5: > - Add Reviewed-by line. > > v4: > - Patch 1: document in the comment that the caller must ensure no read > of the page is in flight. > - Patch 3: say in the commit message that close and reload to RO go > through postsuspend too. > > v3: > - Split from the common series with dm-ploop: dm-ploop patches are > sent as a separate series. > - Patch 1: rename qcow2_get_md_page_sync() to qcow2_md_page_read_sync(), > reword commit message and comment. > - Patch 2: new patch. > - Patch 3: start the scan from file_preallocated_area_start instead of > the end of the file and clamp the result to it, as the last cluster > may be partial; print the scan error with %pe and drop the duplicate > "dm-qcow2:" prefix from it. > > v2: > - Add dm-ploop support (patches 3-6), as requested in v1 review. > - dm-qcow2: move get_md_page_sync() to a separate patch as > qcow2_md_page_read_sync() and use it in qcow2_parse_header() as well. > - dm-qcow2: start the refcount scan below file_preallocated_area_start > instead of the end of the file, and truncate to the used end directly > instead of min(file_preallocated_area_start, used end). > > Alexander Ivanov (10): > dm-qcow2: add qcow2_md_page_read_sync() helper > dm-qcow2: drop duplicate prefix from QC_ERR/QC_INFO messages > dm-qcow2: extend the file for a new refblock in allocate_cluster() > dm-qcow2: complete wbd before ending the data qio > dm-qcow2: flush lower metadata before clearing its dirty bit on merge > failure > dm-qcow2: keep the dirty bit of an image that needs check > dm-qcow2: fix md page cleanup on failed reftable relocation > dm-qcow2: flag the image for check if reftable relocation fails late > dm-qcow2: flag the image for check after a reverted L1/L2 writeback > dm-qcow2: truncate unused tail of image on suspend > > drivers/md/dm-ploop-target.c | 2 +- > drivers/md/dm-qcow2-cmd.c | 5 +- > drivers/md/dm-qcow2-map.c | 180 +++++++++++++++++++++++++---------- > drivers/md/dm-qcow2-target.c | 119 +++++++++++++++++------ > drivers/md/dm-qcow2.h | 10 +- > 5 files changed, 234 insertions(+), 82 deletions(-) > _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel