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 A10248017D for ; Tue, 3 Nov 2026 07:36: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 6A37Ysq1001870; Tue, 3 Nov 2026 10:34:55 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A37Ysq1001870 Authentication-Results: mail.openvz.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=virtuozzo.com header.i=@virtuozzo.com header.b="njOJ6rQP" Received: from mail-pg1-f198.google.com (mail-pg1-f198.google.com [209.85.215.198]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A37YqnB001865 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Tue, 3 Nov 2026 10:34:53 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A37YqnB001865 Received: by mail-pg1-f198.google.com with SMTP id 41be03b00d2f7-cd8b299b0abso1617926a12.1 for ; Mon, 02 Nov 2026 23:34:53 -0800 (PST) X-Gm-Message-State: APuU4Z8151twFKOqjSfopjDc9IWkOmN53cKvxKwXFt8qT49J/FhsNNWf iasDiXzH1T58nIh+h8sFq7iyQEhAOKUgSrTTR1bfGjV0mI0x3ZmFPUVtwH3dW4VSTfGKhF1lQYX UmEanFJEIqhKxzU365r0XkKh9MPL3+2g3tff5mrk8wtn+uAtwbqKg8Q== X-Gm-Gg: AYBFou3f4wXZ+Z1eZ7eOMg9OZ0sz+AsHFLQTaqnFe7On216dkmZb037/j9apeX7KjDh 2XZPwongL0LMIMnreqOsNSXelfXLl1GZyvR25vAR/nLvC86E4ENi7R1Vzj+N+3OxQvko6lH+0co /4n+CnTgWDzs+jWJhUrHi4pKLTGH6byI04m80usmk7A0Q2+VPzBW+4iIekAZKVvM3NCeROWA9t1 1yzWtCO3HTfGVMXtQyDpAeo7fo1HS99NGjyWXRayJX36QweU7Gfn4wlMEpRsO88eg5v0JCiOOBE w4kzGWwQAZoHVK4YaRYMZllR2xKfcjWA0UYpiCeMVUSIL7Txy201mMAkV670+4Z7gMdOY3NKzmM WLJj6FmzXEu0Udm93bDVklCS80qWgrB3zjj9GVCYUybEAcTo53dKhaMd+HVsSG1zynOs/YbF4vU V821mKUogvoRntenyRSlgm9DURaqzxBlGD X-Received: by 2002:a17:90b:134c:b0:3ab:9c73:12f with SMTP id 98e67ed59e1d1-3ae897ee533mr10470418a91.24.1793691292230; Mon, 02 Nov 2026 23:34:52 -0800 (PST) X-Received: by 2002:a17:90b:134c:b0:3ab:9c73:12f with SMTP id 98e67ed59e1d1-3ae897ee533mr10470406a91.24.1793691291550; Mon, 02 Nov 2026 23:34:51 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1793691291; cv=pass; d=google.com; s=arc-20260327; b=h1n429Ik2v8mCCF3SD5+rS4Csqk9ZR5cJYceRqerXKuLFXjUvI6YgMPML6APv81t/5 kQq7Db82zRys52yuYntQvIjbLPoj203Nlv9xn9KeASRr6SOAf9Y24nvycpK8LYemExI9 F0HPNkCzdOnHTik1sQEB5ADcr/Ys6MCstLnQSYg1QxF3AtaktDOTNAnc1rQbtQ1BQgvy Yjs9hbGu/wvhKyCCkuEhsNs5elDL56Z3SLqj1CoxZlcSdtTr64PrS8NZKgt5fE6lXAUK uJKcWcIxZRn29CTwE8HLUJus+M7LQFcJ6iyNqbfTNeBipJCaaCQcPYdnFIumeYupook9 SsoA== 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=GX/jajxyMlOgSgsD8qKTdfgnet2X2KiyJ8/MFhWXnew=; fh=WX7lnLkMzOeCuhMZy9SAw9z6BeNHgGrBCGbuEYJyu08=; b=LAaW/58rtohkh9pxgpcLb1QXQZxCjY4VGfyor1aDyyCQ7udWa2EeXlXBvzAePWO7gB SgBGlnKpWoMz6IytkFWHdeWCVwMXkfx176Fn7vJcI0slOVBmuWgDNFMxxy8DD5RAd0OT sbH9N2ZLrWYFoRKvba5F5w4mkqhl4sXUJSRoMA/2eXm944sLrgIztfVwC9przBx2Xul7 gYL0CRqIxGkc3UzAksAnzBo3vSyoYzCGgQeqA3Z7zjmpFSrmxBDa3M08xS5KJVEbbZa6 4g7w0sAND6s7y+EVebTOd/jbkTvHtDhuixvAhqPoQkarQqknccZMzVkVOZpxedzkST2d 05wQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=njOJ6rQP; 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:c200::3 as permitted sender) smtp.mailfrom=alexander.ivanov@virtuozzo.com; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: from DU2PR03CU002.outbound.protection.outlook.com (mail-northeuropeazlp170110003.outbound.protection.outlook.com. [2a01:111:f403:c200::3]) by mx.google.com with ESMTPS id 98e67ed59e1d1-3b07c9d1a0csi3939251a91.17.2026.11.02.23.34.51 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2026 23:34:51 -0800 (PST) Received-SPF: pass (google.com: domain of alexander.ivanov@virtuozzo.com designates 2a01:111:f403:c200::3 as permitted sender) client-ip=2a01:111:f403:c200::3; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=selector2 header.b=njOJ6rQP; 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:c200::3 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=SgQo6EHwN3hy5906eVUeaSS6ZJe+iYRC0PTieyb4Ae+M9X4Z851g0jaslw+z2SH83YvMPWvJj8zJz7friCcvFfJsYcUq39p9YmidEmT3ofnX2EUGndtdaimatphwsUjeBk8tNyMNeKnviL9BzXKm/0g54sv/vfwINdlDR5OV5CB6jqxe7067GAQT1SOLRNu/yDjATacBfXdAUNd4khryWkdrcMEzhGEUd2527jzniJSA2xO4EWvauv9w86y4YnsIqpO8HFwHvaPyskzCMjyER6JG0U7rY9zTIHnjsB+oasa62TBDRJEOh1WveZjufZBaaWVbdZiSOPEkgABWbZqbiQ== 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=GX/jajxyMlOgSgsD8qKTdfgnet2X2KiyJ8/MFhWXnew=; b=tBbshOoq47ut7ktT7BPL9FXWg8gZwi/+vakeLAgC4D8kFqjix/5P2IYBV+PXiuYn0Fy74nmjIGb59docC7Kz+mgZzwIMzb9qPvH60sCIQ/uCE3YWtYjhGpqFlMDOd9u2yP2iSbjq10YIb/VZvE7KiRHURxyxRf1/7ieX4fpl2FSPGDe4e3aK9ZLnpgcnIM7eK0/3OPAjUC8tG6TxNpKJJNMzIJ76SIaZaFXHc5ZZ7qvWIde3vsG67/lp9qKfmJqi72hDZLJqtH6MSeWmq0zvbbb4CpITshFDUqvvNHXo2Cb44HumWPbKf5cTA6fj/tWMwg0p0WuRrI1Qao/kXzXmFw== 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=GX/jajxyMlOgSgsD8qKTdfgnet2X2KiyJ8/MFhWXnew=; b=njOJ6rQPp91cq1V4Klz9c7tcVWddT/eA4Mtd2RXe8WkaMucL5+nzykZxKRYyBANlWAnOqbiIgjOq/3A3kwp7bOuZRHLxjYzhOrb5BuHHkLuK4A6Fp4WvSNcQ8QGHyAy5Sh6FPhGOXrOZRKgoQLPN/FSDprBpZNjI8uT7/47lq67HtIURTdOV1kYd0JQ5kdLA/2HPCSk8KGrTCNVx+fDfGtc1zmveaUeOJ1a6p9K+svFamMRXts0Xx3aAe50wI4oKSa5z15v4eZgU0r/xI1f2XtBCmDFdSnQVuuGHbbRxwIe68rhDJ6hn8Km4CIX0cTkrc13ECWzVL5FmiA8PA59mNg== 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 DU0PR08MB9396.eurprd08.prod.outlook.com (2603:10a6:10:423::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.18; Tue, 3 Nov 2026 07:34:46 +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.0569.011; Tue, 3 Nov 2026 07:34:46 +0000 Message-ID: <31193f68-a276-41a4-b40f-fb90995a9635@virtuozzo.com> Date: Tue, 3 Nov 2026 08:34:44 +0100 User-Agent: Mozilla Thunderbird To: Andrey Zhadchenko References: <20261103061752.720813-1-andrey.zhadchenko@virtuozzo.com> Content-Language: en-US From: Alexander Ivanov In-Reply-To: <20261103061752.720813-1-andrey.zhadchenko@virtuozzo.com> X-ClientProxiedBy: FR4P281CA0003.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c8::14) To VI0PR08MB10743.eurprd08.prod.outlook.com (2603:10a6:800:205::19) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10743:EE_|DU0PR08MB9396:EE_ X-MS-Office365-Filtering-Correlation-Id: 96b67b72-18af-420c-5411-08df397cef10 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|23010399003|366016|18002099003|22082099003|6133799003|261026140227099003|261028144727099003|261026121527099003|261102123227099003|261022075727099003|10067099003|261022105027099003|56012099006|261021123027099003|261009223027099003|261021121427099003; X-Microsoft-Antispam-Message-Info: 4afZF3u8iHhg5llO1SThTtXfD+jyPfBmII3iosromSg6UDwVLx+I3Ft3Rpw4SYNXf/R51vm9Nzk/ze1NREvqZdTevPk+I0ZmCEukLTwn1Eo1DqqafBcgXuWBgBbRzgKR2/Rm4PAB1kOzKMLKtvaI1tN/BAhU6vgK/Zc4xDDViAe/I7L1uLaYO3ikA9SoNTbbk0AGtb+xMswdBz4T9RTFTsd1aqyxs3rtidyCT9fgoI9vUDRD3tbQnr1jTeMYictETixo4nfpRNePEMjTlY9aNl0Wn+4eopGrjMEkm7LeXllQ2gqQtBSqiHdLWuCLnRHb2SSLwRw3l9QPcB1b2hwciG+HT8EUPQ6Aa4XpunuqPzQllSJqo4UVA6GuJjLkKgLZt1bZ2VfgxCbBJGdlhyWWZEZ1m9WZTBQwpAnqQ1FrSxHgSrJt+MTTabvcTaFxQ/WsvSCihcOQX0BANIQpV8X4j4KZ6X8PcSA24SzIAJacv4Wp3tNO/o5pNDSQ7f/oRI6tJShUSUCa4ZWDstfbJCaWjejTAr4KBgs2+hBTikwiZf8D8qVWC+UVzIiq2ZtUfaKq9v3KnaQUhgIYSGKBWkNq/Z/leauVMjTbzh12iCX1x7zKQxmPBLr8tSjCf5sO2rcy 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)(1800799024)(376014)(23010399003)(366016)(18002099003)(22082099003)(6133799003)(261026140227099003)(261028144727099003)(261026121527099003)(261102123227099003)(261022075727099003)(10067099003)(261022105027099003)(56012099006)(261021123027099003)(261009223027099003)(261021121427099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZWs3ckN6TWQ0cTVxYnFSRjhPNktTZmxIckhoY3p1UjdCWnViZi8waGYrYnpt?= =?utf-8?B?dHE0U3lRemFxSFE3TTUvZThtTFFyclpiSnpBcno3ekZlL1VxYjRFQ1ZvRUp2?= =?utf-8?B?ZkxqOFRPVEZkN2FqNlZaQ0VpZlRmbXU1WTluRnJUck5yZzZ6bFBhT0taSlc4?= =?utf-8?B?RTY4SkN3bGZScm9XMGFPcG9Ib1I1U0NTdE94TExCRWtVZU9PZEgwMll3Vkxr?= =?utf-8?B?U05SYlFVRjNqSWpBRHkzdTBYMk9ZUWJyc0ZnSUZLOTY1eFJGZUtvU21YLzFO?= =?utf-8?B?MzgwYUFDak00K3RHOW9nd2lnNms2TE5lOGlUbEFQYjgyS2tXYzI4VzFTNUVR?= =?utf-8?B?d1JJdjM5SXFKYXhrb3JqNUlrMkV1Nkp5clhRczJvVmkxT0hGN0pEcTNORS9k?= =?utf-8?B?NHJPaVhkUzUxTit3amZRdEV1Tlg0R29jaFBOWkFNWmVaTnRISzVMQ1dYd1Zq?= =?utf-8?B?NWFGREdJREVFS0JHeWRkSXdmSHN6TU4xWHRtM3ZoWkxwRytyRS9odkd1K0xE?= =?utf-8?B?NjZNRTVHeGlNdHdmYUJhZ2ZJU1FxcnNFa2lXV1crajhSNWxVbVBES1NPd0Vh?= =?utf-8?B?ZDRpLzFoeVZ3UlFpN0EwM3V2b2NDMVVuRWdvWXhCdU8vb05UOWR0TWM5QUVz?= =?utf-8?B?R1RLZnhBVml1azVqTzZ0SzZiTzVRNzFxR2pwT2V2ejVKT1NWa25VMVFKMkxW?= =?utf-8?B?RnhNRVJrNC9WRm8rakpmdEV3emFWYXJYSmJsdjlUNDk0OFZZbm5wTEVZMTk4?= =?utf-8?B?SlgwN1hxVmZlQ3lsUzlTUXpTUzQ4YzlXYzkzR0dxdTZIMEFvU2pGT0lQOHU0?= =?utf-8?B?YzhvRXRhZjVBZ2RCN1VobVNXbkd3V2h5eUlKaVc3djJDbWdJL0JJUG1QbVNN?= =?utf-8?B?N3ZQYUh1cVFCM2k4SGRLVW5ReE5LWGQ4QyttajVlMG9qN05nMFY5cVVsM1Iy?= =?utf-8?B?R0lhZitRMnhzZXp5REdJVUw3M25SMUNqSTRtUXFSMGw4Wi9DNXlGWW15OEpq?= =?utf-8?B?OFhQQmhXVmVaWnVITzlHanZxZ2Q5eHRVM2s5bEZPL1oyeHFTaExSMTd6dVE1?= =?utf-8?B?UHVZNkNGK3RCVUdlL3pLZGlzaW4xQU1qSDN6emkzZ0xmM0xhcnBJS3VIak0z?= =?utf-8?B?aFQ2UzNFWEhiT2RIQ1NSVUQzQnA3MzY1NVhYUWkzT1dhbFQvQ01TQVg1TDhG?= =?utf-8?B?WTRvam5NSWZpWVhiRmlLeG13YmhoUHA5S0ZSTnQrY0E5RjdQV3owWHZMczEz?= =?utf-8?B?VHRRakFYTUw2c0hzS3RZckJuZDJqMnRtSnpjOFVmc1VUKzZMV2plTjF1dWx4?= =?utf-8?B?MFRkTCtDSlo4T0xCR2tTNUlJTmlaR01taVNHdVNtSWFNbzhnTVhlbXA3SUhs?= =?utf-8?B?WlVKZ2lpSG95Y0FrUjlRcXVUanF3TllzRHFJQ0NtVU91UkNoRUk2M0pHN1M0?= =?utf-8?B?NklGOWlnM2ZNa00xV1Q2SWlpeStBT3VEZVRZKzlaTnF5cDJQYW5HbVFOTWl2?= =?utf-8?B?ZHZXc3hoVUplSkZxKy9tZHc4L1czNHpmTC9iaXVneWIwZjRpd1BWTDFQVFB2?= =?utf-8?B?U0J4bmtGSmMzSHVhQ05aNGpFVWNYM2RPWkZTZmd6VmR4alAyNUcyMDlXMUlS?= =?utf-8?B?U3JCM1NaL1FmQjZMOHhwSVJkenFqeVAyVGx0dE43TkpkYUZvM0hHcTFHRlJt?= =?utf-8?B?RXR0SDhOTEljbkxYNHM2OFZVVFl0U1pDQ0doanVPdnlpcHQyQ1RCR1d4N1RU?= =?utf-8?B?aWU2MnM4c20xR0ptcVk5Tms2anhST0RBZnMrdVRIVDltM3dqcTYrc0pBYjdG?= =?utf-8?B?OXNMOEhlSStaYjN1emtjMVBpU2NobTJwK1cvT3BCUktRdWdTOUQ2bFl5N1hN?= =?utf-8?B?eDFoTDBPUWVaQ0tZbG1xc0JVbjZKQ3NMY3h1TGdGZ2MvQzMraDF6OWVOOStv?= =?utf-8?B?V0pzSC8xQjYxTThKUTd1VjBGdUNuRHE1c3dTd2szdjdhejRFYml1cTNSNk5t?= =?utf-8?B?K0psT0JINlVTaW8zRDhDdTJzRWVMNk55QkJwblA0QWxFSnFEMHdjOXdoWUk5?= =?utf-8?B?MWNsejE5djZvRUdiazBsdEkyS2pZQklKZGdYRE5XRzFmaWd4VFFHbVYxL3Ji?= =?utf-8?B?U1hIUUxJcmZEVVpGS21KbGU0OW1zcitNeTJMSDBDQUVYbTMyMXRPeFN2TmZS?= =?utf-8?B?aFpZaElDR3BYQVAxYnRUM1piVEUzMkFYQ3M0RitVOUR0MldjajM1bnFGUU1l?= =?utf-8?B?VDUzQjl2QzI2RmlvRXRmamdsYlFXU1NDRFhOcHVJbkQ2K0k1NTBScW9SYndN?= =?utf-8?B?UmlESHVGOXNuMGNsRHNFREthRm5FS2FiOHB5bTA2VzhlemUrN28xNHlUZCtj?= =?utf-8?Q?V7WjeHm+DtxhIGtI=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: 96b67b72-18af-420c-5411-08df397cef10 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10743.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Nov 2026 07:34:46.0561 (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: ebwJzmIbJpPJQy8m3n9u23EUnDY3XAV3t7c2TaRYYrCaxzhH22LYzZjmX/44wUjl8bGw+7tQr/Nk10Qc562ftVXu2Kn/+xcg622cKezedYI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DU0PR08MB9396 X-OZ-Fwd: true Cc: devel@openvz.org Subject: Re: [Devel] [PATCH hci-8.1 v3 0/6] dm/push_backup: event fd interface and fixes 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 LGTM with minor notes. Reviewed-by: Alexander Ivanov On 11/3/26 07:17, Andrey Zhadchenko wrote: > The push_backup target currently makes the backup tool wait for the next > cluster range inside the "push_backup_read" target message. dm runs > target_message() under dm_get_live_table(), i.e. with md->io_barrier SRCU > read-locked, so while the tool sleeps there anything that needs > synchronize_srcu(&md->io_barrier) on that device is stuck: suspend, table > reload/remove and dm_internal_suspend_fast() from "@stats_create". An > unrelated dm-stats user hangs, and everything that later queues behind > md->suspend_lock hangs with it. > > Patch 6 adds a file descriptor based interface instead. The tool gets an > anon inode fd via the "push_backup_get_fd" message and then uses plain > read()/write() of struct dm_push_backup_range to fetch the next range and > to acknowledge it, without going through dm messages on the data path. The > fd pins struct push_backup with a kref so it survives target removal and > simply returns -ENODEV afterwards. The legacy messages are kept for > compatibility. > > Patches 1-5 are fixes found while working on this: > > 1. init the lock, waitqueue and timer before anything that can fail so > pb_destroy() is safe from any error path; > 2. clear pb->alive under pb->lock like the other users do; > 3. drop the redundant mod_timer() in push_backup_write(). The timer > re-arms itself from pb->deadline_jiffies, so updating the deadline > under the lock is enough. This was also the only place that armed > the timer outside the window push_backup_stop() waits for, which > matters once writes may arrive via the fd without pb->ctl_rwsem; > 4. pass absolute expiry to mod_timer(). Both remaining callers passed > a relative value, so after ~5 min of uptime the timer fired and > re-armed on every tick while a write was delayed; > 5. arm the timer under pb->lock and wait for its callback properly. > pb_timer_func() and postpone_if_required_for_backup() both decided > under the lock and armed after dropping it, so a stale S64_MAX could > overwrite a fresh deadline and park the timer ~12 days out with > delayed writes still pending. Also, timer_delete_sync_try() does not > wait for a running callback, so one blocked on pb->lock could outlive > push_backup_stop() and expire a later session. With arming done under > the lock, the callback checking pb->alive and stop/destroy waiting > via timer_delete_sync()/timer_shutdown_sync(), the RCU dance between > postpone and stop is no longer needed and is removed. > > v3: > - 5/6: pb_timer_func() bails out when !pb->alive; push_backup_stop() > uses timer_delete_sync() and pb_destroy() timer_shutdown_sync() > instead of WARNing on timer_delete_sync_try() < 0, which never waited > for a running callback. Commit message corrected accordingly. > - 6/6: push_backup_get_fd() installs the fd only after its number fits > into the result buffer (reserve -> emit -> check -> install), so a > too small buffer no longer leaks the fd with its pb kref and module > reference. pb->dead renamed to pb->destroyed. UAPI type namespaced > as struct dm_push_backup_range. read() now requires exactly > sizeof(range) like write(). Subject prefix aligned with the rest of > the series. > > v2: > - 2/6: reworded the commit message, dropped the KCSAN claim. > - 5/6: new patch: arm the deadline timer under pb->lock and drop the > rcu_read_lock()/synchronize_rcu() between > postpone_if_required_for_backup() and push_backup_stop(). > - 6/6: resubmit_pbios() now frees the pbio before > dm_requeue_original_rq(). The requeue drops the md reference held by > the in-flight request, after which __dm_destroy() may run .dtr and > destroy pbio_pool under the fd writer's feet. > > https://virtuozzo.atlassian.net/browse/VSTOR-152912 > > Andrey Zhadchenko (6): > drivers/md/push_backup: correct initialization > drivers/md/push_backup: clear pb->alive under pb->lock > drivers/md/push_backup: do not re-arm deadline timer in > push_backup_write() > drivers/md/push_backup: fix mod_timer() usage > drivers/md/push_backup: arm deadline timer under pb->lock > drivers/md/push_backup: add event file descriptor interface > > drivers/md/dm-push-backup.c | 268 +++++++++++++++++++++------- > include/uapi/linux/dm-push-backup.h | 39 ++++ > 2 files changed, 246 insertions(+), 61 deletions(-) > create mode 100644 include/uapi/linux/dm-push-backup.h > _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel