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 C580A8017D for ; Tue, 27 Oct 2026 16:50:13 +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 69RGn3gg030922; Tue, 27 Oct 2026 19:49:03 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RGn3gg030922 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="Bn3TOjGU" Received: from mail-yw1-f199.google.com (mail-yw1-f199.google.com [209.85.128.199]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 69RGmu1O030880 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 27 Oct 2026 19:48:57 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 69RGmu1O030880 Received: by mail-yw1-f199.google.com with SMTP id 00721157ae682-8b0cfe694c3so64568127b3.2 for ; Tue, 27 Oct 2026 09:48:56 -0700 (PDT) X-Gm-Message-State: AFq9FYJmZItYxZ7+yWZj3Y7iHaSyM+cIHHdht6qd0lR9HIMcVLqBrHFJ f3pJNVMJ981WqjJPaDmyhMnpJIugYIKVKNnmyI4K2MSrMsuOmOMMXirB5E6Bpjxle1HnPAbkjln 2jVjYyBGy2cvGjI7t99wQrVUb8uOalYNpYxMWGfW48i3HJoif7VJSDg== X-Gm-Gg: AYBFou3o3BQHJQIxBsa+VF1qG/CAUH9scp27MPNmO5u2L55ryjzVxXcDmVpMIskvrs3 hSbFaL0kk18DjZBcsVVefXJusDLN3ACf44CgjI6D0LF5ewe5BITyGvtfuyXZ4UBuFeRAq4KlW5w +5R4b21RfOEDbVyVuVe8GnHTzvjbowQeIWpmjE1nExO5Nj7TqD8Ad4+1Or17PkR3QXe+OQPOYpF YKAG8id/srDzCk3tdkBd/VmQGkfmmLErTGc8bfgRIEPcYJpn3kKNBzE6JXyf/7C/Xyo+SSg59OZ hFUfCa2kMQAytCUAbABIUdQEJfuX9miT1hSiAgn3YK2+GceeLmIuzq+a0orVQNbz5OSrgnbYeqC 5mvE9qLzuGs3VxuIjOuT3pcEyV6AhD18wWDr26okVR4TpTPzSV4rvAjUniQiWIuI7pUd2Axg9dE l/vGSJcQW8qTcBN5pIXaDP+RlJzn9T X-Received: by 2002:a05:690c:a049:b0:8a8:6fac:21af with SMTP id 00721157ae682-8b166bb1b72mr74595537b3.12.1793119735474; Tue, 27 Oct 2026 09:48:55 -0700 (PDT) X-Received: by 2002:a05:690c:a049:b0:8a8:6fac:21af with SMTP id 00721157ae682-8b166bb1b72mr74595417b3.12.1793119734934; Tue, 27 Oct 2026 09:48:54 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1793119734; cv=pass; d=google.com; s=arc-20260327; b=neYrlD12l9bmi9W72FQaZfW+WFYONEebJKOiew85bgBH6o+1peNBwo33mhjT8uixQP zaSLp+JPdmmT+F4Q0Qy9zvXkVwsSs7QadJ5Zip3DXeDhyCZU+usMKrXyy77TiFqXdzqS ElE/WOa2h4Y8FLBeb58QEC1D6gwN3Jsw8b8Su5l6wbWA10v/g9vFnpo5epWnqAveKVzw vfW0mUlrqYvDgShywrbxMMsUkinqgO0pJix7nhejBVH/pnm2+ozE6zYBQCEsV0Trzm6V ZHLBUq2N0ytLQeTxtnr6X6cUBLh0Sxw/hZVW0Pi8gGKRZD1TdeLmcHwLqmCntS88fUjV n9ew== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=mime-version:cc:to:content-transfer-encoding:message-id:date :subject:from:dkim-signature; bh=MpX00OMBUtzb3xoMfDC5RlvP0p13AfNJa3YoUR9KS54=; fh=y3TfVeQA9QYtIzD5Inxiyys5ebBfyOgjQPZaP/+mSiI=; b=MczaaoK/gOCbopxmyakpH1Fp7l5FOsKpdrL0asAu+pfuKRx3mTagP95PiuiSMQyY+g FbLpV/AJbCBPYVZhri0ZnH5aNytSP7vC3QzIS0lNweSEZl1W5RwEWjA4/VerzRi/uLg7 Y8DrRrTZjXP+Oezsifad/b/DvaGxEzYoVQ0jt+uyBCreV0gtlbRTVwXpq7FwHLq2tg+g o1jC+wpZil+ve9Tt0av/GLrRcrEE6Iizy+n2AvuSVtxSsKXPRxSSLT1ZvnNc9rpZFCX6 OltWDe1cnCNHUA1XiTccbcmVcNmTV970vR7fSoum7Hc8UMYG/Ht5yveVE7Ea9eeVg4Og sNxQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=Bn3TOjGU; 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 ptikhomirov@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=ptikhomirov@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 00721157ae682-8b19e613a5esi19750767b3.120.2026.10.27.09.48.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 27 Oct 2026 09:48:54 -0700 (PDT) Received-SPF: pass (google.com: domain of ptikhomirov@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=Bn3TOjGU; 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 ptikhomirov@virtuozzo.com designates 2a01:111:f403:c20a::7 as permitted sender) smtp.mailfrom=ptikhomirov@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=eCLi6VJIHXzbmL8cbLTh7gDvEcqV4Df+LdD5US3OFSYNnDBmJYnkOQdX3RAbVTvs1E1D5VQG9TJYEKxDCpC++hVMcbyQsi+LGAeMYRSSkSSbhI2IJes96g37nbGVbTOBu/lU1+hW8awVGXNa9J8TB0HFHs/d3SnM41VhyXz4BcO6EWoj/n60SmUh93OVB1R1AO8VpZkLod72omHDGnXAXI20C2viCkXzqQxr1O3J29qPRS7dq2JjNuNvPBr4Z/sEqA4pr/563PePAJ4TrWnSiDALhzngg7Wpl2mgfRBjnO4OamB6Shr4pC1wzeUZtxe4uzVl2TD4fdpiiTGlGs35PA== 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=MpX00OMBUtzb3xoMfDC5RlvP0p13AfNJa3YoUR9KS54=; b=w7yeGq44WbXTuEDzWAW3ZblCIt6xoiEgN7ZkTacshjTa3Yr7zqSCbV04SIZPjvWuYbYk7A2luvB57Ho3LgW24DDm3TI8f8tojXe859OG2uUihk63sbC9CCmUWgepmZoqk9QVm4th4HiRT2jF3SQSaLgm35padrZoazAAXJltq0f9oey2dhTEhFq64wPnmeEvAHwGD4Wa9m4WKlk0Cr8xhCMuK5NxSDXZJRh1M6nbvOYuV+M252aMkgQaRT5KmSq/rkxdDmJzi1IkDZi9/KKpnX+PiyQmBOesRzqrC/5t+/3zoEdLy/rM4i8VWfqqcfkxfM4uaX5AArjZk1T0LI/qNQ== 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=MpX00OMBUtzb3xoMfDC5RlvP0p13AfNJa3YoUR9KS54=; b=Bn3TOjGUCERjKu3pd3f/Wa7IQffB2LuEDyWW2seLlZtpg/zvqMUzOt3e07cHHiTxsAei1G9+kwgTs2P72DJtO+PugbgcGWXBUeo6HCbmqgF5PdHiiAdDJIrsiWLVxsAbDyjSaBOCDmj6IlO2NW6uB0biDV7etF3dxSxbOc8gtoffhC/DX1g61xU/TKS1qqMfinDPgvNVONfUIrcHZ3ilzcIB38rcdop1+DlwrrnddBilYkAW61KvK7qm5owKo9zccYRprF9vVD4V2oNmw7f1xXGRjPLeaEkivNER/lfG58u6vqoOtbvvC+rBrbGBu83pIx8pLTSiEwQhyPaWUwQROg== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from AM0PR08MB11804.eurprd08.prod.outlook.com (2603:10a6:20b:747::14) by GV1PR08MB8668.eurprd08.prod.outlook.com (2603:10a6:150:86::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.22; Tue, 27 Oct 2026 16:48:49 +0000 Received: from AM0PR08MB11804.eurprd08.prod.outlook.com ([fe80::bf46:f137:f6d2:5b3a]) by AM0PR08MB11804.eurprd08.prod.outlook.com ([fe80::bf46:f137:f6d2:5b3a%7]) with mapi id 15.21.0546.021; Tue, 27 Oct 2026 16:48:49 +0000 From: Pavel Tikhomirov Date: Tue, 27 Oct 2026 17:48:45 +0100 Message-Id: <20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v6-0-f9870cf5c7eb@virtuozzo.com> X-B4-Tracking: v=1; b=H4sIAAAAAAAC/6XOwW7DIAwG4FepOM9VTAghPe09ph3AIQubGjoga GuVdx/JLtOUUysOxjL4+28s2uBsZKfDjQWbXXR+Ko18OjAa9fRmwfWlZ7ziEiuUcEnuY/RnF3y GHJMPgKLjUgGZBJrIz1OpCcInxKRDuTcdp4FXWGnNytpLsIP72sgXNpIDdUT2+juIs3m3lFZwf Tq6FfjewmXcPtyfIyOUU4IYbFDU2D9nF9Lsr1d/JH/eImT+B+HtHQgvCElhrcRWtXW1h9SPIjV UYNGQRK14p3cR8SgiCmJE33EuxSC12EOaR5GmIEr1RNQKI5T5jyzL8gPX4vgFowIAAA== X-Change-ID: 20261016-ptikhomirov-vstor-149268-cbt-account-at-rq-start-a592cf2010aa To: Konstantin Khorenko X-Mailer: b4 0.16.0 X-ClientProxiedBy: BE1P281CA0178.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:66::13) To AM0PR08MB11804.eurprd08.prod.outlook.com (2603:10a6:20b:747::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR08MB11804:EE_|GV1PR08MB8668:EE_ X-MS-Office365-Filtering-Correlation-Id: fa0e53b1-150f-4510-bfd0-08df344a2cae X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|52116014|10070799003|1800799024|23010399003|366016|18002099003|261026121527099003|56012099006|261009223027099003|10067099003|261021121427099003|261021123027099003|261022105027099003|261026140227099003; X-Microsoft-Antispam-Message-Info: lV6TusXBkZ4UPkEb3riMTBeU/WM+Yk/cgT/owoTcihw9foIyWGVuUd9C3xqHtDlzeg6+Hv6tz3hLDRyYpZJxlqVGi3COP3tDsw0yKw3fiMUUugdV/vOICWaRVbGi52S7I/shXfV65yiJCpEaG8rEbWUTuJUtosHpTN7pLrT8SlMrLvtALRKDt4Xpc5uL7eGee3iNCUcTFFx4xQS9m+G5kAFZ7cUbY9rifc6bCcbpON0RCEtM9UdahXK9+JumV2zF/6WXdc7kU9jVexubsBP4zqufQYE4KfvzIQOLncvYMedxOn/UKJ8BQeYetAcRh31ov9ltnARSNhVGqqQ819gA1I+kAFauQpGuVbRh9vqBVunIG0w/LThsS0Y8Fj7oh6a3ILf/4DAfObEDgr3IDl2kT9dA3zNncJiRt8BRGEuxw5t3DETvE4YE7eC1IZtlhERGHFAow3CIC2gFek+ns9whYu5j9sXMHxlvtngnYB6SajxNcnoa7l2ArMUVrz9gzMdo9lhmSXDW40LSimiwtZnGDsj3eQcSgtZ/4Mqx3/CAGcf7yjgFl+1ydzyo1ea4XrRTJeHczTRtZhF8XeO3mTywimDXI0v7yjjfhbdO2hPcbJnmtpHKEy4JOFGnsngG/nVg X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR08MB11804.eurprd08.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(52116014)(10070799003)(1800799024)(23010399003)(366016)(18002099003)(261026121527099003)(56012099006)(261009223027099003)(10067099003)(261021121427099003)(261021123027099003)(261022105027099003)(261026140227099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 2 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?R2FXOG5tNGlIZWxzR2lDTEdVd3Y2aTZrTGZvZWtlVHB6elZlWkZFSndoK3Fr?= =?utf-8?B?ZVVLQTduekxJUlF4UUhFcHo4bDVqOXVpZG1LekVBQVlLK2ZPWEZSQk9oaTd0?= =?utf-8?B?WW5GT05Fckw3MFF4TVdOVXgzeXRYWlNod1NMNmF2V3FzT3JTTW1aOVJHYWFC?= =?utf-8?B?cmdZaFY4dkFmZ0J1RHpzMXphODFYWnQ0Wk9ESCttQ3R5MEIybmZKQS9mWGR5?= =?utf-8?B?ODNCalNVYWhSSDVCSTdDTEl6OEhvSC9WVHQrcGxrekFuU2xtTzFMbWNnY0Jh?= =?utf-8?B?dnh5T1ZKdmxRYmdjRzR1MDVPUkVFd1ppM0VENXlBd0g2SW02MTlNeEVCbVpN?= =?utf-8?B?ajdvOE9NNEl3d3dpSTh2WjFsUG8zR21KYXB3R1ZheVM4bHlMVlFUWVJMcVNF?= =?utf-8?B?dVlhcTVPZ2UxSWo0THVubkpOb2pRZThpdHNORUFxRXFHRU5yelRpdmdhbmll?= =?utf-8?B?QkdmTzdSU0YxRXk1alNuTXh5ZFFBS2VOOE9DcU8vZW9EcS8yaGs3QXlmVkhx?= =?utf-8?B?dHV1dnJUNmR1UTlHVExRMmRjQXV0a2cwNzBHUm4yajRaNmh1K25XamVOOHd4?= =?utf-8?B?RnA1MWR6Y2RvQU1XY3pWZldVR0ZDZVpqMEhINXd3MTRvbExPcTRsOUF1Smlq?= =?utf-8?B?ZU9IVzFzZlNObHhpN2Q5L21xbVZJSHE0TEovaXdSYUM4OVRLaUpEMnNlTDg4?= =?utf-8?B?SGZGaXo2V1dyeUxuMkdoTVJ3dVUwTzhVY1hpVk5xZ0E0R3hPY3piUDJxaWk1?= =?utf-8?B?am45bHZXc1BLV3ZjQnZ4cUtTdkhlek9xUEpaamdzS21YTnN3SUVkWTBIZm9C?= =?utf-8?B?VE5TeWZUQ0d3R2F6WnliQVdha3hhc3BVdkVYdENUbnRaYzV0NEJBNEtvWmdD?= =?utf-8?B?R01aQzgvQ1RQSGR0UkRFSXlzYTNPZEN3OXcxcjlxcUdhVUVOSHJCMUVFWktY?= =?utf-8?B?OStNQkpPaFR4SkZEdHBJbEdsRm0xN09OLzFQMHJYTDdBMTAyZHBSeXhFOWtl?= =?utf-8?B?SFIrcnF5V2JBaWoySjRDKzdRd3lOQjdSWEtRU2p5L3FFUzZRWHdsYmNSMlVT?= =?utf-8?B?RkptR29TcjZlcWxweXAyUkYrVTlsNE5EUDVnSFdOQVVOTGp0NnVEeDQ5dzNJ?= =?utf-8?B?ZHhPK2t3ak1ZZDI5QkxvQk8rVytEVWxOKzI5dHI5aHdWQndIKytOM3dMYy9O?= =?utf-8?B?TG5zZE1ZTXZGSGxaSXU0RkMyTzZFNDdUdnQveG1Yek53dlBFRzBKZkJTdHNB?= =?utf-8?B?MUpkd3prM0toTmNPYXBYaXpqb3ZwR3FFdm5TT0ZXMkdIREZselhGNVBnMFpk?= =?utf-8?B?Q2tmaCtEcytKU01UK0x6eE02amttYm9UWlByQk1FaGdkUVc1ckZOZUw0YW9C?= =?utf-8?B?YWcvdWZBbFpNRkt1UmJkQlVnYUMydEtNVVRwRXdQQm1GT1QwM3JMSXV0Ymsy?= =?utf-8?B?aHdnaW56bkVjbHg5M3JjbjJyTUNOZzFwVVdvOEl5TC9pMTZNdEI0ejFKL2F0?= =?utf-8?B?QitqY3ZXYUR5U1YzaGprQlFNOVREblJpZktVMi9hM3RPL2l3MTFNUHZhZkdP?= =?utf-8?B?ZDdBZXpObkw4ZFhLaHAxTzRrVklnb2tpL2U1dHJBdjkzclVvQVIyV1Q2aXkz?= =?utf-8?B?bDlyTWswL2UrYVZ0a0N5OWd4WXBRVHpFRGgvcXZFNjk1S1pPRzJhaUdDSEln?= =?utf-8?B?TlFHQmRXb1Jsek9NQ0F6NnBiUjNwMkRobHZaMzRKSDBqNDhqSHJTQXczVmNz?= =?utf-8?B?dkE3NnF1RHZ3ZlFWajcxcCtNUys0eXFjb05uRDE1TlVuWXkxRy9iSmZKeWg5?= =?utf-8?B?cmlXVm8xRUp1a3VxcWloKzVYNHJnYTdnRWh2NGhoRDlwT3RiQnBDUjVMVkFT?= =?utf-8?B?ejlDdTlRcG1hdjhtd3RRTTIzSlpJTi9pNzRzOEZ2enJaUHRER0NxNUgzTWxh?= =?utf-8?B?UEUrVWRhOVBtMHpkZ0phaHY2RGRpV0xoZG5yV05DSndCR0NaYU0rWDRIdmVM?= =?utf-8?B?SDRrc2Z2OWxnaU5UTUl1cUZMd0RlditTTDJJTENTK002VU90eTRuSmdGWVVh?= =?utf-8?B?Q2xBaDBPL3pyMjEwWlJwcjlDa3d0SHNreXZldzdKdGRUY0kyV290M2dXMW5I?= =?utf-8?B?UDgxSnNLeHpVYkNhNWtkektGb29BT2w0SXBxdW4yYnMraCtaZUw5c09IZ3Bu?= =?utf-8?B?Ykxod2t5dFhDMW1jOVRSaVZlV0ZJelMwTkcrRU9pU3ErZ2g4eXVmTTNKUi9N?= =?utf-8?B?dFhWWnFIM0sxaHY4SEp6Wmx1VXdZNUo1QWVNeFpxR2xQYzFrcjBWSnNUSjR1?= =?utf-8?B?M1VoUzhXU1dmS1NHazhYWjJOVlpMV05lV0NuN3pwbzJNTmZsYTVWd1h1TUNl?= =?utf-8?Q?mYgtrMOmWrSmluCudFNrfl/5K+eZsNaBYhFGchooO3BjG?= X-MS-Exchange-AntiSpam-MessageData-1: 346GCzvYDUN4IpdxtTZMRNGDD7T30lG12qQ= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: fa0e53b1-150f-4510-bfd0-08df344a2cae X-MS-Exchange-CrossTenant-AuthSource: AM0PR08MB11804.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2026 16:48:49.2561 (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: s8+0sFNOcGYmCrGPMXEJX5Fvd27BumRioTQ/0ANRj8XrcplvbagoGZldMFvR2tD+rDyp3KnthQKNbYnXAUywInGgKfmPigaWM+6IWRHKiSI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV1PR08MB8668 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v6 0/7] block/blk-cbt: don't lose writes held across a dm 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-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org Fix CBT missing writes that request-based dm holds across a suspend, which made incremental backups taken with ploop-backup silently lose data. Claude tested full and incremental ploop-backup under write load (a random writer, and fio with 4 jobs x iodepth 64): the incremental backup lost blocks without the fix, and was consistent in 30/30 and 10/10 runs with it. CBT start/stop and device resize under fio ran without warnings. With writes throttled by io.max on a loop device, CBT recorded 24 of 64 written blocks without the throttle patch, and all 64 with it. A RWF_NOWAIT write into a missing bitmap page now fails with EAGAIN instead of sleeping, and succeeds when retried without RWF_NOWAIT. https://virtuozzo.atlassian.net/browse/VSTOR-149268 Signed-off-by: Pavel Tikhomirov --- Changes in v6: - New patch: load a map slot once with READ_ONCE() in CBT_PAGE(), as a racing CBT_PAGE_MISSED store could make it return (struct page *)0x1, and install a map page with smp_store_release(), so that a lockless reader never sees it before its zeroing (sashiko review). - Store CBT_PAGE_MISSED with cmpxchg() instead of under cbt->lock, since taking a spinlock_t in the flush IPI is not allowed: it may sleep on PREEMPT_RT (sashiko review). - Skip queueing a page allocation that is already queued, instead of taking cbt->lock for every write while the page is missing (sashiko review). - Link to v5: http://lore.virtuozzo.com/20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v5-0-88dccc74b48b@virtuozzo.com Changes in v5: - New patch: store CBT_PAGE_MISSED under cbt->lock, as the cache flush could overwrite a page installed meanwhile; the allocation queued at submission in v4 made this much more likely (sashiko review). - New patch: walk cbt_list under SRCU, so that a sleeping bitmap page allocation no longer drops the RCU lock in the middle of the walk, which let a concurrent CBT stop or resize free the next cbt under it, a use after free (the pre-existing problem noted in v4). - New patch: don't sleep in CBT for a REQ_NOWAIT write, fail it with BLK_STS_AGAIN if a bitmap page is missing (also noted in v4). - Link to v4: http://lore.virtuozzo.com/20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v4-0-b4d92264f6a4@virtuozzo.com Changes in v4: - Only queue the bitmap page allocation at submission instead of allocating there: the sleeping allocation dropped the RCU lock in the middle of the cbt_list walk, and could put an extent into the cache of a cbt that a resize had just replaced (sashiko review). - Link to v3: http://lore.virtuozzo.com/20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v3-0-e1bc61a829a0@virtuozzo.com Changes in v3: - New patch: account a write delayed by blk-throttle in CBT, as the throttle dispatch work skipped CBT (sashiko review). - New patch: shift the CBT block size as unsigned, and use the unsigned shift in the new cbt_set_present() too (sashiko review). - Link to v2: http://lore.virtuozzo.com/20261027-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v2-1-c64ee6178730@virtuozzo.com Changes in v2: - No GFP_ATOMIC allocation at dispatch: bitmap pages are now allocated at bio submission, and the dispatch hook only sets bits in present pages. - A page missing at dispatch (a write submitted before BLKCBTSTART) is allocated with GFP_NOIO from the kblockd workqueue, and dm-rq returns BLK_STS_RESOURCE so that blk-mq dispatches the request again later, instead of setting CBT_ERROR when an atomic allocation fails. - Move the hook from dm_start_request() to dm_mq_queue_rq(), before the request is started, so that it can return BLK_STS_RESOURCE. - Link to v1: http://lore.virtuozzo.com/20261016-ptikhomirov-vstor-149268-cbt-account-at-rq-start-v1-1-1f20b151431d@virtuozzo.com --- Pavel Tikhomirov (7): block/blk-cbt: shift the block size as unsigned block/blk-throttle: account a throttled write in CBT block/blk-cbt: read a map slot once, publish a map page with release block/blk-cbt: don't overwrite a map page with CBT_PAGE_MISSED block/blk-cbt: walk cbt_list under SRCU block/blk-cbt: don't sleep in CBT for a REQ_NOWAIT write block/blk-cbt: account a write request also when dm starts it block/blk-cbt.c | 303 ++++++++++++++++++++++++++++++++++++++++++------- block/blk-core.c | 5 +- block/blk-throttle.c | 5 +- drivers/md/dm-rq.c | 3 + include/linux/blkdev.h | 12 +- 5 files changed, 285 insertions(+), 43 deletions(-) --- base-commit: f5d1fdcfffe101fe2bafa7df09d95d2e811c5c5e change-id: 20261016-ptikhomirov-vstor-149268-cbt-account-at-rq-start-a592cf2010aa Best regards, -- Pavel Tikhomirov _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel