From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from OSPPR02CU001.outbound.protection.outlook.com (mail-norwayeastazon11023134.outbound.protection.outlook.com [40.107.159.134]) by lore.virtuozzo.com (Postfix) with ESMTPS id 6B9598017D for ; Tue, 20 Oct 2026 16:31:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=X1OoDZ3M1Z0bQZFq8DmGMDXfl85086Eu5Bg38pD6bUOnfeEtzBjaPfmq1mNrqEVdsZvIZmMkU8d4CVsnO1JBwJMXXgjvK+pfE4EFnF3HUvNuwpT8WuBkDmQYcz01n6II7sD/lu5p1RSqylgAHplOhunJDaMDaVO2qtcu9OkgbxDueFaVeUL+Fs9MYHE+xYrDux/tkaVtN7y/CqrRHfyUArrDnEu3Ya3i23WSC1xxxHvVrPaM7C6w3vlteR9D18dmwxj1NCv1nbKZl/E08aZfd3nLH2PCOSVtPFR7TpQXL9yDCrgiuXBPQgTQZjzhCnoH6jTI8ZmZvGLFtA5DU78oXw== 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=43lWyx0ZlCVo/u0s+uBs0nNdzh8FTrKPOaBoqgbxKXQ=; b=u5G2PiO3bjfiUtTU9yX/rCO6x8RZcwi3EZjSEi22wX9wP7nBhDqcfuS8JFrXpj/0LwWO6Lr+2Bp5hpJ3p6MdyPv9GkbHpBdzbIuujWhvGqw6enFlxOmjFqsOY0kyJvvok+RFEAq9C0cYdpIGGDw9ZDgA/pRnzOCvsc6HPA0DCc9XVnj8rRV5b3cyFxCXwBEPoy69zD4IQHT1BwyaHaZ4w361rAlmxt6q9mcsjEx2hv+dSVBXRFOlM3KK+2UL0Mh0F8geLnSPVp3fDpusa3kIbhg9q5ODJJCbGwIA9LGqXWhL9zFsFXG9iSOmisqSIFJvBIXJlfx8vLaSihLpLJoADg== 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=43lWyx0ZlCVo/u0s+uBs0nNdzh8FTrKPOaBoqgbxKXQ=; b=w5sfRvQbEREdVDnGgxW6bYIU9K2PgDR23lsd+tVc1Ng9y5K7y4D5Mp8x1y0Uh6D6ofY5Ti5IpTLssvTXytay25+A23qKMgScFZrucbwSEyTHt3WDK7ZvUWLPo4BWQ8uZIuXpdJuqBo9Dd0sH+j48TvVcCWcdbVKypV4AYXjH1/a9Z/8lN19zCnrPEQEOC4rCQoN4KR2iWkQ0N/11qs3Zb4AeXWPrknWvqVYPMIn2u8r7esj5W1FWOgoIqduGqx+IfkPAW3gwpCpueMiDvrV7byxkhY9fOt/9Ji8QgFLH+cvCFarWVDR3J0175S/UPKtkPjVI3Qf+jYKLYCiEc1sn7w== Authentication-Results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=virtuozzo.com; Received: from VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) by GV2PR08MB9373.eurprd08.prod.outlook.com (2603:10a6:150:da::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.546.12; Tue, 20 Oct 2026 16:31:34 +0000 Received: from VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8]) by VI0PR08MB10656.eurprd08.prod.outlook.com ([fe80::4e37:b189:ddcd:3dd8%7]) with mapi id 15.21.0546.012; Tue, 20 Oct 2026 16:31:34 +0000 From: Andrey Drobyshev Date: Tue, 20 Oct 2026 19:31:10 +0300 Subject: [PATCH QEMU HCI-8.1 v4 30/31] VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20261020-vfio_v1-v4-30-83a5668230e5@virtuozzo.com> References: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> In-Reply-To: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> To: svt-core@virtuozzo.com Cc: Andrey Drobyshev X-Mailer: b4 0.16.0 X-ClientProxiedBy: VIUP296CA0056.AUTP296.PROD.OUTLOOK.COM (2603:10a6:800:34b::14) To VI0PR08MB10656.eurprd08.prod.outlook.com (2603:10a6:800:20a::12) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: VI0PR08MB10656:EE_|GV2PR08MB9373:EE_ X-MS-Office365-Filtering-Correlation-Id: bb4ef595-cc5f-4957-3803-08df2ec786f2 X-LD-Processed: 0bc7f26d-0264-416e-a6fc-8352af79c58f,ExtAddr List-Id: svt-core@virtuozzo.com X-MS-Exchange-Transport-Rules-Loop: 1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|23010399003|1800799024|52116014|376014|366016|5113699003|18002099003|22082099003|3023799007|10067099003|261009223027099003|56012099006|38350700014; X-Microsoft-Antispam-Message-Info: V5GOlHYBtxJpfjesRj2R1AtgWb0gpjbOTq8YdS/bzR2tNtnnoiyBmEmJ7WowhVItpYNDF+RsgeRyRfRXeWwtMuJ2GpuFVqAibd58zuMdfea4qTAJGeTgD3s53KZkgQCxlfsqGnicyg183DRUPy+QRTQXRy9XnF5uYef80URCCypj/DupbwAtvW0xqUckB3Ouci6EZg7ulgIsoAxbMquoxfRRe5PPii0u6gM+3WdGerxdNWsK7xA+Xdk4bR8fWIyagPr7Aq6wqV9kldX4GFOpDhR5oC/s5JGCLsdhg9r2/FiyrMGBrXadawMlTFNGRknvnwEv7dOd5xCponRr+HKfOHN2KfG+czuXnbUUOUE1o9R+d7OieM18rGOX+UEJcXQoGZLK7pDVO4MjXTCpFEstX8O7mXBcSIxLDH+9g8CildGOsphMdaxhrx7Q6x1lFyI16+vUFcOqwS93ZId+gSti9MfTN+E1X2y9brNtXaANwmkta/kE8xcP48i6jb54QgtzZw4FPWYPUsmt46mkMSiY0BT6JJeogx2xcHzf8SdGgF135VNhA5LoVaGxh62BtYYig69D4XeKwZwbFiXT74z1lUjaSAXRq9SrPVO30lfbG+dRxJBf2K+Uss73n0Gt908pKgpQrp4UckVhLvlimjLG26rnR8TU9f3kcBW8iZtZSime7V8vDczldNdw38LZYfidugCSO3GLBg2mZbDtpl2lxe3PsTflkhrQjiThLgCApuM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI0PR08MB10656.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(23010399003)(1800799024)(52116014)(376014)(366016)(5113699003)(18002099003)(22082099003)(3023799007)(10067099003)(261009223027099003)(56012099006)(38350700014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?dlR0eXZPWHpWbEhIZHJXUWdaRkp1SW9CclppS2FQVGpZYVc0dk5weHRnN1Ra?= =?utf-8?B?YVY0Y21TdUtFUjIwU3RCak9XbmlacytUdlgzd0VkTStkajdncStBRFBVRlUr?= =?utf-8?B?WFlTWVIxeDFvNlE3V2lXUk14UVI4VUowNUdtazNNNFNHbm9yTko0NVFMa1NM?= =?utf-8?B?SUE4SU1jQ01MOTlYbXhubkRjRXBnUUxFYkE2eEtwZ1dkTUlzb1pGYk8yU3Jx?= =?utf-8?B?S0g0NHoyeklaTnBZTHhobit0SFJ1dS9JOTcvSTdUMlpZWEhodmRQVjJreEVW?= =?utf-8?B?WGUxRXpLa1d5NThHTEFETXZ3TmJLc0lsZUpZK0YzdGN0OUdiaTUzU2hURGpp?= =?utf-8?B?eC9kekxDY002MzVxQUFkdzdBdlBwbkZmTU4zQVJDQVpmdm02eGFNZUVyZDJj?= =?utf-8?B?V0xjZEFOS0Y5OXpEa2dtUm1nZTlPOVhYMFBtUWkrb2U2VFdwZG8vdUtheGlH?= =?utf-8?B?ZmI0WlczaHBhSk4rSC95VW5hUzZtUEpocDFlMEpqNzRHZkdVWlNTRWh6QjhK?= =?utf-8?B?cmhMMndHeWY4MDlhVHoxeEJiVU01RXFOMjhNT050ejkxT0dNNlV3Z1RLYXRl?= =?utf-8?B?YnMza1p2dzR1Y2piTE8wbWpmUXV5N1pmM0pvalFZK2NLbEdYdzlvblJjU1VT?= =?utf-8?B?T25rM240V3NIWUNldHNxZ0xZN2ZIU3c3aGxmS0YvZ0hGRHo0Z2JMREhYQ2FR?= =?utf-8?B?RmxWdjdpbTRucldrcGYzZTZ4d0JnYVlKeVAvdExQMWpkenhTVWtDRjNaa0to?= =?utf-8?B?OHd5eEtBYzVFaFhQK1hBR0ZVVHJhajdjS2ZOeWFETmhNdFNVc1d1MVVWYnZo?= =?utf-8?B?L251QUNXbmY3OXZDaTN0ZE9NMk5Eay9oOHNtYThTYkt1MUhNMHdtWlJnczh1?= =?utf-8?B?RnRDWjdHVjBuSm9CNFVsUEUxME1hSStQelJzOVB4TXdPbkJEY0xxQ1FQSXUy?= =?utf-8?B?T25La2dHbStxVWVFcWlseEJzVGc1UDlUdm94TE8ycFJzeHBpT2hEMWdpRmlp?= =?utf-8?B?QkNnNEdwSGZLcTFseGxGYXhxckI5bU1WSWFZenEwOEdKaFM4TWRQUlRCYWtF?= =?utf-8?B?RlIvbE5ncVE3bjlvZFVCdllDWkx0Z1ZGSE5nbkJYd3FxUURYVStVT0xoeDJM?= =?utf-8?B?MzJIdmNNSHgvMHNuUndxbTVqWm5qd2RhdEwxRzVETitZVW1CWXRIc2FNZWZk?= =?utf-8?B?MTFRcW1xbFJYaTRQWmpQNzVxaUxYR3Bqb2lDTm5CeVJNR2VtOHBUM0wzcHhM?= =?utf-8?B?VjlxdWpDVmRPWmp4bHJXbkhObzFoWkcwRzk1U1NLalI1U1pORGhQMC81YnNE?= =?utf-8?B?Qlo4R1BLaTg3ZklCS25NdzhqSzBraVd4dDMzaTVnWW96WGpGeWFHV3pmS0di?= =?utf-8?B?WGp5b1NiN1JJdjZHNUt2dndaSlpFVlRQcWNaYjE0N3dJb2NTUmNIekNFaDVk?= =?utf-8?B?SFErclJ6Mk8vMzhkV0dxcjUvc1lwamt2ekgwVnN5VW9HcEdTMzdQNDFyQ21F?= =?utf-8?B?RnFGU0NsQWlyZFYzWDJvZTNLSmYxdW0weklnUk50Z01tRzVFeUduUW1EaEQv?= =?utf-8?B?cHJ5Z1RiWmhkdWovTGg1c2g4RlFaYm5FbzhyL3VVWnNiYWg0aDBTM3I1RmxK?= =?utf-8?B?OERTZFk1MGtoMmNKSm02cUwzbXlGRnAvVkVPcHg5SzhwYlZPWjF0b0tBKy9m?= =?utf-8?B?TlB0eUpWRmlwNFZTSUlyYlVoMTNhL3VoaFlZRXkyYUhBVld4NFBCMG1mbnpi?= =?utf-8?B?QVZ6NU0rWlV1YURlVmtNbXBQaVdpNUVrUHpjVTBvbksxRDBEWFhSWGtyeUpZ?= =?utf-8?B?bG9DdlZ1cnFLYlVzNXNSTnI1Sjh3WFVPbzhLckZOMU5SYkNJRlFYTXBHVmdN?= =?utf-8?B?MFJxWWx1YVlsM3piZERMSmFyNUxXY3hTSExCbGo4NWpnanBJT0lCVVVRa0JD?= =?utf-8?B?ZVRScUxJUHI4elJmUDUvS1V1cFN3Z0xUTzdMWCs4MDhqSVozNW0zTzEwMnpo?= =?utf-8?B?SENDZStSZlE3Mmg4SmdFUkZ1cUlCaEUzM2lYS2p0Yk1BTlMwZWtDckNKRWhN?= =?utf-8?B?cGlzcGVhUllTY2o3RGdpeEFjdFJjUUhvN0g0c0xybHZ4ZFlOcEMzSGJYRWJD?= =?utf-8?B?Qi9RMUlaT0tUa3FBNUVGSWhDZkRKSVFIZ2swVWs1Ry9LdDNHOUxHVGtLVXZa?= =?utf-8?B?T3RhZERLZzRuZERWWlNsS1NLblQvdFJLOVhmNkNCWDVpZWlOSGtXRWN4SVMv?= =?utf-8?B?akxjbnFlQTM5aTZwWUxtSE1Kc29BU3lJeXpBOXVPU3JRdVIrZ0dWLzk4U1RQ?= =?utf-8?B?RXlBeVR5YkRmWnpCTVFZdTNvTlo5UDgrTG5wU251MzhadEVqRVZkajlQeUp3?= =?utf-8?Q?VKa/zjPhlaT9sB50=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb4ef595-cc5f-4957-3803-08df2ec786f2 X-MS-Exchange-CrossTenant-AuthSource: VI0PR08MB10656.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Oct 2026 16:31:00.8269 (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: a0Y8cVTbz21tkOIWsinIjfnQDN/gO8EjG196rxVOaaNqjCvtndiD0GST6N+nCUHWoEpTIanf5/R4NIb+3W/m25aKoSkUtro/arZj5e8Mmg0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: GV2PR08MB9373 Commit bb8da93ddfc4 ("VZ: migration/cpr-exec: enable checks prohibiting cpr-exec #VSTOR-108564") introduced restrictions for cpr-exec migration mode. Among them was prohibition to do such migration in case of presence of any VFIO devices. Now we want to allow migration with such devices in scope of VSTOR-103860. Therefore, let's lift that restiction. Signed-off-by: Andrey Drobyshev --- hw/vfio/device.c | 5 ----- include/hw/vfio/vfio-device.h | 2 -- migration/migration.c | 3 --- 3 files changed, 10 deletions(-) diff --git a/hw/vfio/device.c b/hw/vfio/device.c index 2a7073ccec8..d1b595adb71 100644 --- a/hw/vfio/device.c +++ b/hw/vfio/device.c @@ -36,11 +36,6 @@ VFIODeviceList vfio_device_list = QLIST_HEAD_INITIALIZER(vfio_device_list); -bool vfio_devices_present(void) -{ - return !QLIST_EMPTY(&vfio_device_list); -} - /* * We want to differentiate hot reset of multiple in-use devices vs * hot reset of a single in-use device. VFIO_DEVICE_RESET will already diff --git a/include/hw/vfio/vfio-device.h b/include/hw/vfio/vfio-device.h index 935000f0074..fc28f580ba3 100644 --- a/include/hw/vfio/vfio-device.h +++ b/include/hw/vfio/vfio-device.h @@ -162,8 +162,6 @@ VFIODevice *vfio_get_vfio_device(Object *obj); typedef QLIST_HEAD(VFIODeviceList, VFIODevice) VFIODeviceList; extern VFIODeviceList vfio_device_list; -bool vfio_devices_present(void); - #ifdef CONFIG_LINUX /* * How devices communicate with the server. The default option is through diff --git a/migration/migration.c b/migration/migration.c index 3732751e66c..14c883b1bcd 100644 --- a/migration/migration.c +++ b/migration/migration.c @@ -2111,9 +2111,6 @@ static bool migrate_cpr_is_blocked(Error **errp) } else if (cbw_filter_present()) { error_setg(errp, "CPR is prohibited: active block snapshots (CBW " "filter) present"); - } else if (vfio_devices_present()) { - error_setg(errp, "CPR is prohibited: passthrough (VFIO) " - "devices present"); } else { res = false; } -- 2.47.1