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 D10CA8045D for ; Wed, 28 Oct 2026 13: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 69SDeOjY020420; Wed, 28 Oct 2026 16:40:25 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SDeOjY020420 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="xn/+fbRm" Received: from mail-pj1-f72.google.com (mail-pj1-f72.google.com [209.85.216.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69SDeMlh020416 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Wed, 28 Oct 2026 16:40:23 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69SDeMlh020416 Received: by mail-pj1-f72.google.com with SMTP id 98e67ed59e1d1-3ae1d132d52so1001100a91.0 for ; Wed, 28 Oct 2026 06:40:22 -0700 (PDT) X-Gm-Message-State: AFq9FYLaedkNeDH8MrGi+tycDjICxd86XzG0GuTy1OTwiJDOnYPajRez Xc49vOCd/t4IY2ggoP1omPiz3pLLCRgvsS4KDUS397TzlzyQUNWUidOY1vDZC9PKYQL6wTFmnGI a/KMO7mMv8GoKu/1P3SY78jWxUAlFZ7be6k07QvVkKBek7BoE5l+oPw== X-Gm-Gg: AYBFou22mcqVIf3Y2AUuCU58ieKa2aXM9om7mjGtTVXTLIW6aRnKWSKI+xI2+xQNL5g s//vLH7M4mF3g3hVPCSgffGGPWzWfxe9MavfdWvtLC1CzOHM13TVh+2q/G0eNVtCkLks3Jr5vyx ybkpr+C095e8FcdCBnVypQTwN+N+UCaa3BduXUGoQdEgYFRKGEQRriu5IA2UrNSx6lT3V5JPN1U 8HxLRAcQMuZYShbCYC+x5/vlBRnG0ZBw6K93JEAD/a599NFGeooJAegG7UPg5DMYRXe7xFrTBZU eVll+yqsL8L/7sBdl9NQTmQHeAXyo+x5Hg4INZCbSXTHU96/Wvm/sSVtzK3ktSq1uZzY8oQw4iG 0qCF0DOlpjsNLJdL2U8KVBoWLZv1xXKaxWdgADVDPW8tptrqmfHTOTV0oCZdrD3k8VGnWk6h74c DS/bTKd3yJOh4lyrdNClZrfHfpkI9/SPQ/vqY= X-Received: by 2002:a17:90a:e7c7:b0:3ac:9a03:20bc with SMTP id 98e67ed59e1d1-3ae5824d380mr1820262a91.47.1793194821494; Wed, 28 Oct 2026 06:40:21 -0700 (PDT) X-Received: by 2002:a17:90a:e7c7:b0:3ac:9a03:20bc with SMTP id 98e67ed59e1d1-3ae5824d380mr1820238a91.47.1793194820688; Wed, 28 Oct 2026 06:40:20 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793194820; cv=pass; d=google.com; s=arc-20260327; b=oBs6fSg3DCUFIm8zjo53T5xNM67MA1HQ9EKZuF7nc48AFCWXI2igXtdIhO2NWMdpkz 0JiNOKYXD0oAVtv/n+7RdXMm7uPy0fVRjZgIAOT5O0KAv7rM8XZI11y8YBxv69g2lMys TG2G5ZcCFtu7gusmPSzr5eVCzykR2xhOzmEKySCowUtgMH2CkowG+XWvdryo0T+rBLNK ge/TRSlBYcjgDiFbw7SNPh2cdQh2vd2JbSYj1mhweo+YjLIeGmSGR2Ia3d0509G7mPa6 mzfs0J8/gtD4L6vqDgzg2i+M8TZMGT2NJBfCQQr203V5zwEZNmuKX5zTw+FJb8ILXc9F 0C8Q== 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=s7VPeALV/Qfb9OSX4X5WvoWD/PTQxrjrSSjvcj5raIk=; fh=cZ72tgMlH9Mo/yU1ydTnVX7gSx4khQcwDMluwhixV90=; b=K9zeOlxeF75dv0SLH6ovFJkHAsslY36zX/FXetAj0HzGhoZPqQ1X+rx13rk958FYA5 OUWwpOqciEkJQCsVVtDocKN0vbYZPOTw/beyDGGcvJnAIFrwyWfUh3Z0GdnU7Tp27FBm XgFegRVNy9ybjExYdauzPSzWzjNCH+WRQbEXXiPdXJmpkpzD8g4gSQ7nz3t7yTs5ajWw n3gW/OFmvfVIznuGDivqLcXxUlSGWopOzLw1bNbsz2nRj5OdCPN0YYshLyXQ8PaSYtFV em3gRGN84tmGZLE9W+bP9D0hKtrTjiwa9kWla+HAQ+8rcZaxaq3aRsoreU9ybWhFzLjV U7tA==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b="xn/+fbRm"; 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:c20a::7 as permitted sender) smtp.mailfrom=andrey.zhadchenko@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 98e67ed59e1d1-3ae5ade914fsi4092711a91.14.2026.10.28.06.40.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 28 Oct 2026 06:40:20 -0700 (PDT) Received-SPF: pass (google.com: domain of andrey.zhadchenko@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="xn/+fbRm"; 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:c20a::7 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=sFZktLF+xiDhEAtvTvuoClhHp2R62FpWlT+0dbyZy+VbHNEWoW1hksvpm+8pjKHbNwiyO2kX7bNi0YrODUd/dHQP/7/IL8G6C+58yaupQxI8Xso6zszf4H6nzoDJlrlDftonyVB00C/bOFg/2Qkl7M7eNZgadWlygQC1gCdW35rWFCqzh+oItIPGnBisBhRjyX/DjxeRyxIbEkoc3d4/+P7Z86S2GSlC3/aYxekD1mivvEAojnU3CvmNgMrywIQeF4tR4467UgOxjUaB9qZJnZsniP92rWrO3sxDaTeT74ou64ItKeHssYsjptPG3nbrXPHOhU82q46P1ihiWMviaA== 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=s7VPeALV/Qfb9OSX4X5WvoWD/PTQxrjrSSjvcj5raIk=; b=P+6kqGDzxzUDTQpHieTGjLsLN2UL1dSdgiieYlEPOFOzVYoqSiwj5b/GMp0XRMiH4AXcbwZCgQgpJfdtKSiqTZBIusvPd+ALGONJIgRBHuZeEjHfSsi4JCCW46UhUXqm6YgnpScOPv1zu0jr2j0bVafXp9tqtgRmtUVDo5QQlPecSqA9aj9EEgTCNpyIVzouKWHl/rJ4k4NaCiO01/7e9rHgyjvCVqK1Go/VcWZEI8kr01zWxSB0gQFwQLtBgkl9zAiWj8f7T60pN+vAHRdwR96jHL72uZ/14D9kwOt6SZPFIrtjK1DZ2EUvo4VeuxgUHgqggoSXtifgbZbcHRlVtw== 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=s7VPeALV/Qfb9OSX4X5WvoWD/PTQxrjrSSjvcj5raIk=; b=xn/+fbRm6rAEy9giK/TM5HG2KBfV2MiWGnKI8suSHjTIwyaHNM9NVO7XlNhlz21toC62puz9Hn7loRhU7O14JReijXltgysblkowiGxFybHAlWe922rYRINK+pWxY9JtAn0M7QymWZobSuIWK6rCN/LB9XwIXVVb2OVp5vrx8dbxGMtiKbKGzeB3mvIwymsmabtmK84T4KNCRNh9bCABr2OSvcHEVSSuPsrw6xtWH7gs+O0gejYMb4TlFkqN50Fj1HlHoIleRdO3/NfZ0jcb3lYD6wboi4c2LxMjTZMoS6487zmILSP25BuZiesT3AtShaOY2oPpI76/Uk8NXr/s5w== 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 DBBPR08MB10505.eurprd08.prod.outlook.com (2603:10a6:10:539::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Wed, 28 Oct 2026 13:40:17 +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; Wed, 28 Oct 2026 13:40:17 +0000 Message-ID: <682ebb2a-b933-49ab-aed0-2986485725b8@virtuozzo.com> Date: Wed, 28 Oct 2026 14:40:15 +0100 User-Agent: Mozilla Thunderbird To: "Denis V. Lunev" References: <20261027163300.2166639-1-den@openvz.org> <20261027163300.2166639-3-den@openvz.org> Content-Language: en-US From: Andrey Zhadchenko In-Reply-To: <20261027163300.2166639-3-den@openvz.org> X-ClientProxiedBy: FR4P281CA0310.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:f6::15) To PA4PR08MB6061.eurprd08.prod.outlook.com (2603:10a6:102:e9::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PA4PR08MB6061:EE_|DBBPR08MB10505:EE_ X-MS-Office365-Filtering-Correlation-Id: 9b6e885a-06c0-453c-86aa-08df34f9005a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|1800799024|23010399003|366016|261021123027099003|56012099006|4143699003|261021121427099003|261009223027099003|18002099003|22082099003|261026121527099003|10067099003; X-Microsoft-Antispam-Message-Info: sjVNKvMsHJH95J1hAG9u2YOKqzKbequ9x6vg6wXCBaY4D3Yu3YNrAMpLj4+nxfqpFTNIgG7eQbtXjJvSdd+NnsN1nErr2rlcfheoGg0uoENxw0SCh6QoryNpSwifMWJFEUU/SG4eybBn9ETv+YB3SxFkQfmdNByroUBM1m9aWS/fyZVyY1V/H6QCCdB7UumC7nBcq2fQt7WfCJ0pFLtYul6tZKFx7Q0wdUfJaZB1JOvbOlqEzsK16apS2s4xh74G+zWtimouqNo2hZ0V9tjd5v2GbMF6+m0WBftBds9cajmjUEIBJoS8GCsFFwMSCIYr9p7GaoQLGMEaeePhxrGDeGvyTkUtGJAUPfsEGrS89gYBcIp1B8l13z74G4cTCa2Kj8QQBShDMxHrub6wPYy6S27A2Qj9WMlbf+OabQ0jePdszgiGgHXa8vduo8cINFfqy73DmpIgBWxPMQX9l5nw6dOAZc1G8b1eU90wP7kJVIxI9Oym7RjetZuyDIfuDJsqFYKH7A5zXBRhbRuoh4JISz8RvhWZHIOOZ6/6UnQnKW6xskuUPh4euFlqa2ScIwyqM5qTWHmqcz4eOCJgUFPx765CVrIhVqbo7l51mGrmbvBIx8D0nS524iuKsqLGv9RE 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)(376014)(1800799024)(23010399003)(366016)(261021123027099003)(56012099006)(4143699003)(261021121427099003)(261009223027099003)(18002099003)(22082099003)(261026121527099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Z1p2QnNzWmROUk5QTXd5MjU1MzYxK2hSNEU3OStwWk95Nm9CcVVJTW10MkNQ?= =?utf-8?B?eExRYjFobEFOMkYxRWgvQjFZZ0g3aFJpYjJybCtGamtmOGFSNUZVZGlSR1Q5?= =?utf-8?B?MWlEZm9MTEpTS1dqdWl6T2JJYnNkTEhkTW4zS1d5Tkh2MndUeExnajBaZHZF?= =?utf-8?B?M1FrUGtOK3ZuWU5ESDhLdnJlbVhZMDYwQ1dBaDIxVU43YTZ2dWlvenFHcWtZ?= =?utf-8?B?MHFTSkM0UUV5ajlDalNjc2JSQjhWbTF5d3lwYmJaRjFUM1Q0TGJiMm5HSWU5?= =?utf-8?B?S1YwNHF3Z3R2d0NnSXJ0ZE52a1FIWVdIa1VNZG1mM2ErSjd1NmMvazQzT3By?= =?utf-8?B?T3p2a0prSEFCVFRoV1RacWVyK1lwc0hTZHNmTm5aWnk1Q2E2WGJETHM0cWJF?= =?utf-8?B?Y2VUZVNMeUJpZFV6UkNZRldPRkk5NHFaMW5EaXlTQXkyL2N3YXp4NmJJYk1Q?= =?utf-8?B?b2ErRmppOHFnSzJHejVMbEFLT2tJZmhoWDY4L0NjTFpON21EOFA1NWhmcmhp?= =?utf-8?B?RzVodTJTNUNHSVdsa2V4dURYN0syQ2x5NWZaa3lQL0tiZENXemRyQlhROUNC?= =?utf-8?B?dzJQbHgybDVrTjQwWnpNNm1JcmZHR0d3anBUb0IyR1hBQTBZYTF5dEsyRnQ5?= =?utf-8?B?THdjTnBqVjdGR1hndmkzeWtVZFljZ0tpaDI5dkFnSzlmalZ5ekoyS3JVczVz?= =?utf-8?B?OGFyQVJlUVBDVWtKaVNUR3E2ZitMbWdvTHN6eVkwZXpzYnlyZzB2amRzZjRJ?= =?utf-8?B?clJXVDZ5bVRZc1JKU0JYb2d6c3JoUGZ2MFA2OVpwR0RsRzhpaTRmdXdtSnNn?= =?utf-8?B?czVmd2Q2QS82QXpaYUNuVWRBamxFVWVPbzNJUkgySHBhMTBhVjEwUUt2NVhm?= =?utf-8?B?K09jYndoanAweExCVU82anRYWXh6UU5YV25GdEZnQW5hYk9ISWUzdTIxT1F6?= =?utf-8?B?a3dsUG1uYld1TTVkaFhJUWxjd1hXeEpvK1djcVc3TkFVdUdZMjFaN0hPc3Bo?= =?utf-8?B?NjhHQmF0ZmZ5NlhGZGtoeGJ0MFRtU1B0WEpUYmRrV2NEcExsK0doZFc5eUYr?= =?utf-8?B?MzZ1VW10dmRyN0dnamt4RndWQmsybGtqR2FiRzVEQmJXTG51UnNxZWxSSmMy?= =?utf-8?B?eDg0bWdZQng4NE9WNmhCRXRWTGR2R0F3bzBtU3pIcWtRL2g3Nm45V1pLYmdr?= =?utf-8?B?aFllMFpZZUtaZ2JTN0Y4Z2JQTUJuMnUxQlBqRjhNZlZWVnNlWWMxSlZqeE9t?= =?utf-8?B?WDFmdDh5V0JCbUhHK1FlZU05aTRjWDlQcVNxcStHV2NCNFlkTm13UFpxUTFu?= =?utf-8?B?M1B5bEtqSXVTdGJZbit3NlpyU25KOGpOMkVaVnB4YnpzZEFoMjNhTHc1T2xs?= =?utf-8?B?dHhobmFOcU81SXplY1lWTmJjRENWaXYxYTR4Rm42cGl0Q1lBSG9NZkVYWi8z?= =?utf-8?B?cVdMV0xRbWFmcmZQanpzRzRDcldncndhYVpmTXh6K0UwVDIvRUl1RzVJTytK?= =?utf-8?B?S1hEZERQM0ZHWmtsSXNCN2dOWVNsaXNKVjZaOHR4Y1ozeUpyZ0kxaWtSZWpJ?= =?utf-8?B?WWhtSktQb3NtcXBaUDh3VmMxQ05QdDZNdkJrS2FhMkZjYjlIVUhyZlRDS0ll?= =?utf-8?B?U2h6YW1Sb2RPME5xTmNocXFWMG1vNWNTS2hBYjZGbTJzNDhEbzYycE1BamlT?= =?utf-8?B?eUNidEdpZ2ZHbWJ1R3VxSVdFZkoyWFlBeXNIVy9LZXdMSXhxYXFjcGhoV1Uy?= =?utf-8?B?b3lYdmNYQTMxM01lTitQR3FSWTlCdTFicmVJK3I2aTFmQU5BTlJ4dldjeTh1?= =?utf-8?B?Vkh6M0RVcTZFeFNLU3JxUUY5R2ExTERxRTBDajV4NHlYd0R5cVN5SVA5Wlha?= =?utf-8?B?SXJzYmMvV1J2MUYzTTllSTZ3SjNCYnNEci8zSC9XcHJYSjh3R0Mzc0JmUWhS?= =?utf-8?B?VHpiWWpXWFZwUWJJU2ErZHlnQk5zemkxeVptWDVLcEhXYnlvd0lLQ3JNYUsy?= =?utf-8?B?bXNqdllnaWdiZFFVMklxV0xFcFhWNGhhRjdoT2IvRWhiMnhOd0IzUnNYYlhF?= =?utf-8?B?WTJSdSsxM1RNZ0dtem5JVnBWNS83eVdscFp2ZzNRV1BSTlZUZWNrczBSNVA0?= =?utf-8?B?TXZxamdiUElvQWhDT3lORlhTdWFQS3lJdE4wWUUvQUhub3BTVVY4NnFQR25K?= =?utf-8?B?M1hsY0JiUExkSWJHVkpwU01qeFZudiswY1FweHFmaUF5ZUtCRUVHT3c4MXEx?= =?utf-8?B?SU9ORmlGVjZqTkxZMFJrYXJpaS9yMjNmbGQveklVSzZIMUx1cXZrNUwyZDFa?= =?utf-8?B?TU9EeVlUQ3RUbDRQOUt5RU5YUTZHV3UxUDNLelZCMml6QU1ObFFKeGJWbTdh?= =?utf-8?Q?234zn4G8osKC5adg=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b6e885a-06c0-453c-86aa-08df34f9005a X-MS-Exchange-CrossTenant-AuthSource: PA4PR08MB6061.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Oct 2026 13:40:16.9055 (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: B0azyQVYikFvt0fzi60gxMccK8+jd2ti+bbGl8s34VxDcJRSMYfHfT9Gy1ENZW2pwL3C1o+RHOGaFOxCXTdELhpZUX9S1RsHf/no943//LU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBBPR08MB10505 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 2/3] dm-ploop: renumber BAT levels when the latest snapshot is merged 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 On 10/27/26 17:32, Denis V. Lunev wrote: > From: Denis V. Lunev > > ploop_merge_latest_snapshot() drops the delta below the top one and > moves the top delta down a level, but leaves bat_levels alone. Every > cluster of the top delta then sits one level above the new top. > > Checks done with "< top" do not notice, but the flip of the upper > deltas compares levels for equality and leaves these entries alone. > After the flip they are still taken for the top delta, so their I/O > goes to the delta that has just become the top one, at offsets that > belong to the other file. An ALLOC or RELOC writeback resets the > level of every entry it writes back, which hid this for the pages > that happened to get one. > > Lower the levels above the dropped delta, as notify_delta_merged() > does for a delta merged from userspace. > > Fixes: 6ddad5a4d226 ("dm-ploop: Add ploop target driver") > https://virtuozzo.atlassian.net/browse/VSTOR-151979 > > Signed-off-by: Denis V. Lunev > > Feature: dm-ploop: ploop target driver > --- > drivers/md/dm-ploop-cmd.c | 22 ++++++++++++++++++++++ > 1 file changed, 22 insertions(+) > > diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c > index 5fa78e6cff9a..cfbba9b3e234 100644 > --- a/drivers/md/dm-ploop-cmd.c > +++ b/drivers/md/dm-ploop-cmd.c > @@ -721,6 +721,27 @@ static int ploop_process_merge_latest_snapshot(struct ploop *ploop) > } > ALLOW_ERROR_INJECTION(ploop_process_merge_latest_snapshot, ERRNO); > > +static void ploop_renumber_levels_above(struct ploop *ploop, u8 level) > +{ > + u32 i, end, *bat_entries; > + struct md_page *md; > + struct rb_node *node; > + unsigned long flags; > + > + ploop_for_each_md_page(ploop, md, node) { > + ploop_init_be_iter(ploop, md->id, &i, &end); > + bat_entries = md->kmpage; > + > + spin_lock_irqsave(&md->md_lock, flags); /* write */ Not blocking, but I don't think we need spinlock here. What actually protects us is that pios are suspended. There are no other users if pios are suspended and we are in the command already. If we weren't suspended we would have another problem with half pages with correct level and half with the wrong. So either delete spinlock or take it outside the cycle. > + for (; i <= end; i++) { > + if (READ_ONCE(bat_entries[i]) != BAT_ENTRY_NONE && > + READ_ONCE(md->bat_levels[i]) > level) > + md->bat_levels[i]--; > + } > + spin_unlock_irqrestore(&md->md_lock, flags); > + } > +} > + > static int ploop_merge_latest_snapshot(struct ploop *ploop) > { > u8 level; > @@ -748,6 +769,7 @@ static int ploop_merge_latest_snapshot(struct ploop *ploop) > > ploop->deltas[level] = ploop->deltas[level + 1]; We can also zero ploop->deltas[level + 1] just in case so we do not have any stale info afterwards. > ploop->nr_deltas--; > + ploop_renumber_levels_above(ploop, level); > > ploop_resume_submitting_pios(ploop); > out: _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel