From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988347; cv=pass; d=zohomail.com; s=zohoarc; b=E7yHi/ds3tzCYpPC0qty7FyMppQUXYERcQSI+tM1Xn7tcYlDFB3gannZeAbSqLfQvp+LAmOwGZ8Hx9UpAJNEZGo5kQ+fCXcxbWv49gvVFx6z98oskJggkrL/JZnMW9j1t4rhX+yTrQ3zBsVsUUh83UFlMJDgjUenm4hAFxdLWrM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988347; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=CK9i1Sb6CMDxC/MrOQyZSSKj/FvchdD2aupVYy3Yi7I=; b=kF9FYjXLsl4iZDLDFw3kTFczLvx98sOs/y2dUVOoBOcNNxekDQdputukhEADqIGKHlYHzS2IjrDLeppbukBtxHTX1JvUIlASVnS2nw1qES6LAWnebQGoXCE+lQvHOCDvDM5Bl0gzNr6r49EYPhG0jcNqCbQM7G15HHh3lhTlbNQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988347122300.75192873111655; Thu, 4 Sep 2025 05:19:07 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 7B4394439A; Thu, 4 Sep 2025 08:19:06 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 4647244451; Thu, 4 Sep 2025 08:11:54 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id E1DD544216; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from BEUP281CU002.outbound.protection.outlook.com (mail-germanynorthazon11020133.outbound.protection.outlook.com [52.101.169.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 088C644218 for ; Thu, 4 Sep 2025 08:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BEZP281MB2376.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:44::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.18; Thu, 4 Sep 2025 12:10:43 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:43 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Os3vDl+V8zCCS91yNVfpQYQoyf/94JGhugntmlVStXHWkTYaI9wOIY9PJoFpTwPVfmTwSz9gX2z+rMh2z2lJJ/wr523SAmdp+IbtdzhpXaGmzQyHLL+2DJBQIqVo8tG+7ZnzO/GlhgxjN5wufszxE9HJonFzuX1Gm30MF2oniTFnLogHiLnSyfIkiW+BPigZ1Hk47YK9AWiJdmTJ6UFyv1vQrNdk52LKxAusZclc1hMORdHgUod7BCr36HsslbhHW/K6LcOBvqZAgjjH3tvGgDd+Fv2+Bq1zTO2yA1iff9OptDHGMCvJrMTwdLknM9SeOkpAt0Xv/JlGmhkwfJ8YWQ== 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=CK9i1Sb6CMDxC/MrOQyZSSKj/FvchdD2aupVYy3Yi7I=; b=O0yLT7XsK/mlskxTCQHxUrWy3dr68JoY3fbodRXwBdsgeg8d0H9zrmEIiZJF55DFTGrXR/92R9TKkZVg5wIfTvptNGm7jJmmDTw7vfsHbPNB3zi1Ot1JAnMYLh+M1TeFMtx3D8qiAsxNseFn5Sugx66MfrUGjJoQBJiqfEmCucNjE3zBWR5GeLc/PZ+0kJSw7AEZW/on0hw0VlsaeMsKWCoaKEV/d4y3JSFAqCQBQud7HGccbGEZV0/gXMyJDwWa4yK92ty2vh4f4SZwAaJq4khQIJKGt0r1mvj+/ucKgd4iLDkwoiaMg+FaXQNhWiEQKa0dYPs/OrSIXF5h+ZAtRw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CK9i1Sb6CMDxC/MrOQyZSSKj/FvchdD2aupVYy3Yi7I=; b=aSRfpTzADEx75m9KhytnUzNouTkE0Z5+A5KUYsceHlu5X/Ffh0iOp2IFomvTTxPFTkVw+CoLWjzpj6n3mocFYERXneF3GAPgpzL9BUruRhLND4ZtiZYLODqMjGpHcOfXRlhMCwTa/Lne80m+msCfknKe3i4eEDEbPQxC6bBlgZN4ig1L4VWb0wsIEWSSsrg4Aiim9k+ZmRkVKp/whz10hgCFza9en6oxcp+mZt6zdhVnU5Q6JIAD4wIRQW/v9HSuAkxQVE7/zCHbYLNbVpB3GhesG35j62Y/F4MbdfqvXOx/5VKctKnDCSOffStbHmxsCaZZI8tMGFCe9Px5sWD50A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 01/13] ch: add ch_hotplug.{h,c} files to CH build Date: Thu, 4 Sep 2025 14:10:23 +0200 Message-ID: <20250904121035.1349575-2-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BEZP281MB2376:EE_ X-MS-Office365-Filtering-Correlation-Id: bfd50dd0-ca01-4432-4df1-08ddebac123f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?lKC69s3e5OwdkK+DKyohZQLuxCrJ2qAr50o47ul5V2SrcRuzfzk6PDqjeYyK?= =?us-ascii?Q?SJigQgXocgJA8NMqeamuI4VGtEsXva0BsRYIqmJ2WIX/V9PgwLq47oesSGcz?= =?us-ascii?Q?kxYxHR8C6cimkwWy3FZFrFWmEK7R7nZz11L43GR7Yk2XP5G+drkU/7qKDUaV?= =?us-ascii?Q?VrggMFwqTyqCPCGKiQETN6jI9plGYcnTU65vtO+6fdP7l/qp37RojgB+JHmy?= =?us-ascii?Q?G6Qqggl6/OHba7jbF1pyyLxugQNvZNJDgsMG75BPBXPvJknlDvjeGnybzLys?= =?us-ascii?Q?vhvqqg/aZaDyEdBvuOjUMAAi49iyZPwgpOIKNzszBj7ABBgdR8HTZfdmX3EO?= =?us-ascii?Q?TkMXJsYHeEPrOyLdYtlhY6UCjHykMRXbhnq3gIMX6KlnDW1qYW+unHMEk2nO?= =?us-ascii?Q?ldZTf8BmHxdyYj2aq4mL3T0Dv6spaJ7JCWgI7B14aWWfE6V6qi+IbhhH2UUO?= =?us-ascii?Q?L9TiycJ2HPnoPj4XUDhzerpZImIAfCGmGfnxrNSCy8gb8Cooq3bB3lldlF53?= =?us-ascii?Q?HdQ0N0NvrOmZHX/9tK3snGvKiHUxaSMIJOgWWFHcTqJ8zIA1IJgBzAaK+BZr?= =?us-ascii?Q?AJUT6tNBOythJoUYIUT4DJgpoHUPZLS6P2/3HZxoRlfTmKzA8XJTEDL2HK1q?= =?us-ascii?Q?oOk7BkJzh6ShMd0V+s9LORimqVMqRFPO8hsYd1rvOv4JV2X+fACKyq6relPc?= =?us-ascii?Q?eWbwd4rcluj3OGmQ0BdypWuR2HymY1qWs8Rl+aBrDp2EfOQaaUKFFgyav+dX?= =?us-ascii?Q?7JM04PfFe5CN5qZQvu0U1U56rxTSA1tn8HokEjoY3pvp5QHbQoMhpr6pGWe4?= =?us-ascii?Q?PWzIA7XtBrnydsLw8ED1Y85A/W9N16z1KGjm16i/mn2wrnw7zTVz89tVAsDo?= =?us-ascii?Q?ugPsgFkyrl6IyikLGfLoBEj6dvQXVyzx7jZVvLNzsq0idIAvOvXFcPUrb9x7?= =?us-ascii?Q?XoCpcrpwi7C1n4NYaQQFC+Y001ZvJstJQ4sxBGlFAvIHtMDNhA7gJy60OJs5?= =?us-ascii?Q?6zDeOdsrg7Rnr40Yn3bjNxCsb2eYllm1FZ/0aZhFEDCj1d0Z3wvRE2ab4yqz?= =?us-ascii?Q?sYtwpLFz5X46HDL//l8c++G6+kVb1hNDJhamprdg0dXomv3LAewcn+zAzdnd?= =?us-ascii?Q?pcuLg/kEhieyOeLjPBy9/Ghwz+SCJcTfOauAU9U5BXazhYy6oMYM9ClYdsLR?= =?us-ascii?Q?PwYmHQFjgC3HHWokfZlgiCZBINii/PC8RWNY5cvQpW02g1MlsGUh8iHqmRFT?= =?us-ascii?Q?qzCln9+Upu/CHyw0f/wY3lykVBqVR3JJnXeh2yK9fyuRo8IRvXqiCU4m/uB4?= =?us-ascii?Q?uEjWW0NnvU/PM5L8plSYnft7LPOYkoxHV9uWetkaPYvD6JWS9ZkcKUBfKBlh?= =?us-ascii?Q?cASmDmdbm8lRplXdOXR4jDXDAvXC7AzmdQMsr5tuki6htMJ0DpW/rz+gkrM/?= =?us-ascii?Q?/QSrotOUNbc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014)(13003099007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?+FBMtpQEvP1o4K7SOyhwtdR20kbufIs+FtpWwtV806inQQiNjHx467j2cJvJ?= =?us-ascii?Q?htFscMb4HrdYI3PuQORkrXor0UoJ/hinJkzM71qTpt6h6tlc6HmJb8x7GmlU?= =?us-ascii?Q?vNgjhdIqthS/6FOb4uxTzSOjILf6MzCoZbBKUEx1iDVh+HRXwn2kFYkCsu84?= =?us-ascii?Q?+/jbPvUzJjO9gXxOxN3gn6CUkT6quauNC9dKyPvWgCZHo0eGt4GnOVR1Y9sN?= =?us-ascii?Q?fNTnxQhqsdmwObtljnHeAch5jAxBDv9EbZXPPmQ5svILR7p//KCoVQl1tWrh?= =?us-ascii?Q?K6aff3i7Ki65jxu1xNFN+zhptfsw04eTWQJ9spBucu4FwjzgmTSvJM92Aiu2?= =?us-ascii?Q?VX2LpthPOVEU0h4l3s1FfVZ6qZ4r08+4hx64OS0Es1A2qRmtvbh1l0E4Dqfu?= =?us-ascii?Q?FTqVFrqdGtTUw9j3N0dGRBIKCEKq3wnDLJM69LUPiwwhCa1JozM8jg8fpNGE?= =?us-ascii?Q?rvPRO2y2pjJRFdZmXBSaMxiiP5zjyP/YIX6ovW1d3WPQ+ZhzVvKmmqqNg04f?= =?us-ascii?Q?Y+3dRdUxgZCpzwjz6gqTZvXPTLAXVeSlhZJj4AaJq+27HB3NGIT4jVM4mvKt?= =?us-ascii?Q?iuiY0Xkd6q6Oum1sQXG2llcninmE01Ury6iRq92GfQJh+4kTYh81dI8dfC4K?= =?us-ascii?Q?BW8/fk99q6o36Zj/a3JfOl2Ddz9hlSSAW1ecvGNFIJmQQTo0xzf6DdYgQjb8?= =?us-ascii?Q?Z8bs33nlPp6eSEDKysGY6OHGh+rCGjUk7li3vpmLXpm42Kc2bZUBkj+gFf13?= =?us-ascii?Q?CuQwuBjbWoP97CS2U7NmRXSt16pRWFiRt/bkd+2d1TbNhyjx85RC6tXFmZQk?= =?us-ascii?Q?imGDteppewLYu7U6UErDhHYsY+MVSXcdiZ4vSqBWVQ7LgfvvomI8zoABkV2Y?= =?us-ascii?Q?0WSqzrynYq8KZviVxwHlgl789wpi7JJ5wcVu19mXmOVoyZFt7CQoj2tp7XdY?= =?us-ascii?Q?jWS3BG0wxStjZwbUGADkLpdAywd0SrBjXM0oLgrAD8bxPd/ZFrc8UOA4V6No?= =?us-ascii?Q?4csUcI+90DCXLRRAtA08bkuS++j/L6Eplx0Y9AFhlOQbLSgd1aJpWTVVWH5W?= =?us-ascii?Q?aoBANLo/eZ0TFyYTKPgwWSZRejddhU0gCcZY/uz6QAd/BItxnunv9XMTXnEb?= =?us-ascii?Q?OL5aVfCpiiXyzlxIG15ObpFAz++f+gEW+n4t94lf6QJ1lwkVKk2cu7fgiLQo?= =?us-ascii?Q?kHyTODn1Jb2N0DG5b8ZUQF+kC3VQPQTrIl/iOQH3ELSBn01YXhsn1WA8pucy?= =?us-ascii?Q?bKfF0VUNY7CaBj2Wj4NgOUCDNHgk9NLDm9O9SMYR22+Psmjxfq/cB+O1H/FS?= =?us-ascii?Q?bvyrK4jvs0vjWSpFy51Bex7b/+UpVuwINemo1bAAWcJWe9TNHfWD5rEYhHb2?= =?us-ascii?Q?TP3EdB6MvjRGN0YFjYRYybDF9QNxzgo32Sc3pb3vTkD4kUDWpXf5aFPlNVXy?= =?us-ascii?Q?988XY9cWgCkWE7wnJTAgRUOpXbKqH36Lr/CXadt9IAS+NDFbGfTTZYPRk/dL?= =?us-ascii?Q?rXNI2oofaRNxU4LdbENPhcAFHvZ9sf7VmSWO0WYdpoFL0wRdP9CzsvGi9jmm?= =?us-ascii?Q?iAjtF2FtQtxyjst7Aoziz8TvYp1YWGWWJpYixiDBSKdhIVY4wPMVNA7FznZP?= =?us-ascii?Q?0OXd9VXhG0/ZMdYd6VPEI4KnMvM4bkG2I9TOyR1zhu+q?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: bfd50dd0-ca01-4432-4df1-08ddebac123f X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:43.2700 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QiHbZboZywpYnGUvnaZzMFvsCB3TyXi3tcb8083xxuqlXc1MYIZIulr2K8xZO2/bQ2s8KvCNDQT/Y5fCblaAZBMbwqmvMerMYHstAFib+p6/1CRx8AoBpo2fjCOW2FCt X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEZP281MB2376 Message-ID-Hash: IMJ2N5VVGM2B5WRWGSHPK3UYMLIZXSQ6 X-Message-ID-Hash: IMJ2N5VVGM2B5WRWGSHPK3UYMLIZXSQ6 X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988348788124100 Content-Type: text/plain; charset="utf-8" The files are meant to contain all device hotplug related code. The first implementation will be live storage attach and detach. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_hotplug.c | 35 +++++++++++++++++++++++++++++++++++ src/ch/ch_hotplug.h | 27 +++++++++++++++++++++++++++ src/ch/meson.build | 2 ++ 3 files changed, 64 insertions(+) create mode 100644 src/ch/ch_hotplug.c create mode 100644 src/ch/ch_hotplug.h diff --git a/src/ch/ch_hotplug.c b/src/ch/ch_hotplug.c new file mode 100644 index 0000000000..c46628e7e9 --- /dev/null +++ b/src/ch/ch_hotplug.c @@ -0,0 +1,35 @@ +/* + * ch_hotplug.c: CH device hotplug handling + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#include + +#include "ch_hotplug.h" + +#define VIR_FROM_THIS VIR_FROM_CH + +int +chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm G_GNUC_UNUSED, + virCHDriver *driver G_GNUC_UNUSED, + const char *xml G_GNUC_UNUSED, + unsigned int flags) +{ + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG, -1); + + return -1; +} diff --git a/src/ch/ch_hotplug.h b/src/ch/ch_hotplug.h new file mode 100644 index 0000000000..04915ba5de --- /dev/null +++ b/src/ch/ch_hotplug.h @@ -0,0 +1,27 @@ +/* + * ch_hotplug.h: CH device hotplug handling + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#pragma once + +#include "ch_conf.h" + +int +chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm, + virCHDriver *driver, + const char *xml, + unsigned int flags); diff --git a/src/ch/meson.build b/src/ch/meson.build index cd20c3d065..bba7ee90ee 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build @@ -17,6 +17,8 @@ ch_driver_sources =3D [ 'ch_process.h', 'ch_hostdev.c', 'ch_hostdev.h', + 'ch_hotplug.c', + 'ch_hotplug.h', ] =20 driver_source_files +=3D files(ch_driver_sources) --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988648; cv=pass; d=zohomail.com; s=zohoarc; b=P9riPtHrKWZjkTd0dy0Wmboq8+Y2RurykBDntlU/YfZVAmvVOuWTaafwG0hTR0EJFMCMqbe1uxn+o+fHJIm36dTUJngYLZFXtQ1mkQyLATOgj6T2erihTaRGbCpXPusJcbs6XTV68e27RrSLupu2D5iXpLOXGhBl04WGhKlRFts= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988648; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=aJ1TmPVqvhybB/CkGBkp2sI4imy1qMA9NuyvOMirpL4=; b=UsKNq7Hfcl2iMS1xP4PWKxlUuGHZHyd3IOfTlJUAsKhH1J/HOFqY9y49maE6YDhFK/A+kcJnlJlQLDNRBo3GftxHrnrlD2kwO2MLBV+3vSgGbZi7toVp/169G1fgnZquik6I4rq2bwJ4Gw1qiC/vGiGD3BZd8daRl9w61SXostc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988648809491.16078211498154; Thu, 4 Sep 2025 05:24:08 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 9339C443AA; Thu, 4 Sep 2025 08:24:07 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 11DB244540; Thu, 4 Sep 2025 08:12:43 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EBAA74420F; Thu, 4 Sep 2025 08:10:54 -0400 (EDT) Received: from BEUP281CU002.outbound.protection.outlook.com (mail-germanynorthazon11020133.outbound.protection.outlook.com [52.101.169.133]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4C26544220 for ; Thu, 4 Sep 2025 08:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BEZP281MB2376.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:44::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.18; Thu, 4 Sep 2025 12:10:43 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:43 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Ih4M7pCF9o6o5ILa1CGlxlnm+skVt+xQtq4Tuvd/9/dpWPZedeRnWVtwSs2d7F5eX5F0ia6ONebjRM729ylJXJco529emv3DYH2OdkYC3K7ISKayAdocJxiUvret8rtSN1HORVZhoQqzRKvttpy/Lsh0tALwdqaoHNIhnHx/UAZJ1z5TS1RSDim3dj+l1PoLn3uWieSgUvM3aa2KaEX92RMO/dTcJxam7jid9XfF/4H8bkz+UKC2wXkMPm6bH38Bn2P7by6s4iqiJRvs7RvfJepK8j/KUzbsQ/7VtMkmn0+tX0ME9HxhU/ilykK7jKeG0ICOONauyczX718HW+WMDQ== 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=aJ1TmPVqvhybB/CkGBkp2sI4imy1qMA9NuyvOMirpL4=; b=OEl6BedyH/KbX1aejLr4LKcCIqXMJNVbW7yhKL7ztl22QK4yHGr1oZCmeQ3n+pVr+t5VAweG9vWtz5V5Gbm07z5mrGn3jG04qpuOVyBqyL77gRwWDAcgdAbyoxizFk+F0R+Zq4EIYjtdknv/YhcFrCFfjSgRRtFXY2teYvcvuHn3j2E5wQ6BRJgnuFgzsGhb58wN+Z0sQRAOx4Bq0XDL+DaFmYMHyNAgIlw//rKyhK6JzAX+x97OAK/IDPPw2PzKy0OrYvzJJj6PggJrVuAfnkqX9W85eWUmEsnx2ezOi1ld01x64p1zuXL49SAAyOgq5IaCVVpFrWGPD08jCyYmkw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aJ1TmPVqvhybB/CkGBkp2sI4imy1qMA9NuyvOMirpL4=; b=oJa3cEj2zcGAuxgGmsSZjCMhHkJTNTHOJhewWIMcKGI8YxAqSC61fNdWvLCsXd/xVpvsUqOE3pxXLY6hNW/QRGAm0MPIOFNGXiXzmbcykCTx+NBlGKX9FE9xWQGVzfGPGgjPhtjNIbTIq5ojM8UB9b5gTw3ODuO0bELBestE0mHeBa3AgtSscci9fZ2TBih0x4ZSN71/80vXAdM+bUjWH9g5ohU6owAs0SL2UWH2IRmoXZm/TtS087pw89Ys+aRaLY8R4IxlC1HHokNOEouQ00YS675dvnj6H2ghCV8Ap3Glzk7LnbkAhCw+EFtilwSdXLIQ3ZSHBX7kl2Z6mP2law== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 02/13] ch: pass disk alias to CHV Date: Thu, 4 Sep 2025 14:10:24 +0200 Message-ID: <20250904121035.1349575-3-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BEZP281MB2376:EE_ X-MS-Office365-Filtering-Correlation-Id: fe214bc0-dec7-4c66-8554-08ddebac12aa X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?+RD2ppI9u04pFcjWqQYMP+kBk7rP711n71sPoP4qRgEG/O7sceLLF7adppHd?= =?us-ascii?Q?BGxZyK4JFuTMA7pnLyWjHMsYlLn+rhpOyRTJvXIPyGpfRM/S0Vgp/52eAOLV?= =?us-ascii?Q?6sP46jKhvogARYNjPlJ298SSNE+IqpDeYHMaHS/6wrCLy+PmWf1b32EprLsC?= =?us-ascii?Q?KO8wSbieoonnB8GX4nI8DqW0fw/w0Dhl6wIZhX0nYQ2volMQ4V/TQN4N1Sra?= =?us-ascii?Q?obgSQgVWC89Ga+H8BuP0Q1LNWoS0SqPL6Kp6o6NhQ5NDmXhk+45eCOo4kD1G?= =?us-ascii?Q?DQvCjESOCHsr7nhaIACIxEqBTZMaaF2oJNKyfsc61WIHP1Vh8/iCycxiYLWb?= =?us-ascii?Q?lMDUEAHatAZWE3dEr1ONYM9G0lfvg04b6mIVAujLe72hjkAZLDcm99oXNg9W?= =?us-ascii?Q?YK+zC3q9knSHhRHlx0PWacF9DSu6X/sgw5gxc4KSk4AzHn9fYtTKNHC7Zd0n?= =?us-ascii?Q?qZKFAgdD9YySrYAlVMievhjgZrNVrnxbPavu1WHJR8apWaQESfG31ffLB3UJ?= =?us-ascii?Q?pZDWnV7B1C52CqRQzbkIGgAR6tahAPJ1pXLjjO+dGI5ObeWdQlfDOV47mNSI?= =?us-ascii?Q?RuV/NRA7zKJ3PZnHbTrsCNyPbOyI9oesRmnLMRKFtImtZ7IasMz+rBltj02O?= =?us-ascii?Q?a0YEnsMSUcnIZw0PMNe1LwRGIxT4cVtmOdvzjhzvn57MIhN/Xu73EbuYQpp4?= =?us-ascii?Q?+X05Cu5VIxSV4FChgRcxWhjgbid5icZkPzG5jCZN50EUI97Dtt9dEEgQWybj?= =?us-ascii?Q?SMU/VG/pUCdx/aHJRBOP92e0BNvuteB10VIg6skWReza3w+F1g+jz+K4sh8H?= =?us-ascii?Q?939nOY2Zy5PQa/PTXhyFFAeJ7+jvImwxLrIymoaaDISGWhujOucJfT6KqKag?= =?us-ascii?Q?XrduUUto25rnQRM1pvcX5zJ8LK34PYtcjYcqsZx1DXv7183oUxT+fyZZ7rb9?= =?us-ascii?Q?3Jj6RPcjOStkLjWTo/Jx4i8A9olhTR0gZftolrHcjZzlK8CpNNW4oban2YMu?= =?us-ascii?Q?msfh+oRRefzbAkxr4lIveZrHpai2Xe+4JS3eFx/x7EY5oxrOe8Ly9HdpkdcQ?= =?us-ascii?Q?29CiPXBhT/1C4ebyC0lyNCLISnIM/I/Q9ePoDFxRZQYoMZqZMM6t3QYMIbw+?= =?us-ascii?Q?2IZPrsfqhTOWsCFo6KdRjd9MRfrpFadR7YWTYRbsYsBpRoR9zwtn53/YJ58n?= =?us-ascii?Q?oNfoANQKfof/kib/7UPyk8bI4ZaNlF7tYR0Cl6qpCUUooGRbZ1QUhj8IJkPs?= =?us-ascii?Q?Xgb/QPkLUjeoAx6Mr/74lDFq7fBrZAaBlRFe2BNHINxFf3wuPveaMuOSxsSg?= =?us-ascii?Q?nx6Jw9bYywS3cqudQymOaen8SspO/ZgY18RgDgMQvofZhA7ryyF0k0Yed9h+?= =?us-ascii?Q?fli1QnEd52FUM5t/GW1WY9oNNI+DOxg/i2nhS2Oa4ulb6W4V3jV6wQivS+Ns?= =?us-ascii?Q?vHq49NPYCcI=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(10070799003)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rvg9bL3CmlRUAdN6Q3tHhMDIdqOf7JkACfANpkXq7QHUnWvQ+uOX4wYXOkC3?= =?us-ascii?Q?aubAgzWgEYH4bb0jxDpqjWa+Feh3uHxZV6PhEvQ6y49J4Ip4aDGas/JkkVI6?= =?us-ascii?Q?svr+rtdJB1qwb+LZ8/DdypTCVEWmgkH6E4sT8G/W6b/gyvGqzSMLHtUqlRKj?= =?us-ascii?Q?wtlT7YK6MQWjMEqJ0948izrHG0DWWIxYuHTsoj1Ksle32TDhxvOHhS+7tph4?= =?us-ascii?Q?j9Gie51KJoRJDCUklxP320+X6ouajMcbtzehRlCJUZYBMxz/r6EO1PxvBReT?= =?us-ascii?Q?tJ8TffatqpErDY9Bk08GqOB7fS5eoNZoRqxUVHhJeDfC9uaOMVef7n1pm36Q?= =?us-ascii?Q?PSgZ+8JaIjh+srY70iPYB8SjtzymnNJCmr1dEDGqZ+Q9jq/LrT6EObNYPfC2?= =?us-ascii?Q?0+TJISycMg4Fro7JoOSJ6Kowt8B+4ps23OhLS1fVH1nj/TIxU9SnDTvtkfIU?= =?us-ascii?Q?4ToxpArPMqty6ETeJ0WLoBMoe6O8NZgcFZaL3w5tfZUZ5nGKsHViOg8PTmZs?= =?us-ascii?Q?LTG4VCgUOoJ/+Y3uCueu0P2IcmFYG2Inkm2iXW0rD8JrQgg8DIIWjmlfTdmm?= =?us-ascii?Q?4Ie3hZhu7eJ1YKPBzqQ0FNnEJ13eNZgjWOx0iIusuHlP4rkFrcHlpu/9aiK6?= =?us-ascii?Q?MhwXoXZnI5KkZFoBL6VspXRn9VWBJjomMzySp4rNzMjqYCVQcEXA8rgfJyIl?= =?us-ascii?Q?iDcwz+AK5xkczd+TJ89VkH0rGVcEY1JILbLvycXtxcYKuuG0Okjbv6SMS/Ha?= =?us-ascii?Q?rTfVz1Sv5Kkdem7+cexKqDu3kU1aaMdnPIt/aHSOtIrKwBoGZ4S6FAkd6GA3?= =?us-ascii?Q?WPcumbwmvhmhDaHjxzRYrmIlX6Bg4hU9GS55xiK3vJi8uorFbv5CQXbajZ82?= =?us-ascii?Q?AWCk4g54ccaLntM4QwA93WOdEt8SbpM49ShPohPX8eduQYEQhPgcIpZ7jaFd?= =?us-ascii?Q?xJI1J64VQw2nOE/48VDxggDF3xD9nQbaLonW/aVN/1nQW5O1ZtSWODWdJwE8?= =?us-ascii?Q?X2cymP84IP5cy6arQrN9JAsnMu6J6Iy3RrLkeQOuxfYj5M9vrTjxVoCYfCkN?= =?us-ascii?Q?VXB9ojy2ftTh3KEWHvCcBXtxTfdlGJsJdRy0K/Wg5go7eCNDnogkBrilhK0b?= =?us-ascii?Q?yTw65Tf/MlKy3dNDgehCla7llkBPwxtiKkvyNEqVnvsnEfGvGxr/js47GJhS?= =?us-ascii?Q?BTNImR2pfweI566macLOrbZUlleTsS/ZxSQIfxGel7ki7Akp03nLs5dcXj7W?= =?us-ascii?Q?DhqZ/f8F72oveUlmtjDFn9yfBSN9zyrEuTPsOasNGTVRArc7OtsjMDAtp10i?= =?us-ascii?Q?aKXaFtOZoTv0V6V+dDBh1q6syAuCW6A+y0SF2nLWqip5D+4xgXubSYXaHd4N?= =?us-ascii?Q?+WNLd/uu0qWpUlZnZCZQyVakE3Ach2QUhKko6QXwQPz66knGkDte3EMAqOMv?= =?us-ascii?Q?OYBsdBuRVcdw+SA118Y/EGBqrIaEkMkpwNHN/9i/NUBgrsc8xriL5+LE6Rz4?= =?us-ascii?Q?00Z3VqRZDauZybjK9n4zartp8Pn1Jvpqoa6s4jTeZh3srZDH7g6tpr5CTm7p?= =?us-ascii?Q?dHNeuovdrYiIYRJQSLdBptPtdVTBPNXcmrE5j0matXOJX1NnwwfsGGilkSKD?= =?us-ascii?Q?8EmqPOza65pdJX44ypdRVeronK/LYM7QRbHisKE8/5yS?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: fe214bc0-dec7-4c66-8554-08ddebac12aa X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:43.8194 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UDxRJIsMLPQliyACwCXsE/qJ+/WQqk94UnSKW4RhyAVU2xi+KHKTUrWh4stE416rm4FGs1OjlfhzrBgljQEsPV6en4FsXkw280MZ5foz0uskSK0hUyscaeL7G36Mj1Hu X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEZP281MB2376 Message-ID-Hash: PBZTVUGAYJG7FIKOUOG3MFANTQAGQU6X X-Message-ID-Hash: PBZTVUGAYJG7FIKOUOG3MFANTQAGQU6X X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988650298116600 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 6bf877fef3..d369236183 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -249,6 +249,11 @@ virCHMonitorBuildDiskJson(virJSONValue *disks, virDoma= inDiskDef *diskdef) _("Missing disk file path in domain")); return -1; } + if (!diskdef->info.alias) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Missing disk alias")); + return -1; + } if (diskdef->bus !=3D VIR_DOMAIN_DISK_BUS_VIRTIO) { virReportError(VIR_ERR_INVALID_ARG, _("Only virtio bus types are supported for '%1$= s'"), @@ -261,6 +266,9 @@ virCHMonitorBuildDiskJson(virJSONValue *disks, virDomai= nDiskDef *diskdef) if (virJSONValueObjectAppendBoolean(disk, "readonly", true) < = 0) return -1; } + if (virJSONValueObjectAppendString(disk, "id", diskdef->info.alias= ) < 0) { + return -1; + } if (virJSONValueArrayAppend(disks, &disk) < 0) return -1; =20 --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988031; cv=pass; d=zohomail.com; s=zohoarc; b=hsUBOI8Ylr3x5UHv2boHK9SW9UHZZfziLNXAovsi8mPoLNf+GQywDmwDMVq/srzi622pYUkFf6XAHu+7X1QFBg2js/PjemhIEndNWCvatPGRf1TryI2MO1vvnE7t5d8N6g7JZW2tn/qA6lgxX4DNjN1tsOBFT37Kd7xHUF6o5t8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988031; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=CpQ+FGmhSWqlDn+fgW/G/3K3sYv49pw4LlHg7SmkUFs=; b=FNZjWip8qxEt5Mzb0f/+fBQVqk/KxIJxn7ONJgn+B42DjkN/ph/YR4tO5AmQIiwYtdawfcu6+4ykbgBeul/6WHg7s0yFibHwlkIdmknRpqCiOJrp1ybU7qV/LD3IZsQceXf2WSMUzY2vsob6SCumr8oTW3z/xNtDCyiF4Yzlsv4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988030967376.3902367353421; Thu, 4 Sep 2025 05:13:50 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 623664430B; Thu, 4 Sep 2025 08:13:50 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 7588F44351; Thu, 4 Sep 2025 08:11:12 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id F2E1644234; Thu, 4 Sep 2025 08:10:52 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020110.outbound.protection.outlook.com [52.101.171.110]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id AAA4B44204 for ; Thu, 4 Sep 2025 08:10:50 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by FR5P281MB3926.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:105::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.17; Thu, 4 Sep 2025 12:10:45 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:45 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tKrwfOKMcVl7i8WOC7pTw/m2YyyhfnlKSX1aHJ4exN75WznmoA7s4pzwuVSUO1+mQTCfrZazkdCTZX1NkkTp1TarJdNhOZh9EsxV8/csU5LO5M9usrPLhiwZm23gvy6tEvQ3CY/ed9hUx2hTvTAuFvc2mesVd/MbqBhtESFe1RtF5gNJUnjdgGQ3AitVW5kw7DTyb4HZPcpY42PEEaGja5EUgNIZg5m5k81M5TezjeHz4llACbjTGFNrJvcFkmRCi3u6B9LfP/44sKNrqfmNleJMPfYl2WtG9ijU6WkCBYqorWuC8K+/VXS9qIeu9HXICe/I9P4/hOZyGUEK5RwJ/w== 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=CpQ+FGmhSWqlDn+fgW/G/3K3sYv49pw4LlHg7SmkUFs=; b=Pb/6uizCbo8jVM4QN482mqhs/FbhMS20wFZGNzUvdr1DknP2E1uLyB1lw5+OQZcy3jCvIbu/Ia3hwwMi42G36WYgb5YvID9XFNJUXgrse6XQ4hdvgkWQ0Dc5lgPcv/lIB20EoeWNtgtuRxMwOnoUFK2PVEbmZKnRiOTKvF2C4hSsFh3k4ObqAvKlsZAM9FvlFc2EZWdIv0wfQblaO4t6V5+bnzckk3Bo4Q6z1xTHdtgL/Pusi5PJD1blfUjfocCWOm6gYx0yXOIjbObNVvGZbe+kaNUG4dGW9KRLjz9rV1bKdTtG6yxT2Csl+r+GZ5UsHDUyulR6QMS7GsA/aWBYSA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CpQ+FGmhSWqlDn+fgW/G/3K3sYv49pw4LlHg7SmkUFs=; b=UASdtUhqcMcKPLn9H3SQ6RoUj8b0krQVuN/XSfbhN9UOBpy24gQiOt5jM3FKFWtCNa3D4y1wuI+DIS4sA0e3pgkCq8hQJewZdu6T7jj+i+3rqySr+9qvVlhSnIgUOWxfgsWHqtblIhKzBMVzVJSpCwFgwQOW0v7n82k/pF6+2F9OaGPiUr6Pkt9i6UkOINnWFWc250CSlMEwru2x5MZUe2WYDDKLX3GCYtrYeOg8+W3W/zAeY8WF/8uXHmaW/iH1cYqAb5cck3y96pZLC/vD3BQu5JaJe88Jdk8Ku87uXf8IAZgEKO0ZDHMi/1GR511QZgD2/comeS7WLvmTtZr90g== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 03/13] ch: add ch_alias.{c,h} for device alias handling Date: Thu, 4 Sep 2025 14:10:25 +0200 Message-ID: <20250904121035.1349575-4-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|FR5P281MB3926:EE_ X-MS-Office365-Filtering-Correlation-Id: ed8b3e9e-147a-482e-8b80-08ddebac12f2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|10070799003|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Xfx8UGTW1NYdvsJ6e9rlRNWiw54NtZN8Izb7RWSSQe4Moni9CQj14NBY1v79?= =?us-ascii?Q?nZMHJLcZ3lHoLV1o78/IxeOZXolRXt+h1eepSsaI7wQE5F12JVz7YZOzE7Nx?= =?us-ascii?Q?9PyZFSPI3Vdv3bxt7Smy33PMJ49rERVl+t//4S3cicgEGWXK0nFVPrnrmuPW?= =?us-ascii?Q?e2NUhhnRMTmR9Mg9AM3Jj98cN5c5T5As1HVR7LQ6YZUZ6wCoSXHlBiXWEvkJ?= =?us-ascii?Q?WmAsfhHECZl9NaBBrcVnxOyok1UgJFxSFZ5Kcm2WXSpMoEwdGcal54jDvFs8?= =?us-ascii?Q?K7NYjQogx2xSOib4bcJo+kgBD0xuq4dtWpW9ypqbrFYVlRqUmDJwqgr9HkRC?= =?us-ascii?Q?ZSYoVWVVv7P8ajdxkWpXKBpsxuVr11l1eXUMN0mBa4/CIH0WDWfwTXwcbcNM?= =?us-ascii?Q?JNilK1qHTY1lCI96a8KO5rJrxPFQpIdHDafou83EQxHiFDiqPNr8Vv9mlP1b?= =?us-ascii?Q?KfFEwXmJZ97iZWlltXxb9Jt8168m49Q12J2w79Z9qPRmydmu2uMa9J52+N1f?= =?us-ascii?Q?3S8QyQKzwt73nw22es1b9exeDB2Unl9/GHiknR5EiNl/ypzJchd7SxQ4fVGI?= =?us-ascii?Q?hwZH4kDqrrCEjArC3zz+K63iSw//3wUrxa5DClEkzEi0dh5SZ57EEG2b4Ix2?= =?us-ascii?Q?E0zTTgfZzKrnnopvIEkWxF9EuIgUlHUhl+z3SkjCgkqh3Ej8Z9pFe8uSq9J9?= =?us-ascii?Q?0eWEpPA7pIrdAutwUG6midWPN6DIfhI2BntO2SNLqruA3/D4MSEMllycxT3U?= =?us-ascii?Q?d2RYVBvEzdWBuqkGOVhhPh4ie5EWSnq8YkMukG5ChUw2yHRxBBGk90QDS5h+?= =?us-ascii?Q?UtyubajZX8aR0LEIpmn4DE0+vfZ3eSVYoa9Xz75+T986WowJ8kbcE3YAZR0S?= =?us-ascii?Q?yEiKHKorh2eUG8B3XVzk/8EAoPZTnZYido64XUkq70svlOHenRqxiyLJb2uD?= =?us-ascii?Q?NY207ZvKBXzTbo9jKQcWx6lEBZMF7vyqgV4zqYz7Xbz7svT51ykAahu2kDOZ?= =?us-ascii?Q?VrJb7ZnjdJYmhtD/A6y3kXCVM0DZykr0MYFeXX/mVOaojfjVh3HtjrkVsqTn?= =?us-ascii?Q?9NyiemGGeNqPJUaGPCmCUtsEU/FN00GtKzL0+Lu2ZYHkMDZH/oHbqGTL7Gyy?= =?us-ascii?Q?hHQl0qZnAxlgrm0nArzJyOdAHlfgl6SwYSY5KTMsP2KL3Ry7bN1xqc/camrL?= =?us-ascii?Q?UsuF+J9oHXtpm72te/OOBZBUExEmt+VVVLbqIwSwSOBHlvolvFAIZWNQKgfY?= =?us-ascii?Q?9p4imKo47yyUmT5e1z1JorKuLUbaNBRaUAQvWIs4amoSeUp1Q2Szd9hxrB6c?= =?us-ascii?Q?NfamOtSeBuKM75R1KOu2TYiOH0Dy51oVvFpXFrv0mAEwKeTBTAOuIsuZyQKi?= =?us-ascii?Q?bD4nrmUlhoxQMpe/ZAOT0Ua8ZqcjxJtMoTFdizID7MzcJ7HDg/3w6tXOzJIY?= =?us-ascii?Q?EqRpQbw3tuc=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(376014)(13003099007);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iHzCafeAovzy563gwiQTsZjDpk8XkseP+EhEuUAtCp6ADhWBu9sLW7Y/Adyz?= =?us-ascii?Q?/fn7JCuO63lWa6UNeKYFm1OQ+zieMcusxJ8qf47Haf7fuo7Nq2zAWjgTt0ze?= =?us-ascii?Q?LpHAKH96klFMwQGf5iK1s8lTLECOtZ3O+VFNyCW/RMaYliJOn4xEyTu0PXdE?= =?us-ascii?Q?nNd6Hge4Mc9s8UXAvxYJ6z265D+EnnKbb6XKfJOBAzLbFU412eubiS/HcEuy?= =?us-ascii?Q?i6WYCRxqc6/6r4eZksLTqAJHJt14ab9zln2zC6M8sbiz67igXas8Zu6lj068?= =?us-ascii?Q?k+alhvyBNQZ8VewAXk7bSoq9ZxFspfNL5/P21gwi7g3TztLpDhxAlUEHWcqa?= =?us-ascii?Q?JUanLSwHMg3aEluu3DLQZKV7S4ppqiASgkJOBqudll0kJpcsakfFZ37PmnIc?= =?us-ascii?Q?5iqFKU1BZYRAImxj1Pb8v1hG1O/a4Z4A68KO3ialOXDq6SbLCE79BTUVF3/N?= =?us-ascii?Q?/kswDolWmNqOO331ZRy/g+5wl8aLrl5gEFPvvjAFkQBHeUFd9DluxDPltENZ?= =?us-ascii?Q?0yhuhdLP5Na30i7zI+pNYbp70ELnBD78jes4sjTlYnoLKapa3uGsHT/YWCwh?= =?us-ascii?Q?7Icnv8pxA/iT5E4q9622rUtTqZhcmzStyF+9ZJRseYK0CH//f5pm5O+vx0yv?= =?us-ascii?Q?WLoEvXc6zAwk3DT7t9CQPCWeRx0RVwaBcMhJDg2kjI1zI1ek9LkvgqC/JbIg?= =?us-ascii?Q?fqm6ROEQQGA2qssy8ANa+CUn5VM4augC9BnM/T3WsA8gGvP7POaDHYHu5vIf?= =?us-ascii?Q?MDf1kpqpwEtRass27PygAcUtjWjql3qeL7h+z1rCVXaN8tpJ4UIXYslX7w+3?= =?us-ascii?Q?nOvZrpBOPXWuXj0DffesOcff3mlRIlz14Ke/CCON9J5QUwY+JolbUJj3PLGt?= =?us-ascii?Q?m5buOCFslywU8oxWhUq2lO96DPAZU3JEyIIt63UMQ5cj1W7LgEWaSYRrA34P?= =?us-ascii?Q?rjyczfZ1upDvgy0IUdcndYLz9pnV9NKw6t+ZeSSOVp37j9ssZHIExKHx2ZqG?= =?us-ascii?Q?Y7OrJISjCJWgj08W30ALe8ua0A5f86uGtYiYOMil3bTKFYdpqreiy3t6E+IM?= =?us-ascii?Q?mdupHZ/NyZnacd9wx0ngySpwR128HAyXreVRjvSzvGO62PgWjoqLRy62WQFa?= =?us-ascii?Q?MJf/+XlbgYdkrqyEjQpyjuLeshdp2BTnCp5dqPE//eRLqVDZNoPXFUE973cf?= =?us-ascii?Q?lJDl1Y0QCum+u1eb6n0YtahX6HFLEED5Lc/7taiJ8w1RvyOW2e2lMv36OuQg?= =?us-ascii?Q?fo2c8SSw0EcMmThbniRTTtG7Jmjeu2RDghjFA8tKywIuOBU4wk3WLlY5BQAy?= =?us-ascii?Q?TGKY/QmKL50SOAfJ23QbJXyhv+IqnY60NC6xDPsG0vEe2zSCmiPH5a8tQTOn?= =?us-ascii?Q?vuKPAncXUNFcWuQWs+vyO5h2xcI8P3znWosSAXjUK/fqnCtL2wzqdPWNzMgV?= =?us-ascii?Q?Oi5S7ZLHv7KZAWJcc5SS8NJgpwnWRWjfSk6fEstbAst8GbC/WGtRDdYIxtQe?= =?us-ascii?Q?meijy23itHGF8sKSc4aYizGs3Rm67Q/oNK29CSOoCrutiU6enzTiB41gH9YG?= =?us-ascii?Q?1oz2LtgN7erCyXiz5in4zYMrYqU1j3pKHZwKIK1K1qQtK7BV7Fc19DOre2Rj?= =?us-ascii?Q?SoDQmU4wD+FSrm5AdHEu70xt14MPkukBe7zRmen5r3uU?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: ed8b3e9e-147a-482e-8b80-08ddebac12f2 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:44.3715 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3BQZkti8vrRGajcKPadg+wTqBt73Y0mlUeLO1cOuamLjz387qIdFs6KUrpF2L+0p4hlzHG3Qm5GKprZomZ+SVHLWRD5F0fnfI0E4j7VO2KikKlsjk9tjdf/CcYQ5ANK5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR5P281MB3926 Message-ID-Hash: XS3JGH4236VTPQXNAEOSRTXNA2BG7MCO X-Message-ID-Hash: XS3JGH4236VTPQXNAEOSRTXNA2BG7MCO X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988034826124100 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- po/POTFILES | 1 + src/ch/ch_alias.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++ src/ch/ch_alias.h | 27 ++++++++++++++++++++ src/ch/meson.build | 2 ++ 4 files changed, 92 insertions(+) create mode 100644 src/ch/ch_alias.c create mode 100644 src/ch/ch_alias.h diff --git a/po/POTFILES b/po/POTFILES index dc7293d0cd..181a36f541 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -19,6 +19,7 @@ src/bhyve/bhyve_firmware.c src/bhyve/bhyve_monitor.c src/bhyve/bhyve_parse_command.c src/bhyve/bhyve_process.c +src/ch/ch_alias.c src/ch/ch_conf.c src/ch/ch_domain.c src/ch/ch_driver.c diff --git a/src/ch/ch_alias.c b/src/ch/ch_alias.c new file mode 100644 index 0000000000..bdf8452a3c --- /dev/null +++ b/src/ch/ch_alias.c @@ -0,0 +1,62 @@ +/* + * ch_alias.c: CH device alias handling + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#include + +#include "virutil.h" + +#include "ch_alias.h" + +#define VIR_FROM_THIS VIR_FROM_CH + +int chAssignDeviceDiskAlias(virDomainDiskDef *disk) +{ + const char *prefix =3D virDomainDiskBusTypeToString(disk->bus); + int idx =3D -1; + + if (disk->info.alias) { + return 0; + } + + idx =3D virDiskNameToIndex(disk->dst); + + if (idx < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Could not get index of disk '%1$s'"), + disk->dst); + return -1; + } + + disk->info.alias =3D g_strdup_printf("%s-disk%d", prefix, idx); + + return 0; +} + +int chAssignDeviceAliases(virDomainDef *def) +{ + size_t i; + + for (i =3D 0; i < def->ndisks; i++) { + if (chAssignDeviceDiskAlias(def->disks[i]) < 0) + return -1; + } + + /* TODO: handle other devices */ + + return 0; +} diff --git a/src/ch/ch_alias.h b/src/ch/ch_alias.h new file mode 100644 index 0000000000..81e20c27c7 --- /dev/null +++ b/src/ch/ch_alias.h @@ -0,0 +1,27 @@ +/* + * ch_alias.h: CH device alias handling + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library. If not, see + * . + */ + +#pragma once + +#include "domain_conf.h" + +int +chAssignDeviceDiskAlias(virDomainDiskDef *disk); + +int +chAssignDeviceAliases(virDomainDef *def); diff --git a/src/ch/meson.build b/src/ch/meson.build index bba7ee90ee..b3e9c03832 100644 --- a/src/ch/meson.build +++ b/src/ch/meson.build @@ -19,6 +19,8 @@ ch_driver_sources =3D [ 'ch_hostdev.h', 'ch_hotplug.c', 'ch_hotplug.h', + 'ch_alias.c', + 'ch_alias.h', ] =20 driver_source_files +=3D files(ch_driver_sources) --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756987942; cv=pass; d=zohomail.com; s=zohoarc; b=Yzd3mD7ajbsSMvQH+sP7JypYNOZTxABE4iTP6Y0iDkiN11UDI9gaAFdkw3cyqG15GXdiqS7d/6vGUdvMKnNmKBoCTum86vMlLZROjhnBR2QJ+yk9MaPfWD4XeAebMA1jVACr+7U94RxQSbMrEElUk40ag9rHP3gP9NvPdiOros8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756987942; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=/vgVGDZ6NNnMg58PSiGRegFcWASmsrqpBRwuoXR3LW4=; b=N4N8oStU6GPabhK2lnKHkeZgF9qgnw0aca776l/4kT1eGm1V64hvUaXq7G9ILGIabMcRv+gJ/X8Nt4cSabzp8fc7CUgVqxXXpgL4ptFD5a1pm/dbGfusPv7ULIwv4ow+oAbhZcx5oWGCnmN+CxWqLLNi2obtpqZJyNbhpI9JnUM= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756987940756530.0770243922701; Thu, 4 Sep 2025 05:12:20 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 9181D44332; Thu, 4 Sep 2025 08:12:19 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 0FC69442FF; Thu, 4 Sep 2025 08:11:05 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 195D644208; Thu, 4 Sep 2025 08:10:52 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A7436441FF for ; Thu, 4 Sep 2025 08:10:50 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:46 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:46 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=El2UlygvptgAIdcvpDOWRTOgqAv2Y0PSz0mEghlAV74rHB8dRyfwhxgBxdLti4BtgdF2O14GSxiUym8uoejybm4Db4ShSyquWlCAk3ilO6MORjxmgpBnDaSqZXUXLcX6+pKoxZ6n2hN5uOCTUABbGKa1b4pwHATSlmQTqFrk+r+rY0XyDeDq9/n0yTaG53mET4K6pCnDFUHp0mu8mzPz6+tUOvF+mybMi39bjkJhAxwdIW2OKMvLVI1TYeMSV5iBeoJcou+gDNCREjg5SxlrLOWU58av/d7cmq/rHFmdqQBVil3jy/w+d5CR+GbxlmKzWEMYxjb7VSjrkxbDEFvlyQ== 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=/vgVGDZ6NNnMg58PSiGRegFcWASmsrqpBRwuoXR3LW4=; b=vnA+8ghuNu1fjTQInEVSRGvESIeI12IIMiNxjFf8dI+8qUkPQ65WG4bgrZXF+OT171SaR3lQ5NnP/j1FRSIwfuMvjBaa3EklDcCyhFeEsmjiemv2QwMfRJQCW6X8bGLvF0cqfcZ2XQGhpT6cobBcJhkKzGD0Mk3v5Gepbwg3B0xYG6bsGhF+1hnOEW7Qm5cvCm7s3CcBML3CvQnpj411nP94vu1qAtUTY7+oXuNTWWL/gq8oelfQBsvrz4FOsIhhfXJB3eosN9pxzVs9id13+tC+2uLp0VmqIkaOnZL8CKUJBhWbN5+LFhzGie31RAnGhgqqyiagDxUJTZS6WarCpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/vgVGDZ6NNnMg58PSiGRegFcWASmsrqpBRwuoXR3LW4=; b=AWjKdsMX188DrNRbWDveGdrgScRYX59F1vmoRf7AuJSk2fU54tbnpIfWThGpeR2kZ3biRXFp+PgNsrB1V9XCtnMxF7JkIYtc1pEsxWHhTldZSA+AGEwBD0FxkHn0SpqlZWdeoWp87hN0G7l4w+2+R/S8Qy0skb/TN06e0xIca1i1My1++VlALJPmXJVxElZ60XgMMnGh+DkeFX1m0dSU0PSEuth6hnciZ4K6JvD9j1Qrn2ja0xFzJak95QeSXP3740QLq7ODlbKPp1Hf8VjLdg9kfKuchqjBPVWwVdDM6GFWEI3brCgIlE4aJowp0JZrlqL/g70RgyfLHCl1Y+xDMA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 04/13] ch: refactor virCHMonitorBuildDiskJson Date: Thu, 4 Sep 2025 14:10:26 +0200 Message-ID: <20250904121035.1349575-5-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: d1a314f8-a5b5-4610-a251-08ddebac134a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?gqd2M401e6YTrKUTenxod64hsXbTj3mxkAEJx6E9Q2I95jP1EFXoJOYwLVzz?= =?us-ascii?Q?KBB56FOEd291Th+AF/oEvRTjVDR/+XM7bopH3YQ7hgOcoiJLzsrbRUaVpWmf?= =?us-ascii?Q?isQ10Tefk/zLmbFxPNRMhlQf3itUQ6PyVYGJ3YAhLOE8Zf9ZVpbJOoI79ZqP?= =?us-ascii?Q?7Ksi2QA93KcAGcQs4gnNNZznaw24jHG83Gwm5HqE78tEpNS8g1FRwwMrDsok?= =?us-ascii?Q?yZMfTqVJM+wisIDkkvS9YJ8urAVpp/7szcBkPYR58ikYVMjJtd34eSt2PTjk?= =?us-ascii?Q?8gdA9Bg2xjkfN+4hN3cLWoAPU7zDN6/V7Dli7UAYmTyQioC61tmL0ba+plYW?= =?us-ascii?Q?0AHAlTGh6whnxW/m3XUcwJ9hE9CqwYTHz9ha7focWxAJGNrM4+wE0qBLuncw?= =?us-ascii?Q?rgaRpJ3MLi07fo8fMkqDFyCTecZOQWN4tTqajv8kOLzXs2mrPULQ7DbcHSkU?= =?us-ascii?Q?R3V+rr353Jnl9rAsiqu+xDRf/LSAqZ23fbBPEEWWM5D1zBQiGqtvIFdS45PV?= =?us-ascii?Q?ssbGuMFJ0Y0Z0Fo1nhyM5qL4EaMDtgtmm8+gbZrxSJXXQVOk1vza5kmWUy1/?= =?us-ascii?Q?YIbhuRLTl89/iFidNpPRW8+Hrka06l+Ky//2z/4qWiUtCAeyTFbxIaTqOXCx?= =?us-ascii?Q?1NnmUd3dSL7ah571JuAY0HuZf0y7I73DoE9634zB8XLxZMX8nMAwX9eeDpc/?= =?us-ascii?Q?A2+IsfsqJNdx0o4AgAytdnclURz48gmCB3+rroaCh3n5TV3e6O7+HmzBpUYN?= =?us-ascii?Q?UkN6RUlv/UQKLSTShGl3YDppl5mJ6MNBxIrYn5mesm3wAyj1Pri/eaN6Aa+x?= =?us-ascii?Q?VN0X0/A7sTY6Zfzctks21Uj68hePefj43MdcligGSG0BIbu8tk7UVPs6hZ1H?= =?us-ascii?Q?ANetS046z68cGZKgaa/mCr/D7T74J/KbFOXFQ7efNH8vAzYx6YGohpVimB9A?= =?us-ascii?Q?jsYTfTn3XWPBrZSnuahonN4ck2CMYjvVYYMyykQ1P134fEFtjOIvkWTJ4neH?= =?us-ascii?Q?7mRNXpuc1ueHVbql1rHzrH+OrO7PNqTn64I2v1mE5/zGWCTRSWK6fZR+sUOF?= =?us-ascii?Q?fuLHcexNA5bsZoYPuE/MMPk/zXQ8F9bsD3kAatXhi0XH5sxWA0RXZyH6mvnb?= =?us-ascii?Q?TFjems+hZW60TaCWoWQ3mRWVG14lJiImo71nLZTqYJQs7LVH2civB0IIxVYS?= =?us-ascii?Q?FjT8neoArWYJNQi7snlCvGwJ1MgHieVKiIyTiJUb+Fkz0EmQShwxT6Xn09e7?= =?us-ascii?Q?N2wOX/f6FmrpqaGYuPYGhsBbcmUgIE5NlL6iWAxrxyI3Ajy809m+HJoFV4cx?= =?us-ascii?Q?SzJIpzBTul7TuC9e9lkrF4z8l/UqxlwQw6WLdVc7KVYfnNx3DFSMiMcqlD5o?= =?us-ascii?Q?M9QSq4WV0vXK+FnJfmu+HxZ48xj8TazEDpy4ZSgKCUQqexYWjQ=3D=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ahh4Jdg2hHkEL0LMmDB5N+JGEKM88F19H5fP7aUeSPdBDEUiwAIGb1DyndJN?= =?us-ascii?Q?tUOY7p9O4VEJNC3HDsKC49i8WlW4xHpWs9LtH2/SD1bgSzuZnISeegWDl5yX?= =?us-ascii?Q?TZfJ9Sa9GoNju7shAR4JPxeQTSYRgzgMLQnyFSD7xbxToPF2fgYmY1nQP83e?= =?us-ascii?Q?qcoI3Ev1wld/1IhLIpfM2J67ETPGu61TsWn1jdpfk9ZM50qZ2+sjVSBCfCEO?= =?us-ascii?Q?BKpHm0wQwitFd1ATp/bDoErqg+6q5hJFFcZz4cKUE7Z19tbpjUFa844wQTaz?= =?us-ascii?Q?0qpJGj7042uXoKoWWLJ3sACZqrcNr3UPB3tSBc5kwJPWydWmNPeoaMCs3LaF?= =?us-ascii?Q?M6dn46XneJHjtcFEJwo4e/+yppUheRxr73PleVCnG3OhCkmz7baNafP39C0w?= =?us-ascii?Q?sCpaT77mJ9DueqTHjppBpz173nxqsbHHoO/ckLzwwK0s+4iHh6pQY55ZTDSk?= =?us-ascii?Q?TbypkvWN8iFO7ELl1HNNOslwsHdw7Gf5vXT+GUEM+HwyDbNqbc1JzwlNaWAA?= =?us-ascii?Q?PtSZLvnE7872Bf1WKceKLtTlXk3CSOSLEFnirOS9BfeDBgA46rT+0b59c1SN?= =?us-ascii?Q?DNBh1VUv/+2EGUzKSGq/Vm1eBmYdQlX0IbLxP4i8z2lD2BVwVztZ44jiosUx?= =?us-ascii?Q?9g4i15h1hX+UEYwrmWtfbVhSGTga6S5pFVMG64nxpTMFf8XX+7z/8N+Oi7x3?= =?us-ascii?Q?d8lZEq7hUjlzBvetYUSGYFkM4fMR5+47+E0foScjnpn9SHqWAd9ojYL9QRi1?= =?us-ascii?Q?hI4tFgOPHYe31Igx0nLWDudXsU9uAbRJuyQMNNdF7hOLpU2In0t9J+aSJ2He?= =?us-ascii?Q?R1gOMgbV61DPrGals9J90+du53344t73Rsd8Qw1cehKDqPFGvBaypgNUrMzy?= =?us-ascii?Q?OL5ricyz08Np/PsN1zKbr7PZwRfc83o4MhyQypwGA163vCGF/neaP/YSnwFE?= =?us-ascii?Q?gXMBwwBD27J0FdnxtxkBSOEIaNLuB74aGRCuw2T6kvUJ3W1TPZeNfecshfMU?= =?us-ascii?Q?3nqoLPEEiKisZPjOw669p2IwEWTvN/+YdCgbEuP4I5Ult9MU+/hasA9gnfG0?= =?us-ascii?Q?XtHVsi0irV3R1pJ/23TswF+kwWnbZGXixkOSRYP4j/FZDDlYiskp+JjNbNSB?= =?us-ascii?Q?v8EPJMccQpfY/oo/wKbcxH1Kej3/1uW8zuIf47h+zKrP2OnsW4l4W9IdJ4tz?= =?us-ascii?Q?1A6ORzX0IVRppqZAX2STKIqWZxtoJ/botXyzrLWrZTk0EaoHSIVe5CoVX+DO?= =?us-ascii?Q?GgI0KFRnmm/z+KmTMknWdNz2gMoto9Y3v/QrP740W6MvnKNBWjvLtqcp+sY9?= =?us-ascii?Q?vWP1wWWDTT7TyxdTI6/aWUhBTwtU3OIo2QsksjzbQkTXAJDNHtbOkPbvSvg1?= =?us-ascii?Q?ais5qVflhycn5a/oVuknxsbrynSHCNhIU/lBEeoQ+Ni8GiX7RIlYvIIM+Ghz?= =?us-ascii?Q?7gv4tlwQkZqThUSWRyCBDeHWTFsZlu/hAxe+pZ313pkJJQiw4FU47PW/JWo3?= =?us-ascii?Q?h4FcVlhihZ11tDqhfLRH0yvotvrPKAnB0MR6yZE74qdOZwCDzThBApgn2jzQ?= =?us-ascii?Q?36X3rZLjIpp1mIULucJEXBaxZpa8TREdoVirT5j7HcwQ8dUKzpP6itaMy5St?= =?us-ascii?Q?Pjgc7E1Z7e9ZnvSb2Uz3gEve5TgTiyYpP6Oi0V9YhTQe?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: d1a314f8-a5b5-4610-a251-08ddebac134a X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:44.9283 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 51c25jr55WfKdQhF1J+Gl3g958qPcbBpz98gVoPPZAAUKRoIee4QF5l8Vw1IDP8BZ8TIn2EDlO8A+JPmVoQXbCfrfQ0CZwCeG3XwV6AYvo5cORUrvPoHkjVhtTGMbbpg X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: PANGB7KZSCUCWUFMSJUJ4ZF5RHILMFLJ X-Message-ID-Hash: PANGB7KZSCUCWUFMSJUJ4ZF5RHILMFLJ X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756987944297116600 Content-Type: text/plain; charset="utf-8" Refactor BuildDiskJson to return a virJSONValue instead of adding the disk json to an json array. This makes the function reusable for hotplugging disks. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index d369236183..f65cca648b 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -234,43 +234,41 @@ virCHMonitorBuildMemoryJson(virJSONValue *content, vi= rDomainDef *vmdef) return 0; } =20 -static int -virCHMonitorBuildDiskJson(virJSONValue *disks, virDomainDiskDef *diskdef) +static virJSONValue* +virCHMonitorBuildDiskJson(virDomainDiskDef *diskdef) { g_autoptr(virJSONValue) disk =3D virJSONValueNewObject(); =20 if (!diskdef->src) - return -1; + return NULL; =20 switch (diskdef->src->type) { case VIR_STORAGE_TYPE_FILE: if (!diskdef->src->path) { virReportError(VIR_ERR_INVALID_ARG, "%s", _("Missing disk file path in domain")); - return -1; + return NULL; } if (!diskdef->info.alias) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("Missing disk alias")); - return -1; + return NULL; } if (diskdef->bus !=3D VIR_DOMAIN_DISK_BUS_VIRTIO) { virReportError(VIR_ERR_INVALID_ARG, _("Only virtio bus types are supported for '%1$= s'"), diskdef->src->path); - return -1; + return NULL; } if (virJSONValueObjectAppendString(disk, "path", diskdef->src->pat= h) < 0) - return -1; + return NULL; if (diskdef->src->readonly) { if (virJSONValueObjectAppendBoolean(disk, "readonly", true) < = 0) - return -1; + return NULL; } if (virJSONValueObjectAppendString(disk, "id", diskdef->info.alias= ) < 0) { - return -1; + return NULL; } - if (virJSONValueArrayAppend(disks, &disk) < 0) - return -1; =20 break; case VIR_STORAGE_TYPE_NONE: @@ -284,23 +282,26 @@ virCHMonitorBuildDiskJson(virJSONValue *disks, virDom= ainDiskDef *diskdef) case VIR_STORAGE_TYPE_LAST: default: virReportEnumRangeError(virStorageType, diskdef->src->type); - return -1; + return NULL; } =20 - return 0; + return g_steal_pointer(&disk); } =20 static int virCHMonitorBuildDisksJson(virJSONValue *content, virDomainDef *vmdef) { g_autoptr(virJSONValue) disks =3D NULL; + g_autoptr(virJSONValue) disk =3D NULL; size_t i; =20 if (vmdef->ndisks > 0) { disks =3D virJSONValueNewArray(); =20 for (i =3D 0; i < vmdef->ndisks; i++) { - if (virCHMonitorBuildDiskJson(disks, vmdef->disks[i]) < 0) + if ((disk =3D virCHMonitorBuildDiskJson(vmdef->disks[i])) =3D= =3D NULL) + return -1; + if (virJSONValueArrayAppend(disks, &disk) < 0) return -1; } if (virJSONValueObjectAppend(content, "disks", &disks) < 0) --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988416; cv=pass; d=zohomail.com; s=zohoarc; b=CGDakuEJUwYjLNFO1Q+QAWwmFBjYK7Hp8KVUZgKpjxZ6d9V+9TqZKxbzA6ZRC2LwSwHg5vjp6C8aD4BALehRxpBEmTXgi4C80gd7ZEpJkx2eYhNV7WwTydNCSIFwl/p6ZJxSCrfYR3dzteqbGyuOFCgeRvI/5LKp81goXv/lXdM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988416; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=4m8OLGdFkTiAeawOTI0d+RRfUQGqto5gSMuoQFlNU5I=; b=Q63TTaYLiSrR2taYeQIJIfvumFPXTtI/FbToi/tpXj6Vm9O/sBYpDII/OXyTNPI9mefTKkM9zVL+mP32wTRaoMLbqCRYf/DJ/W6iM1y7luFr7aXaWEuUSGKfs9oUDFKpTbFP2C03NsyUImD8UiwOcyqn9XddxlnmJIhAS4iVfbo= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988416701255.49323827420835; Thu, 4 Sep 2025 05:20:16 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id E1AD74406F; Thu, 4 Sep 2025 08:20:15 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 5A8874448F; Thu, 4 Sep 2025 08:12:03 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 2976D44226; Thu, 4 Sep 2025 08:10:54 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 922BF441FF for ; Thu, 4 Sep 2025 08:10:52 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:46 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:46 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bdJnmi4Ab8fDUfvGDpF7FQHJl1gu557mTAUpHbq1f/zaIe7/EeLrsfqRPsZmW/gxF6CCupVH89bV630r3SgrSng8tIWWXzwfLxAa5xG854mESe8+A73zZ+R3Rl4vmc7CrRn2b2PXI/jQ5+tR7rLKlcbjK9TwIw6P5nSLq8WTQO1ddOr4QgQrJKqRdgj8nkPGOuFve9SPAv9aVo5g5iDjTo3bjkq8EJwBbtqjfhfek54uQgbm9HKPA4o2xVc0smZKaVm48nxzV7UzGrpLMRTMR0KEX2oZMFklfhQtALahOoUShJxXWJIL0G7OMxvHMpw14cG3/wZB5ecefmYscvrowQ== 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=4m8OLGdFkTiAeawOTI0d+RRfUQGqto5gSMuoQFlNU5I=; b=xIjLw/+rvJorlxJ3l90KbYiUGSrIIlhx4U7h1NCsBWwNJCkiZ7yZk35sdujsJJQY3YqoL6lHmN8h++rtMABZ09yKmMDZ9k9h7bvUSSTQi5uIdUUXwPDXd53pb6DJXVmrj+uGcvtWap/Yf9A2njDr4vDhy7ZNx6KHX+Tzb9HwHd2o1NaVGMlLgPRHlIE979Nmjdd7ATCeOhkVm1t5wxbc1W0CGuZ46pBlnP2IFBW0FmvIq1GOPGDj3E7vpXz5WYFLNWBYdhbakP/Zny5Y3ENGLLgw6Dnj6Mry1FLHg283gGogc8sfK66mVwU+Ylw23RXz63SzsDSmjAXRDQfVPCkDBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4m8OLGdFkTiAeawOTI0d+RRfUQGqto5gSMuoQFlNU5I=; b=nr2xxjCGai94OH3+JvlDED8AFBq77woNm6BHA6IP2kxNKuSlpIz3iKjF87r5sFRuURJi0is1kgK5S/2aLRA45H8IaTyfmHuJTpISf0XDA3DW+Gh4XXW6ebWWPq3Mk908xia9iMwW0ahChalDvGvx51VBBcgWa4EVQGtgYSvvFhSEYCZit6vu3ew3KJedJhNUxaWHM9am1kLnA6+VpTGXXYZz2E+wdXNDwdz9WpmQMoHYHW7cR/zWLP52gRyrbD1p0MwmdMc7Ix3bedPEkMLD+LhznGtjLuuOdh6HUK/VhgMXHFhGCKk+/7fTv/oGvHBqGyd/1Cf/9D1GTbIetLL9zQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 05/13] ch: add/use virCHMonitorPut function Date: Thu, 4 Sep 2025 14:10:27 +0200 Message-ID: <20250904121035.1349575-6-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: fce3f58a-85cf-4ba3-36a5-08ddebac139b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tioDGoJFccO1qEMSsWUQ7J3tfkmN40a8vuQAcammHlyp5ArTrvom6IOVDzhM?= =?us-ascii?Q?TM1mr6ym6ndd3ycBWV8gTYgWZZpe9vEawXgMKgydMwCA9MLDmihC6EU6vwCK?= =?us-ascii?Q?S9kZLE3HCC2u5JYMhk4aXjmvboI31axS9MZnDLAo0eudKhP+jfEb/w4u0iC0?= =?us-ascii?Q?m3Q0gYicwenkfclBLAl46n1LtpERlQ2XaNuMxJWa46YW2M8vXdp92CLW5iH8?= =?us-ascii?Q?cMV5Ib4U15ka8Y7FJX/7+LLGp2ASadhRC8kqbY4KiSyhLbI0XXdVfp3DjCBb?= =?us-ascii?Q?UM9tQ++PHRPS0x7YZxiY1PFmWwyyJgmbqw185oX8IY3E9MGpjS01qGboh/Xh?= =?us-ascii?Q?iIR8aAgcIb/UxaHmWiK3rKHSA0SygrTOaw4OErbu8bnrjrAUOeMM5+AS0A9Q?= =?us-ascii?Q?H+pe5hvGm9W0cH3RdEPI50JiaBx/rtLog6wytXQjtG48aK91qL7283f7uW4Y?= =?us-ascii?Q?4rV5f1wg3Qre6om/bJzXAOkVfRmo2fMnhNYEnSsjVFKEJK4tV3/tqQGUDRl2?= =?us-ascii?Q?PL0Nv43yNWCvPVwv9BEEYi8TIFCwFLVUd2CLlfiEZDaIDz+9ZJUCzLXhIdGv?= =?us-ascii?Q?4NT7yGuA692MmKIisW6em/cc4F6APC7CNe13OQukBNTq7FMU+UIJWxh4Ubeb?= =?us-ascii?Q?WI9XaHDtZYUKnQVBNJjYzE2iLwdTn5ksZfxh/7KQd8B6syFPKSg6r2s5G7Mc?= =?us-ascii?Q?tIQJQCUWgZpIf7uA6L/trghRorMkAf1X3wJV0ExQH04tuQRdUcOFzOh+rPqf?= =?us-ascii?Q?6Nwq/MJ0cfI1CXIdn3l6kNK7wL6yZGdI8WMxKHZ5rYWzpNflIIiR1YlC2tNn?= =?us-ascii?Q?TCcN1e/3HFWf9t/T27yDnt70P1boy3bfGCnFwqn0zpbEYm/OYKozo4epa0vW?= =?us-ascii?Q?Ldx9pOERfJlWqat/X8tbrr4WSOWBPfZ4pHnhs2RrhDmN7FV+nxuDNeo4gfML?= =?us-ascii?Q?8nFb3qNHbbbVQP4TTRUDF4loaS28CRPBvsobCmEf6rOOKAVvo6Wvn2ys2rwA?= =?us-ascii?Q?UCsq7DKE3kxuzraUQdm5x0mdNBNeTG5zCSxTG+t2P661zSNbetrK8LARLkaV?= =?us-ascii?Q?XnR5r2lbRTP3WxOo9rEmifqZJv9LdREA808QjHdPOsa9vK/uM+ttPb7TIEP4?= =?us-ascii?Q?nVfo007Pg7Ry8l8VKrFzz8lSKyDSi9+A1WgGsOdWHxhEa5wWHSUvS1tIcRXN?= =?us-ascii?Q?4tLGkZx/8Iy9QxkpBYPmIuR3kYwa50Rt2Nwbzgqva4d1tXO8cJ4TqvqZOPDd?= =?us-ascii?Q?yS8E7Lsw3baWKRzy7jpr6B31NNczzHbgP59Y8Jedu/XG4ZU3kEDTFeciuvon?= =?us-ascii?Q?sy2reTlvxc0NqGjcx1cFt7mYunq3u7k/j34EL1AVJDQuincGNxvi0IglQEh9?= =?us-ascii?Q?56jvNTUvb9tLOsI/+Gc/E1hIZ0n91RFQZIurYLnE8WChOV1YHe9prAdW+1p9?= =?us-ascii?Q?J9l1jwvw7ek=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gxGWgMcmhAR6f/ZwR/6twxgK74bMAMnJvg3mZ1gMQ60l7+1XXMzScAk2g5Zr?= =?us-ascii?Q?QkhB1vaJTHEN+ErP6oV8WNQUbQE9iGh+mmWeOcGZ85rEO0VP4ObAN0RypaOs?= =?us-ascii?Q?nQ+142f7Upn13iRq4WiMRB2qt2bR/LJ4W02AcrdEJt6QQsTYmF97yuKCvb4J?= =?us-ascii?Q?aAE1F4c2HigL0v81Fp+s0soDF/fqBKX6Ygy49WidbdfVd0iZ43mW9caMZ9RA?= =?us-ascii?Q?VpBCwhompZPu9sOROYMuCGo9iSgmDCEq9buYw9OmjUPDtUvD/Ro1Wjr/it83?= =?us-ascii?Q?Oc4wGACWg4BGoqcdHC3OvRUIEi76/nOfLUzR+sTYyZKmV4OfdwcFRw01lj8j?= =?us-ascii?Q?nYd+viYBHX9IIe+ZHSlrKEd47HqCI0yJj5kklCCuM1qErtp7NEHXIeVr3FU9?= =?us-ascii?Q?Bm/mkjnH79S5SM8UQaHn7IRY6Zq70ezJyoy/SCuDhj/kcbncmn5J0oTqHLWW?= =?us-ascii?Q?kXkecDGjlPUh+WF/cijVtWGYsu4j/tnTDm/Ri1cDs/tqlKWe7WTL2xhNvws8?= =?us-ascii?Q?Xgfe5Kzg4WDGKQYPpBbj247blQMbX4wYsjWCPvObT4eiurKIu4hwLdXASUb9?= =?us-ascii?Q?oAwGiXY+B7FdCkC6nptq7nArbDeFB+BeN1xNZnNipnkIpFMxZEmwqaZK97Bx?= =?us-ascii?Q?I2d7y1W8RMeH3dsleErMCCM4DVRWv4WP0M6EtgwKDWIJq6Oi+U8xVyFpK9Wm?= =?us-ascii?Q?BtRXbKmEGe9bfi4/moc8AL6PBXs6JE5SrbkYrzhgAgeksEWXoKLcpY2T99Fk?= =?us-ascii?Q?TG21daLO3R/rm9oXAQwm+a6Fb7VgtooErRlkllKFxffFF19DsTDDF9043mWa?= =?us-ascii?Q?mLu/es3oBkgaDIXt2sTDj6r2xdiXyU+mOGjfVCFNHCeFQre3tHadAYauASBS?= =?us-ascii?Q?9+aj1WrVMwKjJGDbIKmX4K8x08WSTb74D3HXpn7jU7I5ivgRpanHlJQ9RSq3?= =?us-ascii?Q?UKuE02oqxkev5KeHuqyYpF2XCqQ5GKFq4/+/ZioO4VY1FhZcbwULYogWJwhD?= =?us-ascii?Q?Pnng/+Fb8YIEyu3GoylLcPkip+zgCdlHmrXNh623+TbIaxRIHgYQnQyDdaUp?= =?us-ascii?Q?aXo/GXnxo1O01BRlXoXVv7xjhC/z6OjV+cf/nV0HlhmfulVTT3jQFZkWh0zi?= =?us-ascii?Q?gfdgIrucZITlg00drtQipsGU/oNvQwmGajbvJafo46XsGBN2RqmzUza1pIpG?= =?us-ascii?Q?fZTs7+NS8medUfFx1cihIwgcLz7sLRT8U7/I1S/CbqEqrYU8Qt86qPyI+ekL?= =?us-ascii?Q?+nFNtIJL1HiAb1lzmJ+8PqnxW4nznh5t0Tac8V1EgQkrExGPeFNIY1RciKFe?= =?us-ascii?Q?UHflkNrcz4N9iVWqCSVJJRE8nNtCggBZ45qj3bRcm9q9+Xe77Us6Kiszkz4I?= =?us-ascii?Q?n8hTGBE13C+PISKIQblhjwnSyIEr3qrpecxnRB9iZyQlJOaecHZThX/stHFF?= =?us-ascii?Q?ENNCbfr1IuZh98rQ5GZu2h0RGHHG4fI70wjdFcJXP1UPN1oYUjBYcwx8pMjj?= =?us-ascii?Q?O4qksB9DCHUllgatZksNpCE3CjuN/1PLHbaby9D6FKmx9auZT8huuv9vDhQL?= =?us-ascii?Q?cUibOU1N1YoPdBUm5M031OOLo4U/EXJ4j7NsLppl3FBiG2tCuUbrUeNeA19e?= =?us-ascii?Q?E8R6nZ/A4f1lN51WGNZHPbQANZSXlyEpFJLYmwV1Y4Zn?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: fce3f58a-85cf-4ba3-36a5-08ddebac139b X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:45.4940 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: dUszpGmQ7QmKUJF4jUja00LKZ+RXyBKxStvDpSsGK9kEO6wNclTmcgf1STG6GbIj802zAD4t3EVtRDbcrx/VAs3Q7nnsWuCie1aBD36K5LpVC6CracSXulmw0KUWbqlM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: EHYGEWDUYA6EZUJZS6PA6BCFKNOLFODG X-Message-ID-Hash: EHYGEWDUYA6EZUJZS6PA6BCFKNOLFODG X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988419939124100 Content-Type: text/plain; charset="utf-8" This allows users to call API endpoints that require passing data in a generic way. Previously, only virCHMonitorPutNoContent was offered. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 49 ++++++++++++++++++++++++++++++++++++++------- 1 file changed, 42 insertions(+), 7 deletions(-) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index f65cca648b..2ebeb46ad4 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -62,6 +62,10 @@ VIR_ONCE_GLOBAL_INIT(virCHMonitor); int virCHMonitorShutdownVMM(virCHMonitor *mon); int virCHMonitorPutNoContent(virCHMonitor *mon, const char *endpoint, domainLogContext *logCtxt); +int +virCHMonitorPut(virCHMonitor *mon, const char *endpoint, + virJSONValue *payload, domainLogContext *logCtxt, + virJSONValue** answer); =20 static int virCHMonitorBuildCPUJson(virJSONValue *content, virDomainDef *vmdef) @@ -868,11 +872,15 @@ curl_callback(void *contents, size_t size, size_t nme= mb, void *userp) } =20 int -virCHMonitorPutNoContent(virCHMonitor *mon, const char *endpoint, - domainLogContext *logCtxt) +virCHMonitorPut(virCHMonitor *mon, + const char *endpoint, + virJSONValue *payload, + domainLogContext *logCtxt, + virJSONValue **answer) { VIR_LOCK_GUARD lock =3D virObjectLockGuard(mon); g_autofree char *url =3D NULL; + g_autofree char *payload_str =3D NULL; int responseCode =3D 0; int ret =3D -1; struct curl_data data =3D {0}; @@ -890,28 +898,55 @@ virCHMonitorPutNoContent(virCHMonitor *mon, const cha= r *endpoint, curl_easy_setopt(mon->handle, CURLOPT_INFILESIZE, 0L); =20 headers =3D curl_slist_append(headers, "Accept: application/json"); + curl_easy_setopt(mon->handle, CURLOPT_HTTPHEADER, headers); curl_easy_setopt(mon->handle, CURLOPT_WRITEFUNCTION, curl_callback); curl_easy_setopt(mon->handle, CURLOPT_WRITEDATA, (void *)&data); =20 + if (payload) { + payload_str =3D virJSONValueToString(payload, false); + curl_easy_setopt(mon->handle, CURLOPT_POSTFIELDS, payload_str); + curl_easy_setopt(mon->handle, CURLOPT_CUSTOMREQUEST, "PUT"); + headers =3D curl_slist_append(headers, "Content-Type: application/= json"); + } + responseCode =3D virCHMonitorCurlPerform(mon->handle); =20 + data.content =3D g_realloc(data.content, data.size + 1); + data.content[data.size] =3D 0; + if (logCtxt && data.size) { /* Do this to append a NULL char at the end of data */ - data.content =3D g_realloc(data.content, data.size + 1); - data.content[data.size] =3D 0; domainLogContextWrite(logCtxt, "HTTP response code from CH: %d\n",= responseCode); domainLogContextWrite(logCtxt, "Response =3D %s\n", data.content); } =20 - if (responseCode =3D=3D 200 || responseCode =3D=3D 204) - ret =3D 0; + if (responseCode !=3D 200 && responseCode !=3D 204) { + ret =3D -1; + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Invalid HTTP response code from CH: %1$d"), + responseCode); + goto cleanup; + } =20 - curl_slist_free_all(headers); + if (answer) + *answer =3D virJSONValueFromString(data.content); + + ret =3D 0; =20 + cleanup: + curl_slist_free_all(headers); + g_free(data.content); return ret; } =20 +int +virCHMonitorPutNoContent(virCHMonitor *mon, const char *endpoint, + domainLogContext *logCtxt) +{ + return virCHMonitorPut(mon, endpoint, NULL, logCtxt, NULL); +} + static int virCHMonitorGet(virCHMonitor *mon, const char *endpoint, virJSONValue **re= sponse) { --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988899; cv=pass; d=zohomail.com; s=zohoarc; b=BKh10q63eAghiG6MzaZvhDrGDCDghQ5O8/8QUtRO+CGP6t1R5aALfLK2KKr73NjhRQ9S0R97uh0LUq2PNoaTbsz5UrhIpk1iS7AcJ6m1rqIf0vi/x91RGUxOPsBnuMG8Zab9I7B99pewO+RBlPHQEMrhUN2pN7Ia5sp2US+vQCs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988899; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=yXU5HHCMfX/Uoo5+JLMUITH8kQJWuAxsPois1tUD3d8=; b=daHoipsQGmT6me3adjE3jS3lOImkMPEe9dNk7bNpGf8Vj7x/RAg/098zOgjzXw3NE3Bxr9acphP6v7VE0X9oM7QsCaj7o4VPkw7PMiJWSYBrf3ZrRLubYqorqBUz11CWfPGuB+GH0u6iddR9D4REKRAczgqoMRJnGNHWTUHEKn4= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988899258534.7537255816675; Thu, 4 Sep 2025 05:28:19 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 8AAE04425F; Thu, 4 Sep 2025 08:28:18 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 3E4324423C; Thu, 4 Sep 2025 08:22:37 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 10AD744231; Thu, 4 Sep 2025 08:10:55 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id F234644231 for ; Thu, 4 Sep 2025 08:10:52 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:47 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:47 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=g3b1WV7y1/9NyLdEol/kBnCiz4BcvMz1+jW4awkPbU53Sa2yX+YPVd9Pc4wEi1qwUBHsQKio5RNIoYSCeboVu9tP1+M5d129aEFucfbq63shUhcOjRUamPrlY2iebny2hoDFlvWaNE8U87xedtysZ1jbkPZJn9YabVZyc+//kUGt3hi43TPcowI4W8KvavYeJwucRUm9VsgtngvyusdjOi05ctUK+7+p/SXaRLDv/Vmh22i6ZZR/tXexKJe+tMCaztZCpOJCuaYI460R2KD46lcX5PSH53aS2qwuU8250RQyZ5GGHi3PWxEeMHRevTQU6S0hO5htiwoBixo2fPJnEQ== 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=yXU5HHCMfX/Uoo5+JLMUITH8kQJWuAxsPois1tUD3d8=; b=r96tNLqi2iiHxYX+Hz4e2gttpuK4/4xHaG7H6thDI03pHMKJfaNsHerzjSqDyyfrJYe3i7oyvuHd5Mg/LsHQiX+yBNO6C64BWNk684Pv6Rjfhm3OBerrZDb7ZyuoQ8wvDcGOujm9VlT/yiIsAyGzu3WR2mfmIQfTXpn8SA23TXmew7r0mccLfMOyKu+jyNRM7JALGMSlnkFqelv/9fndCHUAeQhi9zeHA7oMZlVgsGos2Sl51VZFsczqk7HgMje3pqS85tDZPiVNGONcyCpbOCBBiXcY1o6Ijpihv+43N0FpZXxQfKPFCEkbyyerFuUY90OTeRoQLUZr65dDkslXfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yXU5HHCMfX/Uoo5+JLMUITH8kQJWuAxsPois1tUD3d8=; b=RY9eqqvpmwmRG5T7nW9wH5vCh9ksoHvQde8YXh1kW8s3yPwqBDAaYF4TimeAfGQr2kiPET2Renh2eN5VkA5iCjQwU1muelD9uTL1+sW4Qs1Nryz6rOoudbxQHu36tNMpyzdGHhWiDf6X4Hu0Gdwhq+vIkTr1reQzFiFuFXC+1r0FBRynZFq/JiFDy6zCYx/6NckL4fp9BCT4f+yB+sZRKPUBhb1OyP7oQDXV9FTHonGbfjHwDoISu+TcSVXSam0OqurCS01jdly9O8lwwxJm5NOqcBJrl84w33tynfKQnO07AaMIu6tsErU1r56UcDlj6gBy8TMjqYUOnji0KFjOcw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 06/13] ch: add monitor disk attach logic Date: Thu, 4 Sep 2025 14:10:28 +0200 Message-ID: <20250904121035.1349575-7-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: 89c809e4-8538-4a1f-8988-08ddebac1401 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OEAhMFyv0tlCWAr7KshYPIKCfzqiYZuecRe6wAyl+pFZQovM3biE3rfhh5AN?= =?us-ascii?Q?q4yF3cdGy3QjtFkSG5JtLTC3pB4VCxj9RIuA7Cv2ezFUmhNfiANcSoU3ETtU?= =?us-ascii?Q?uuybFZkboyxYZ+Ml5XipZcVyBf72j/vi34vsijGHABTDs+8/pwgZyqc9LSWL?= =?us-ascii?Q?loXbsJD6BNlZHL/M+M726BqrAI14Z3RvwmdUHSfs0A2Xztxu3ker3VZsTMAK?= =?us-ascii?Q?PJJ/wYUDZX0tSCSCuLAkkfhRCFruSV9MpBzMH3K7j1K8nzGq6JttlukdHyxO?= =?us-ascii?Q?BAFT/X0/2w9lHL6jDanZh2eJoBzEmINv7NsZLUT5xzgrRyckkrgB1sVuThU1?= =?us-ascii?Q?2ww1Sfw/7rqm1scSsYU8x7sdIQybBvC1+cak/7mN10PZOYHIE2j3zxYWAY9U?= =?us-ascii?Q?OIVl3CEVJAdjdAVgsBacwGxecKUfSFfgpOYfUrGdwXwnsfwfxHeEPk1V/QVp?= =?us-ascii?Q?MeAuXUxG3ykQbJQUnif/3FJdC44sQK8ZtWgk7kS5O7LtPR2il0ay0IufAEmh?= =?us-ascii?Q?3X5evYpLEcb+WjXZ0y1HdJI6Vl6hSw53IUSkzo+ltjF3RiBaa+lv/txY0Jz8?= =?us-ascii?Q?goiv3mcx9nB9reQdJspSFQEqLjJYwSGZ8tkw6GAqsAJrHQhpbrwrzlXiM1Xg?= =?us-ascii?Q?5cboP7u+1q6pqmRmBO9RRF7fW2DQJwLYapQWcLiWwnLnaAQ08MWvM76vQnfc?= =?us-ascii?Q?cW4lEktD/0quVAt0DRxV5px40nRb64hbVP3qiHsypE+qOfVkJCUECUtuyzyJ?= =?us-ascii?Q?r06wHU8yVA+MoofsyHxFoaUVMW7DlxIS+LQB9J6zEiPmK1+K10ExHXzCkl8P?= =?us-ascii?Q?jj61M4ti941RLOqeS0Z8TeAu6RKiGn5VRu3GimeBv8Gs6jqeef5AYLaWUx9P?= =?us-ascii?Q?35ZttGLEJyhvCj8/jw+/czhNRNBf4+4Gk7thXIvWsttrdPk+N42lUuV/JOmr?= =?us-ascii?Q?0VRlhzESMl9cua4p6mnU9xpjwQudzR50kySwXJ0yuusJuYDDsUHGtexaNowC?= =?us-ascii?Q?0E4V2HBMIHAubgVM5GW4pakJvG9OsJ25qFsmN764cxVmZj89zXdAh7ieSbf7?= =?us-ascii?Q?ylasfSaqH6j8zWwILrXKSovoayPmyny5syu99DMNpLc42m68O/wk+m7RSxY2?= =?us-ascii?Q?dbzO17t0vgloQ3VBpwdDzml6ggi+nB12v2QD8HIySohkoyPg92E1TDkguqBJ?= =?us-ascii?Q?9ymRso1i/YuiV5f5lmmMlAFSOqrcq9NbcskmPjHZN/9I+p5iZdSpO0ICyvz6?= =?us-ascii?Q?G8Uk6VUj1j1hrucy69TDooh9Vp+Dvlfhl95q0NKlxHWvjwZl9IEM3F8ylkft?= =?us-ascii?Q?wpb0QZv3eneZb4ABQ/wgFuidFHkFxRA6L0+o2glG4hwqeVET8IAUulqbCiLt?= =?us-ascii?Q?PKxx8HWl3nfc6/67gVoktSIHr/EIMZ0ni6t0KGw2tw0bWQU/KpNdOFLCnYZ9?= =?us-ascii?Q?MDQcDg06jgw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?O38hszZ+/qDGWxMFHYEa5AZ76r0trM5Mg/C/tQhE47Wl6OSWM5YAn7HnlYLO?= =?us-ascii?Q?//KHU4ydHnsPU6CgPv8HXOtpRSxkNzfmudppy8fzswuIP3sRiEb4eBY69e0k?= =?us-ascii?Q?X3+bHa9Mf6UB52iZwHx9vhGi3SX5L29luOpN4ckG9fWb1Blx62C6bUIadX7V?= =?us-ascii?Q?r3fcvibJc6qVs6ve3XfLi3vvpBcEk/WI3nJWrw2YB8Cl/+DnRlqVt/YGuB2C?= =?us-ascii?Q?o2laOkzvd+EEy3bP2JCNknB1F+nwtHVjJ2loA5mt5UutvLMxH18V46Zkl2ZZ?= =?us-ascii?Q?HUOMA7nra5j7dqJekChaMK6gFErj/Etcfu8fAZdbQK5808LLwHPiYHOhUy3Q?= =?us-ascii?Q?fmKFK9fDRwzxUnxTWt8lO5GptTBE1N3mAjefSWnfi/bhMRBKVpHoZqDL+n2A?= =?us-ascii?Q?swqMRT9Teuh3+gq1EmR8WB8wV8QTmyo0jNepL8D+BBdalGxMxzPXk4up3kqZ?= =?us-ascii?Q?V8Xs1rPrkq8cPOWyb+dfredG0jwiCr2trRGTjtWaAMP4uQ+raswuqNmzKfOg?= =?us-ascii?Q?KfTzhWXXAHUNfprephffPVaAHWOqUk6RI3v7C3e3BN8fjmwpsjcBmjvn9yPt?= =?us-ascii?Q?5uObXZpsWJH34Vusm6X4n9fTQ/irKqsMDz2PfXrl8bV4iCKcDPEGq+VE/nBq?= =?us-ascii?Q?+YpCkTOaMUe1/nNJ8b1Nd5a6qUoKqZoVVY67JJ+8uAScUZQWtUvAZa4sJF9T?= =?us-ascii?Q?N1jkC3EBlXuuDjyLiwZbD3kTTHkiAtQHOAuAHFGKowZzGaQGOlVPbSQ9cRDb?= =?us-ascii?Q?WnFxXOEuUALiXtdsxWgBXwMweoxEB7dJaqcuZXY/jF0Fjg+duIUmW4AQ8eTJ?= =?us-ascii?Q?XXw+7TGmAzOXH0/gksbI5S8dgkBDA1Vknar9q8+29XT985q2fs6snPTna1YU?= =?us-ascii?Q?nLcs9vlkg7Ucv6SqD01uzZ2yZshruqfVM7mlosv5m64kjuGaIRnmsa6h6MfR?= =?us-ascii?Q?zPsj8mSr8Dn35NGZ+V3TpkgbqqbE9t5g5D4S+qMwrrlsczRnaDwfUShxykyg?= =?us-ascii?Q?UfyJbSg7FtEjZuxixw8mjKBGCVAqohpo5SbXoGfX2AdilzpP7VUThFP3Cei9?= =?us-ascii?Q?Gv8MKhlCYHgoCvGdvOT46L5lNhd7STKTLSiXeyx7r/CMcJ7WTBW8UcD0VrIg?= =?us-ascii?Q?wwqFj/XrQP2N++ze1ypEICjvoXn0S4qskT3oXVOZ9xDg6TQ0Fj43jD7GLA0o?= =?us-ascii?Q?tZV6XZ1VHj2Mdxw9wAgAXifaFQrIPIzalk2OtZUTnvbRulK32IKLjG3ZK5rd?= =?us-ascii?Q?nIzEZNGQl9rhvzkuZcT+KUbJNRhgj0/8v8+gn0g/7XJeZPBEsGZdJIYVyyEV?= =?us-ascii?Q?PZGcsLETmX2PWTxr8m337pFI6NsDj6bHFsSQ9DkXTUDKIg6MaFn/0QT67GAI?= =?us-ascii?Q?iJhj6zoHhvqK5fusjLPO8NSjPjpjMVwU2+/H86g38s2UQgNkRTT7bPRdILtL?= =?us-ascii?Q?GJ518yQBh4jVjuOZoTzLhm6sG4bQIcFfGrXOqBQdcpox9DcZhE8CEeOg7Kxt?= =?us-ascii?Q?zEyJaJwnIoAHqdDToD4mQ4p2mqf67D9W3trHb8KZ09vuwh/8nuGlXy6jtlxq?= =?us-ascii?Q?YUwi1gLCMIjHlzOi7Mc4+7p5TxHno162nsSRCuz3sUmp29R8xFHm0igQ7WXd?= =?us-ascii?Q?hXx5GF1eeoJDuKyNQRD/Cuzjnkg/crOS+KJUOAyFd1ld?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 89c809e4-8538-4a1f-8988-08ddebac1401 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:46.0568 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DWd/fE2gN+7djnauvAaYe1SBBFEaSN7AE+zij7b9N7QFbegspvQvqMIyJE0xQSo4jpo9OlUHgrZud8/KZ6jgU+acQZ3iE8U/27L3jIPvbF30VVw5oB9w/h6kb+oqMukP X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: N6DHNZUE2VONIX24OUHZXVMDW4LB34UL X-Message-ID-Hash: N6DHNZUE2VONIX24OUHZXVMDW4LB34UL X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988901765124100 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 20 ++++++++++++++++++++ src/ch/ch_monitor.h | 4 ++++ 2 files changed, 24 insertions(+) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 2ebeb46ad4..710ba06d2d 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -315,6 +315,26 @@ virCHMonitorBuildDisksJson(virJSONValue *content, virD= omainDef *vmdef) return 0; } =20 +int +virCHMonitorAddDisk(virCHMonitor *monitor, + virDomainDiskDef *diskdef) +{ + g_autoptr(virJSONValue) disk =3D virCHMonitorBuildDiskJson(diskdef); + g_autoptr(virJSONValue) response =3D NULL; + + if (!disk) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Could not build disk json")); + return -1; + } + + return virCHMonitorPut(monitor, + URL_VM_ADD_DISK, + disk, + NULL, + NULL); +} + static int virCHMonitorBuildRngJson(virJSONValue *content, virDomainDef *vmdef) { diff --git a/src/ch/ch_monitor.h b/src/ch/ch_monitor.h index ffac9e938e..8338059c7c 100644 --- a/src/ch/ch_monitor.h +++ b/src/ch/ch_monitor.h @@ -40,6 +40,7 @@ #define URL_VM_INFO "vm.info" #define URL_VM_SAVE "vm.snapshot" #define URL_VM_RESTORE "vm.restore" +#define URL_VM_ADD_DISK "vm.add-disk" =20 #define VIRCH_THREAD_NAME_LEN 16 =20 @@ -138,6 +139,9 @@ int virCHMonitorBuildNetJson(virDomainNetDef *netdef, int netindex, char **jsonstr); +int +virCHMonitorAddDisk(virCHMonitor* mon, virDomainDiskDef *diskdef); + int virCHMonitorBuildRestoreJson(virDomainDef *vmdef, const char *from, char **jsonstr); --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988725; cv=pass; d=zohomail.com; s=zohoarc; b=mugEpAiSkWCQJ7Iiy/czfaN6p0fE9buc7lEQRgEJomTCTv+XGK5XXZHPccSu7SKUE9odRKxrvOdC0cbxUpD1I4R7qSxI4t/hyYPYaX1g0sXXcp/t7QWg6Fku6+MqCs/8VfMOs/L5j7vvNq64ctw34YlOBgsNxhTc8oVdAvB9wq8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988725; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=SQXk+v3k+JOPh9fhA4QPPT2+HdbuPtBD28FA51rzir4=; b=MWt8mi5euKJsUNwrdhKQxOxvRaie4Jm6acz8Hyo28xFWFiVd1byYatGOF91HfezcopWbtYy57NZjQlAKpFoLgo1mjmOSERU5JxUQWpZmXIlcEkBwUJmWZPh7WAWuaxSvrjUe5rOJBuw3tXLVukT4AvNHZiUTT4LHnaMrj/seL6E= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988725496691.4001935412099; Thu, 4 Sep 2025 05:25:25 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id AD88344418; Thu, 4 Sep 2025 08:25:24 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id C091A44336; Thu, 4 Sep 2025 08:13:09 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 509B04401B; Thu, 4 Sep 2025 08:10:55 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4B08944227 for ; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:48 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:48 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gl2cxS4wjFLdlaWC8jWpOpqA4golM4sc4rnNXZgwwCGvw8BK9ZKU0YuLqhTHs+kaouzZ+TARqX6GFPleMzg+PYyXeuHHP4dgCjoh4v+YKjoIJvksmGG/blwygW+Ud4bMnNvyzQUYZaih2pc7SFmxIzB4aTrbcDYd9YxFP05pszN/ZCQRNhBtAYJzWegCWpWje120VrJX2AYdDQbQvPwSKLZFp/2mwN9omO89T0SMmftO95bZZG3cG6xL4fGWjWNqudEapgurR4WtecbnhEkpAN8AmV/5lYL2C4mW+4rO3ggHsNBBrLjGDkR93y9Enpxa3bT0LrL/nMkQIxIrTY6GAA== 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=SQXk+v3k+JOPh9fhA4QPPT2+HdbuPtBD28FA51rzir4=; b=HZGGcAhltURqObbEK0WNSzNlgIfmkB2eqMS/IIKfmyKep9PWfqTv/dQWWMtBvbHTyIHyq0B1wgY19VWSTN61+tjyrYjpksH2NJ5Cc2Cc8ENDkkVwujpLUujVeXkcpEy57zX530YgcyP9xCKeWNL5psFFwSDKvrrosZhb8i2CNBJj9gZsV9b9sxLeXNAaMyXEWxqC+GbZ7aH+vtkuIuaUr55ZT+rn8sg4Pf7uKf4GjFOhqiGHPCB2yk5aa7x/rXUzXWddo95t6ToneLFV0voZVvIal0pCOcbBzslr3eUyhGS+OXNINe8YsGw9mTV1P+MaQZgq6a5nZL7n4KkVdwhdDA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=SQXk+v3k+JOPh9fhA4QPPT2+HdbuPtBD28FA51rzir4=; b=MVbtfKbkXM5HbKbIA617AxsMcfgrxj8/SsnSKanu5ErsMMl2RElITAv2cFTe0hNLmkUYFZ119cl7SQ8KXote8KrhxziTDcYBc5eYthvaPkwDchHJjIuaKHoCpSHH3BUJxlFvxfMt/rFXk4Im8bVzNrOWAQtKE88Pa0xU+krF5rYCyuxSeyD6Qmo0Y+g3Vt8i0HQz58stiqZr976mdEqdTJVCqqUuRTM27lB/qwWZ0vWRKn6jDckTjCUKtT1HSmALbxzgrZ6A6ElhWstc0gzODbMK/0q7jpdjXexFHyQbO+GkqHueL/wKXJ0ti1TDI8hDL5yHoVN4+i3BstTzmG3yJw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 07/13] ch: add disk attach helper functions Date: Thu, 4 Sep 2025 14:10:29 +0200 Message-ID: <20250904121035.1349575-8-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: b39ee984-f3d8-4129-2d2d-08ddebac1451 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?qnBb5tMg3Jn12aQ3TYm6sPy1pseMOk29VFees/mHqnjS07Zr04pwEI97mAs4?= =?us-ascii?Q?v3qJ10IV0yiEL8JHGQb9h51YlT3H+o242FcwekKKOTp9eYaduqOm8HzbGZwp?= =?us-ascii?Q?HMD+g4sA5ZKxi4QOXjfPuU5u1aLf2D7mZrFTaO0pGK1jSqvQnOa6P6MnPPzR?= =?us-ascii?Q?1sdIkFUq8sljcSQL0MGQcgJympah+9tQiO+tI87rDJPAQYZ1EZqoEzDRnuoZ?= =?us-ascii?Q?kUCEVzyKlIE3L0cgcVAIZsGTXmCa/t/aVdTklIFe8wbQ5E6EFRAiLniHwsW/?= =?us-ascii?Q?k7fs1KslruUSxwZOWC441E6TJA1K+ilKS01NXtwixlWD5kK6DeA87dt7M5LS?= =?us-ascii?Q?zXBlLS6CK7zHw4YInEC2KSMkDF0Amo2I0Twn4GzNARAIFwwlxcBSTk2NqQNH?= =?us-ascii?Q?P7jnhbsu6vlqwBl7xoRLBtG5IG16oejANIo7QyvzWXap9zFB12dz1aXhdyIj?= =?us-ascii?Q?ssG3dur1y/jAQ1w87kvWX2tsQJX1IU24RNDjyYlP/F8SapDnNIRCrJ9KA4zP?= =?us-ascii?Q?4P0GKOyw7lp5f67AA6Z69eq+VyBhJrn3n6me6XBecBfpHh/zhydcyZOEf0v+?= =?us-ascii?Q?nSY4Iunk4G2Ij7W4PmJcYErnq+E0IUYZ0xQM+9RV8lrUBpm1iIEV5Ptr5Gex?= =?us-ascii?Q?IJNkJwkIoLgw6E8AAzzASSjDylLButMaCaO/Gpy24woAcjl2wpDyVc2OaW8C?= =?us-ascii?Q?kLlzGhpK9FycRiVrV5tpvaeBwpy2P6WfTdVw3xjkpaKfo7OEyMq31SgzZu/g?= =?us-ascii?Q?9UwdafyGMj0HgQLcm3mA4GhDz1POGvde+jhcGkaWGgJdSLnqFcFX6V+8llIM?= =?us-ascii?Q?d1JhmAf7NnTIxlmm0xeViEcQU7HTkgxmRN5xc+JyHjlfsl5KhpVkjjAQ6h3y?= =?us-ascii?Q?++Ui6x6CmhZ5Q/RmxwpjZomEXpBeeX+lQ2FyMC1FrycNfJOblOdAxx/bjMGt?= =?us-ascii?Q?NbL4YvlJiSvILjFxDyqLBDgBilq07AR+BkPXwHT0ZyuIR4rqq5o5qZzvEfYI?= =?us-ascii?Q?0E0B6wZh2bZ8bf7bXHTHAlu4ln5cX/gUjMZ1ctr2haHSM0ZjiO4qGmtdecrs?= =?us-ascii?Q?RJeSMxtam5q0w9sEAz4XN84557mNmlbjPQ4nbljS4fPUaE/6wCCZ/A+QP5sQ?= =?us-ascii?Q?iPCrudh1E+3pg3HNiABKBulI5T7IztHazPf8G1p+mFb1hrOm0lP665mqiRCH?= =?us-ascii?Q?8ETS0baDFgZUoGJrKH/wQdxQtDn34R3uVL7Wz8fiDPYlJscQIR8WFBfy70YZ?= =?us-ascii?Q?Sre7Hd0mLdjAiWjgxaJ0ybQIQAFyPEmFT2NtwPcpQTgsH3r9bAfg3iEs5Hfv?= =?us-ascii?Q?Vum+6Z93CxRQXQL1vbfsZc2zqfkuZLPc7jQaO10eTZDUTAqIFKzfagQuniw+?= =?us-ascii?Q?+NS5wLUXKGzDZA9a/gi8jHkhB9ZgsX8izvakyYBZ+sqKZc5t7In6VsNPfGrB?= =?us-ascii?Q?TrxN6cjJFpk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?MvVGxNytveuxjBuUpE6dKD6MZIPFOA97XSD7Eu4PsiwLoJpUWxAZ1lkVajum?= =?us-ascii?Q?JbP5yHsIxtxiU8aAMSbg/waSFtMTP0ian2wtVIxmHwTm3hPCekEfqUD6oIev?= =?us-ascii?Q?m9112SHFdhKuxKeLafc92q562mR54cG2PFkV1mtVqPpclnxym/t4mwx3Wvux?= =?us-ascii?Q?7Ek+8WKMaC0mchyS6FXobVQy27rMzzRaS2LE8dyyqEmpe780Koz993ifvnIc?= =?us-ascii?Q?nb8Uc8O02FwRlVa/otzmqdBt16t2akWWXe/zzLjcUjBBLuYRQYfl14SUvxDG?= =?us-ascii?Q?48ySuBL2hAoeaOD3vvYWSYYQ4m/McEEIh6Q5BXJ+Hl3Ws3waFOLXVfjB4+ja?= =?us-ascii?Q?yQOgVZp6KGXJCvnceRTbUx+JOZWfwcJwS5ytACDEuMibiqRwS40dcv4yrMVu?= =?us-ascii?Q?4gCJWBK5XwfWVIrnha62hAQJCtxRHcJScAJDtDDfA11zilPuhFqWIPjPnZq4?= =?us-ascii?Q?/nW5pkvD22aeGQaE1PKlVdLwsvjmcroIYeY8F/jH+cpHFwJYO6/sedjrvLBU?= =?us-ascii?Q?jXfxGugmw+2DJzoBT1DM1zHELtkRoyAMiR17Soapx7snwrQPlZD/WlA31EBQ?= =?us-ascii?Q?FzIPQYLFyUZpOlF31ORxr8d8SfvYTCJYigYmgdymFdb/JX2Q5HyJA5mnSmaO?= =?us-ascii?Q?odZSSrVRDbi2laCRKij+if/E4FNZujCU+/rhEySzEoTJO4eahFTLDk8wc450?= =?us-ascii?Q?vJoh5hkSFi41DNQXzhp1NMYFZJaDP/RPrurot6gzjSyGv00fq1C1OqQTW9dj?= =?us-ascii?Q?Ss4uPFYX/B3GYX8itDXqh6E1dLfx+ge9Tm3RiFjJWdAjAI1RJDwvWK4meP12?= =?us-ascii?Q?/lMjAlcqf7FqRblIdb5pijAirXW9UvNOC9GzuMQPsHFAE5zLRmw4duJjOhHo?= =?us-ascii?Q?dEiZvoT01sh7BmWcP+jGNGh2WP21dQyRFT5AlPvnhx64dNC7ec+hOzyq7C1D?= =?us-ascii?Q?58kSjMqzenekqdx4xS5rr8P4ZRy/E7XQxDyCnyCHaCml+exqZQ5cgWTbMXwL?= =?us-ascii?Q?qvetaVgeVwZ7ar3GQG8voSOG+RAp3izvenNpde2bVRdD+PLxBTNp+Y2Ajsu+?= =?us-ascii?Q?aMLL4KoZm73YZhb6rbh7JbVjImcHD9XnmrCkeS9g1hfP6SB3niQlRmABAf7u?= =?us-ascii?Q?1z4l2F/yORVMnSn/F2fOw3/zkcvmp/T2hxBNb7bO8gRjY6qlSHCXk0Eg9Y2j?= =?us-ascii?Q?JcoWZosKYFWOWFz6USLJ4cnnwsC16ExkaxwK3WvyI8Zf/QvIZnNwAa48Ox3S?= =?us-ascii?Q?kqLCNDR39wh0lYqxuoaU2IK6XzRVO23bpd5GcR7pW0jlySTuYGIG5NwkhWaJ?= =?us-ascii?Q?fJ9ZKJJMp4e2C4/5Kr3RiVu6fkcB0mmjioukvk7QIaqr8YRBbP7qY5Um3LCK?= =?us-ascii?Q?LLiK4mzNXf9dj6X2zROpmswS2lDrBNOErTEPqdAsLVKrjveQzNoRNZk3MJh3?= =?us-ascii?Q?w1Z0XY9TaDRHZ1UeCMsjknx9KASwWCedEqx7tQ5OJVOUejxznJ2ttaXZVqq3?= =?us-ascii?Q?I43+p2GvozmARHCiUi8Bh/g63uZ7Ukd3wxqACyqXqH69FKWv5TXFeNY6n44J?= =?us-ascii?Q?X3U8YDOaAt4mRAMRSqxCQauDHpyTeGiS9/RgbLqUKn3M5MnWQk8mdJU/cCwo?= =?us-ascii?Q?le/dNqE6PXQzIIJAejnl0Wu7SNFuJsVwlncfEy8C0zEo?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: b39ee984-f3d8-4129-2d2d-08ddebac1451 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:46.6594 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 3OUtDYYTh8v+X9uRphyHNunzYdPr4N6rddN5Edv4EM0/601bvPRMr6diIycVMHZ3Xr5FQ6gZhO3bDf5KV6hQSbkCqc+D+e/OuMc9cC2iCCMm97j0F64XDGmc0fz0IqKr X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: SYXYH3YATF7YRCH5X6FSCRHF3J3PPEJC X-Message-ID-Hash: SYXYH3YATF7YRCH5X6FSCRHF3J3PPEJC X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988727443124100 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- po/POTFILES | 1 + src/ch/ch_hotplug.c | 85 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 86 insertions(+) diff --git a/po/POTFILES b/po/POTFILES index 181a36f541..23da794f84 100644 --- a/po/POTFILES +++ b/po/POTFILES @@ -25,6 +25,7 @@ src/ch/ch_domain.c src/ch/ch_driver.c src/ch/ch_events.c src/ch/ch_hostdev.c +src/ch/ch_hotplug.c src/ch/ch_interface.c src/ch/ch_monitor.c src/ch/ch_process.c diff --git a/src/ch/ch_hotplug.c b/src/ch/ch_hotplug.c index c46628e7e9..7de688dc44 100644 --- a/src/ch/ch_hotplug.c +++ b/src/ch/ch_hotplug.c @@ -18,10 +18,95 @@ =20 #include =20 +#include "ch_alias.h" +#include "ch_domain.h" #include "ch_hotplug.h" =20 +#include "domain_event.h" +#include "domain_validate.h" +#include "virlog.h" + #define VIR_FROM_THIS VIR_FROM_CH =20 +VIR_LOG_INIT("ch.ch_hotplug"); + +static int +chDomainAddDisk(virCHMonitor *mon, virDomainObj *vm, virDomainDiskDef *dis= k) +{ + if (chAssignDeviceDiskAlias(disk) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Assigning disk alias failed")); + return -1; + } + + if (virCHMonitorAddDisk(mon, disk) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Adding disk to domain failed")); + return -1; + } + + virDomainDiskInsert(vm->def, disk); + + return 0; +} + +G_GNUC_UNUSED +static int +chDomainAttachDeviceLive(virDomainObj *vm, + virDomainDeviceDef *dev) +{ + int ret =3D -1; + virCHDomainObjPrivate *priv =3D vm->privateData; + virCHMonitor *mon =3D priv->monitor; + + switch (dev->type) { + case VIR_DOMAIN_DEVICE_DISK: { + if (chDomainAddDisk(mon, vm, dev->data.disk) < 0) { + break; + } + + dev->data.disk =3D NULL; + ret =3D 0; + break; + } + case VIR_DOMAIN_DEVICE_NET: + case VIR_DOMAIN_DEVICE_LEASE: + case VIR_DOMAIN_DEVICE_FS: + case VIR_DOMAIN_DEVICE_INPUT: + case VIR_DOMAIN_DEVICE_HOSTDEV: + case VIR_DOMAIN_DEVICE_WATCHDOG: + case VIR_DOMAIN_DEVICE_CONTROLLER: + case VIR_DOMAIN_DEVICE_REDIRDEV: + case VIR_DOMAIN_DEVICE_CHR: + case VIR_DOMAIN_DEVICE_RNG: + case VIR_DOMAIN_DEVICE_SHMEM: + case VIR_DOMAIN_DEVICE_MEMORY: + case VIR_DOMAIN_DEVICE_VSOCK: + case VIR_DOMAIN_DEVICE_NONE: + case VIR_DOMAIN_DEVICE_SOUND: + case VIR_DOMAIN_DEVICE_VIDEO: + case VIR_DOMAIN_DEVICE_GRAPHICS: + case VIR_DOMAIN_DEVICE_HUB: + case VIR_DOMAIN_DEVICE_SMARTCARD: + case VIR_DOMAIN_DEVICE_MEMBALLOON: + case VIR_DOMAIN_DEVICE_NVRAM: + case VIR_DOMAIN_DEVICE_TPM: + case VIR_DOMAIN_DEVICE_PANIC: + case VIR_DOMAIN_DEVICE_IOMMU: + case VIR_DOMAIN_DEVICE_AUDIO: + case VIR_DOMAIN_DEVICE_CRYPTO: + case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_LAST: + default: + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, + _("live attach of device '%1$s' is not supported"), + virDomainDeviceTypeToString(dev->type)); + break; + } + + return ret; +} + int chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm G_GNUC_UNUSED, virCHDriver *driver G_GNUC_UNUSED, --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988497; cv=pass; d=zohomail.com; s=zohoarc; b=NT1FXzLRtpwOfOzFWetbA8IhmCC2v4YUWOaDpKMXDhV4xieMHW40w/W2r0f5XU0E7sT5ynAR30B27JaP6B8apdRnwmTAgpZ2PgFSMAEpVRGv33b2Rea2XC+46mTD2YlytsmPdGn+hTFkCd0QulDxpPaqKqto4ei1R/DWyu54mPA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988497; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=d/pBScKQ55oxh6l5KkZ4TKqqBZ8f7cE41GhBkR2uDzA=; b=l4KyFXMRsa6QRmUxg6lqZECAiAc+NR7kh4miWsnw4BuwAVo8uWJhl3t+dETG8IVG70q32/1dgv1+LgiepHrqY3/LJtNKvYAMF+JrcJN2uU8qklrGxKQ8fphvdgy1ICGgUMUJBQ79z1qaSBrCl08LX1/pvL5l2unBudlgQnYYPoY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988497583306.7083517165498; Thu, 4 Sep 2025 05:21:37 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id F105644216; Thu, 4 Sep 2025 08:21:36 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id EDBD444300; Thu, 4 Sep 2025 08:12:13 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 8655444218; Thu, 4 Sep 2025 08:10:54 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A068F4401B for ; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:48 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:48 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=bkyBQ3p5obXUGXhsgE9hu2Tj7uATaRuhA5jWZ5TCO/Rl44l/TE4r5TUZxkDvjRnU4ZzD+lXAmXmP7xtOeKUlGEkcqHcfX80I5E/fbj+8Raz65UoT5k0bbJRhJZjhVL6LVydLKhLCjohHTplkqWNr4xfIEyBdZ6U1O+0MZc3ZKIT2gmFqgVY/bQq406xPcA3WTEL5TGnv3ek804Ar/XJFyMPoHF6rlgRDPi4o14W7yLlDYMalFDKvl6iJfXCT1cgc+0KIfhTE6j1y2II5I2NSli+dp1NOYTz4miqSRTkOdS6Eib5GX7/Gkc+heYNgcspLpk96DWKKpC4PX6hY/anJPw== 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=d/pBScKQ55oxh6l5KkZ4TKqqBZ8f7cE41GhBkR2uDzA=; b=lov6Tk0ofTxOW9QZpXBSsp/SmAgs6t0nEmLLu/yOQ8YUQ7ygqncXY6jU7g+QqfLOK1zZtDKLp+4smnsmsZCDhDI3ROz7RrCPjYlhPHD4PfeaWotDVq7OQ1LyV30JmJQ3U4bukyr4Waz9YkpBXPWTMhA8BobPl79XjhEERH5EmJgtKxq4E0DBzkCxu3APEIg2+ueh9/WRp8AVwzm6APcKwPjeigBgUm3xGXcqY2ZwiXlpJav/vW/Ei7OTJOP5X6yGy0jO8YuhUVeYqp3CySuzhx2iq7Ipk6QSi3pzQs/6PEG5zTw7XJLmMTTGKBbB5Zsx4GHW7hNbjSKpeWUp8wMh2w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=d/pBScKQ55oxh6l5KkZ4TKqqBZ8f7cE41GhBkR2uDzA=; b=IzXK0D/AFLr7v2/QksJbNSPdStXiKnNT/xSIT/b8u8wDQWbXErbbS49g3sm7iLpTeaPfEZb95H/LvI8JoI3mbZ3RCBGmt+wFtm75EP5BHkfv/vf/NIE1vC57x+cYVLLh94tYEKOFWHOjVFnCUzBkJLTopxZv4hujD5aunWxcKGT+OmISCwTD/GDoo5YgTyoVX4wZQlR9/+fO4UOaMbRSU52aRnSHn/IKsTcF02B8PdXFRTD5hlrIHA78Lhanzz5cuw/WuWwmTxDVanuAp+Ts7tdi1urDl2plqgbZKsfRKUeegc9t1ET9WnkH9QLZXHqmjFIz2cmKPR7KWB6ZAoxAmA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 08/13] ch: implement disk attach in public API Date: Thu, 4 Sep 2025 14:10:30 +0200 Message-ID: <20250904121035.1349575-9-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: ff689deb-7d04-450a-3e8f-08ddebac14b7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?rD1tQM2Sk8xWGjVQaLXitZ+5xPVpJl/gDn8+HPtT/hdojeslCiZpicW5cjuT?= =?us-ascii?Q?9b1xWd67mHDE1+L7AKr06bq8TkE4H5aKC9DDdWTbqgLD5XX1v4wDUe7dZxHH?= =?us-ascii?Q?8lFP9TsdGlQ475RuJVPorrE7Y4D3Bu1EQ64DfjmbkCX5F97idb9gqNwR6A0M?= =?us-ascii?Q?XvTa+uGe6s8JVMIw+eAG2+7dTZ9u2jK/Ob3BTRhWU43PUjFfgEFlUq2ax8o2?= =?us-ascii?Q?o2mLOFj6BGRC2V8i1y5Ae7mLv/ZBxdgqNlK+q7l+6gD/zvZNXhgcNCxfNaaC?= =?us-ascii?Q?shETARQim2pnQ6RcB8iLDBCC6acWHDUfmkEIImmcmzfbqMk7FTPHIOs7F5T6?= =?us-ascii?Q?G5/3S0FDkDpw6yr6GS3rcFqi1pQW5O07k/mz2pp9sQtFVDQXCW8E6A+WMqqW?= =?us-ascii?Q?KFiZb1WqQwoekxdOD/N4d7ua1dgF41Sue9phfxJRVxhSucJTLDI8qwp036mh?= =?us-ascii?Q?SiB5++2mPdvmekcHcyTPGlCVSgQnIlMHh5oouBE3jG+uXM3Yt4GcNK7nCDhO?= =?us-ascii?Q?QnkFV90qpEghEBzJltNWwoNCxUiUbLZx8ElkkorGea2fR9jXvvzOMkPWP/2s?= =?us-ascii?Q?epaNoFKuUpqLny8+tngSIfsGP64dtDNotKWDoaR62JgyOeiRorOZmdYIgxo7?= =?us-ascii?Q?zY6SUNGP23ZXWPUZ0jdCDgdDGBvXIFalo6X3gwr4Q1G8ADdYWifF3LMkPCvV?= =?us-ascii?Q?wtmu2xwx+PHZBNydw/2ziTojCP+uZ6xWu+tiG0RmnkJdlqSYG/0WF++/UIk1?= =?us-ascii?Q?SUmucC4a8lUJ30TlrSo2xxwQI7rEoxM3H7Wrr3u4/btkGWpqVX68aHX2o2E+?= =?us-ascii?Q?FupUBOyPj++JFfUPgbzZwbee/tsHvRYbnCg+CGn78t13ej3y0PBcWfXxXUJ9?= =?us-ascii?Q?1Lu6Y/Ztkdy84wZcZIR2mA0m2OXnpN6DqpJ5ZtGdvz8qF8Kb5UFlEIhbPcOV?= =?us-ascii?Q?bf8Ajd3ZHC3Pp3OdCV4ZyhPJBSf+I8q4bMTbxcIV4iJw0kqgvtUZQBzOiyDl?= =?us-ascii?Q?lzGDNTUU4mltJxD0bXjAUO1rV2TxQZIkEhYFCBLwgNLfJJjX3/1ZZVIYSTK4?= =?us-ascii?Q?5HIgAr8iHeLzguw1rLNAY5VsrdsMWP3dJ1U+jaN835UkVCAgCIW/kfWJunTy?= =?us-ascii?Q?m67iV+7ZqitVElIUXxbR3ayHqhyVb14gpZiTlU5h9IU6EZN3NBBIuxggGO8I?= =?us-ascii?Q?oykanQhZyhmiFmSqxJn7exiEa4cWyWkVaOW5Hzjx+kaeaAVYspV0OQlxAG5N?= =?us-ascii?Q?PAJcU/klqdzrljVwzjDQl4FHkGBfnLLGFHVlOTT2TmcL9GZmwWYck8HeVXrk?= =?us-ascii?Q?b10uqoUz9ZXAavcZeFij4oTfl5dU6+BUjmqWKt/n3B/AzkUyaNuxLVDmbPvZ?= =?us-ascii?Q?yBvTZyzmz4HdOVjwrG4/K84I2+8zxbka+5s19mB5MBqMiO3kQz8gAbr2zpxL?= =?us-ascii?Q?DbSMNm7vsTw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GMZcavZj+YJsg1Z3n2zRfWVIHUtoEnIScPLuidAUHr/8Q6uyCCMfLiUvdZVA?= =?us-ascii?Q?DjXfmZjPKrbLyOpGN2hwlDJ+O9CA0zzCpdTA0oaxq4nDtA+9KDNZ2P/GPL79?= =?us-ascii?Q?N+G6ciSXprvlApTk45srRvsEppN9eq28o/VqYbM/4AQQtJ08v+2+zW1wDwPp?= =?us-ascii?Q?ys7mK6hc8adZ3RqiuZw6SAxmE7ZCkdWs33kYkeQMhpM6GB1612KoLYVscusf?= =?us-ascii?Q?3LKFP+nczWgY44JWaxkcZulQG/0t1xJiJyuwivN+marxRpTRpnhypCKMhor5?= =?us-ascii?Q?s7rs03ZaUubc1SxiTga2sYc4OnpDsrNs8SrHcG/mKVEpFbNpWxTlb8eiaaVY?= =?us-ascii?Q?MA/lxNK8ReWZouQ0hMs5cldZ+D5iIJjUmiHFYU2mntY/RLeh5ct2HyZx0rRK?= =?us-ascii?Q?snihoJsal13vYjWnHMnaoxaF4+oKuO8o8uTwZBU1oMznPIgHK24upwhMQ9og?= =?us-ascii?Q?D/ZzdR1Wagm5r+zN8Mu7P3Py1HWol8gKpPWth4Ykc0rYzXOOHNCth/ojRDgz?= =?us-ascii?Q?itx+I5ZAB+Jon6N01gkfNyGQCsZLy1VBvGyQuF0b7KayXHIpaabTjkiFz7H2?= =?us-ascii?Q?DoPlH/zs5PQtBloLic9auNvk6LfytrA5ZutYKFY0KYvW5+/4AqBiTVX5KkDu?= =?us-ascii?Q?5EX/R1huHnDp+QT6VRihFqGtNsz+rkiki2Z0i+TeSt2LNXNiOSRPt+Y6uPrZ?= =?us-ascii?Q?4LqDAaZ2TJsaBNQZbQgKnTlWOoos8Nq0aKxo12FZiYxA9D1u5ip6aeKgXbfh?= =?us-ascii?Q?6/tWZLCXlzlDEPwfXujQCBOd998CEN/9cvyyowcyp6e/pxFjMrxGnlS4wiVd?= =?us-ascii?Q?jvOUIDSEIj3zZTSMTce13+yv7lFaYEE5LrMblnTNGOsj0O1RNJO1Na6lzXlZ?= =?us-ascii?Q?6ST86r6ve3OjwlTza4VSevsRZwhKEetomaMYEMV9isXyBQ65uxJtUVLdFFG8?= =?us-ascii?Q?mBCvLtYlve3Du3CU2fwLEQJ1jFVlMyeJG4+hcYQQguz28aYewMhjpKBBdGJg?= =?us-ascii?Q?o2viOJHvIe3iekyIWy5GKqR89alqq/zipSSLv6sE3ClNeCgkB5BbDrXhzSUx?= =?us-ascii?Q?iYfL2hZcTbkFzM21ThtBFwTrqy9IoxojnaCUJsvqqAJV0JKuQULzGF/uBVGI?= =?us-ascii?Q?voxWwld64s4eCWs7Sty++2LqqkBpUB0SfggLLz8hNm4ULLTwLaZXYB3XclPY?= =?us-ascii?Q?sJxPco3csXRtSrQIJINcuB9g150fgR/CbJLY66GNSrvtcGEKzR/dUhkf6XaZ?= =?us-ascii?Q?JYWSS+Bls+kt4TmcGh1zbIlI242NX1yIYhB4xzD93U8XXmRY6pRU3xVmNOaf?= =?us-ascii?Q?avqlJQjalz+P6W1xti+U1uC10lrLL9rwldI7PzGtBkDyd3POoGrxoGzHPTLe?= =?us-ascii?Q?nYQs4Nzuaw86H88e1eX0hMM2NdPCGm0U5BJOm9GKQAdZH027X7H2GsIlfZhO?= =?us-ascii?Q?VeE2cU1ttwubemPqQUw8zd/2W8Z3b3+ka1J8K/44uxYe8ApPK3dVIfDJum95?= =?us-ascii?Q?IBAlZvzkg421+16HzDgv7XPYPPgpcama7ksG6J+EjjxdTh8CBPPMREyv+pnj?= =?us-ascii?Q?PA0JAR0ZLm75MaUulieoUq+d1qHFZ+NNEtZKthHx8D6eM3cGX0oxou6338P+?= =?us-ascii?Q?EP70lhhbv4oCVu50r42s+UENVhfMRyesyzexnJyYGGpO?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: ff689deb-7d04-450a-3e8f-08ddebac14b7 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:47.5166 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Qtyd2A3uPgZs1rIpMiPL+pLMdviPmusAdFL34B1TUd8COzFwDjWC2KEc+qU/ThC3mAZ2QFXcI3N1blSeRcaB9ElwpR9Nqtb7ORd/n5roHTwTr2NHReR88AbWS6+bZi/H X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: GFL5AWWRMGGO4GNIRVW6PQOLWZ4KJYE5 X-Message-ID-Hash: GFL5AWWRMGGO4GNIRVW6PQOLWZ4KJYE5 X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988499118124101 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_driver.c | 44 +++++++++++++++++++++++++++++++++++++++++ src/ch/ch_hotplug.c | 48 ++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 87 insertions(+), 5 deletions(-) diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index cf6874f22e..4f4783efb1 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -25,6 +25,7 @@ #include "ch_conf.h" #include "ch_domain.h" #include "ch_driver.h" +#include "ch_hotplug.h" #include "ch_monitor.h" #include "ch_process.h" #include "domain_cgroup.h" @@ -2344,6 +2345,47 @@ chDomainInterfaceAddresses(virDomain *dom, return ret; } =20 +static int +chDomainAttachDeviceFlags(virDomainPtr dom, + const char *xml, + unsigned int flags) +{ + virCHDriver *driver =3D dom->conn->privateData; + virDomainObj *vm =3D NULL; + int ret =3D -1; + + if (!(vm =3D virCHDomainObjFromDomain(dom))) + goto cleanup; + + if (virDomainAttachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0) + goto cleanup; + + if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) + goto cleanup; + + if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) + goto endjob; + + if (chDomainAttachDeviceLiveAndUpdateConfig(vm, driver, xml, flags) < = 0) { + goto endjob; + } + + ret =3D 0; + + endjob: + virDomainObjEndJob(vm); + + cleanup: + virDomainObjEndAPI(&vm); + return ret; +} + +static int +chDomainAttachDevice(virDomainPtr dom, + const char *xml) +{ + return chDomainAttachDeviceFlags(dom, xml, VIR_DOMAIN_AFFECT_LIVE); +} =20 /* Function Tables */ static virHypervisorDriver chHypervisorDriver =3D { @@ -2406,6 +2448,8 @@ static virHypervisorDriver chHypervisorDriver =3D { .connectDomainEventRegisterAny =3D chConnectDomainEventRegisterAny, = /* 10.10.0 */ .connectDomainEventDeregisterAny =3D chConnectDomainEventDeregisterAny= , /* 10.10.0 */ .domainInterfaceAddresses =3D chDomainInterfaceAddresses, /* 11.0.0 */ + .domainAttachDevice =3D chDomainAttachDevice, /* 11.8.0 */ + .domainAttachDeviceFlags =3D chDomainAttachDeviceFlags, /* 11.8.0 */ }; =20 static virConnectDriver chConnectDriver =3D { diff --git a/src/ch/ch_hotplug.c b/src/ch/ch_hotplug.c index 7de688dc44..524355b93c 100644 --- a/src/ch/ch_hotplug.c +++ b/src/ch/ch_hotplug.c @@ -50,7 +50,6 @@ chDomainAddDisk(virCHMonitor *mon, virDomainObj *vm, virD= omainDiskDef *disk) return 0; } =20 -G_GNUC_UNUSED static int chDomainAttachDeviceLive(virDomainObj *vm, virDomainDeviceDef *dev) @@ -108,13 +107,52 @@ chDomainAttachDeviceLive(virDomainObj *vm, } =20 int -chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm G_GNUC_UNUSED, - virCHDriver *driver G_GNUC_UNUSED, - const char *xml G_GNUC_UNUSED, +chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm, + virCHDriver *driver, + const char *xml, unsigned int flags) { + unsigned int parse_flags =3D VIR_DOMAIN_DEF_PARSE_INACTIVE | + VIR_DOMAIN_DEF_PARSE_ABI_UPDATE; + g_autoptr(virDomainDeviceDef) devLive =3D NULL; + g_autoptr(virDomainDef) vmdef =3D NULL; + g_autoptr(virCHDriverConfig) cfg =3D NULL; + g_autoptr(virDomainDeviceDef) devConf =3D NULL; + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | VIR_DOMAIN_AFFECT_CONFIG, -1); =20 - return -1; + cfg =3D virCHDriverGetConfig(driver); + + if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("Persistent domain state changes are not supporte= d")); + return -1; + } + + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if (!(devLive =3D virDomainDeviceDefParse(xml, vm->def, + driver->xmlopt, NULL, + parse_flags))) { + return -1; + } + + if (virDomainDeviceValidateAliasForHotplug(vm, devLive, + VIR_DOMAIN_AFFECT_LIVE)= < 0) + return -1; + + if (virDomainDefCompatibleDevice(vm->def, devLive, NULL, + VIR_DOMAIN_DEVICE_ACTION_ATTACH, + true) < 0) { + return -1; + } + + if (chDomainAttachDeviceLive(vm, devLive) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Failed to add device")); + return -1; + } + } + + return 0; } --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988582; cv=pass; d=zohomail.com; s=zohoarc; b=QeWdX8ifvdMu9r/KaSw/GWfJ7L42do6MebDCos0QsGPkINDtE8MuhR8MT0E2e4emGY4hszhFamF1eLtFUlritLAwJvheYNp8wCjS/x4+mBEZQ2OM5btVjfwluAkiJCbNPm8kVY8j5izkOnof0NyusgtI5/mcOQTZc7r8sKRVC38= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988582; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=zr5ulcNNcpQ6mb6D2xc3PNVhUn+tGABivy0gcwx75Mk=; b=hQoxGgvHjY73iNvmgn2r8aOMTJrIsiaaUqgzjPCjQf1REItfFdn47Jdj5rI2lxwcICc+ncFvXBZXgJ0fTrsEOLDFvWj7KPikWk8xS7PukL065fIV1ubNVzk22l5ZieVHzSMa4qNIe1TWU9dshnVvvbm0JtyFBd83JDkBMmymQAk= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988582126820.7100179114879; Thu, 4 Sep 2025 05:23:02 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3AEFD443AF; Thu, 4 Sep 2025 08:23:01 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id F29D244508; Thu, 4 Sep 2025 08:12:27 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id CA76C44218; Thu, 4 Sep 2025 08:10:54 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E93494420F for ; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:49 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:48 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sX1iI7QgOGbeBGABRFwluRUKelSK7ywz5btFgXViZvgnxfDoYCLqGkK9z1kGFvUe3aGkgyiBEzp2oJqB49nBDPYewJZLMpPuRX5wYb+t/AuYdV5BYu7fbYpGXIf+dHEwVCfry7rO18DXPnvXZv718sAyEDxUbFy07n+/BTPZ4e3CcCfafntgJHrbsT9NalxbcpA0Z/+YCqtJ2raui94rf9l+8I/dkq6IhBCsPz2gp63tM9Bk8HOW1a5tVPbOyadDwFQ9I104iFWpXPIisBSAHX5OeIbXiLVgRHzHWB8r1gOmN1guMPdWsMJeC3xQjggzGIsqQNV6zgBCEdkPblSJYw== 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=zr5ulcNNcpQ6mb6D2xc3PNVhUn+tGABivy0gcwx75Mk=; b=MfRekHA2La4Ik0l6W6fe53GsCweBzt555f/HCVOKY54evmC8DHxs5Zx4gRL/ATFp0JWtoAcwejEWuTlvaqSjVN6GX6n6BK8ifiMNwks9iSqdQgILBDEsaWY5wfsViwJzB9dOrIflZ9iqyWQcLz1pjU2onU9c0kVKH2jRUBu3bEfya38qaCUkL1TVacw6a4yWa5FOyWxaft16R1I0tL03QzxjQjWNpNl0uJ47f9MB6aDZ4eGS8XwYjQj/dJmHtNusMvQGj/KJ3PmAHIhc9wN+0ZrmsHQAkwmi6+y8fn4/d0w/z6or1f9zmcC6DquF6gp4gaSD+2sx5GcSd/e+9NdzNQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zr5ulcNNcpQ6mb6D2xc3PNVhUn+tGABivy0gcwx75Mk=; b=HOej+T+DD3ZJENSp3rZlxP/2s9lv6ScQct9DyIKP4bDTF6/RwsjHhVXLqpz0mWhGf51A39moY7FQPQ06qRUn3nMHUkm5Gb6t9bUYf8PkuVxUt/vYq0tWSw0IouZptIzevU4DiV0O1xeA6a7tgO/Vh3ydvGMZnIvd8m4GIzSntV3W9K5Nq54TQKGEL5Yto9IchoHGuTby0Ej+r7ndVkWrTtZPV0ZXUQZ5UeBjmGv1bsyhlGV5Iw2oNH6229EAoAZE1CrZ5c66bVxaEK/OW+tYqkxbsIEIBJWWRfvvPidajQDRNTEZ1v3NXcvRDlUwIRdcr6QVdHqcTAsmhxFETZY2Mw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 09/13] ch: assign aliases in ProcessPrepareDomain Date: Thu, 4 Sep 2025 14:10:31 +0200 Message-ID: <20250904121035.1349575-10-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: aa1df482-8e12-445b-2784-08ddebac1520 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?LwX4jmtzl2ht7glpRCEUqnpnEKCQn53+Aif1sSkFJPuE+2EOTNiUVa1EjdKX?= =?us-ascii?Q?E3ldiwZQO202+t1zCdNnmvhBg/9cilbGcojczxz621t89kHN5jPLYjBROL7t?= =?us-ascii?Q?x8DxnarXYtHFmst57Ytrz/9s4ac1ePdRR5EG1XeTDZhACK79jtj1aJdls+QP?= =?us-ascii?Q?j75QKBD94NtcYap0j52JKiL+qPFABNc+wpHFV6cV1epGl/B3DETQWqe62K5l?= =?us-ascii?Q?GTa3yj+OeSF9rrcaH+nGj67+lCmDqIgl4sbnTTkq4KPRszqmpgtJsnu5zxaa?= =?us-ascii?Q?4zA2bdmOWCWqFHfBHdD6cKe0s343bPYdCXCFqlYVVtRwYUdXzn8Cyhxvb79K?= =?us-ascii?Q?MTjJ2BGMGQVDMQ4DK3Bbqh4FhtA4Dvjfnc1pCDt1mSoz3szpD9fauC/qEBN5?= =?us-ascii?Q?EMvBAtxCRjQ/eGPi3X2llXXejUDq/1Jv5axR+JlR6jESLYR8icYXbgBH8zkb?= =?us-ascii?Q?sf5h+xZLWQGc3klkOSKeIkhDuITPkOLer88WqnOZdNtL9QMLXyThxTSUAU/H?= =?us-ascii?Q?7CPSxq3Zb4HQA/Xu0YNRqJT3BLlRaasmAPa6AucnPitzUquXgB1SH2CC4Inu?= =?us-ascii?Q?vThqPbMAtgxUf++RsTPw5l7sdfXC2TcjxSIjVRMsfGDx50s595ZQCue+p6PV?= =?us-ascii?Q?Cqketico4DnEiM8rL5UdO9x4c6zUrU7A8F/3FbIe8HUTWqXAJ/M6IFdScJ0p?= =?us-ascii?Q?mIXnPBPwP8G7KHbtPJpiEGKGYXALLWxEORNiCZU8dP7RrjQeGKgUPsmUzii/?= =?us-ascii?Q?lYOtBSOu/kNE+okn4O6hEC9FtxK/D0i5HKSbof/CtAb7yvyXbm+hexRkm4QB?= =?us-ascii?Q?wfInDl+snHEygpBXZoZwmcogsRUMwMTNz+DQNGjrtddMjdkgxhg8c3PJN4iG?= =?us-ascii?Q?xGH6uMXb2qohQVgPuWTZqtJ++y11YRp8K9Wsiq/sdM4plFtkMS0+2Jh99vD5?= =?us-ascii?Q?+oBssMyBeZPFnB5QqVy4i81Dlw5jBhTStm/C//aKOvXYi5WuS0OisFIKh7Au?= =?us-ascii?Q?C2za+6YHsrxF76AvOem0AeTs+ESy8a3XcJdBgOYZJpppPpZcAbgpVWTy8/oa?= =?us-ascii?Q?7VQTBvTGUtg4ah+pia9CqgOVKmR9P7bmPi2GOBObDlv9qH4bwHc/TEYikUCi?= =?us-ascii?Q?5uqQCnZF79K+BtM4Yna+Fn6i07tneDZUQ1x+U2a33FIewHEnhU+5I+ZXXvwl?= =?us-ascii?Q?Wyy2G252bgk3tpd/Oto74fBTBR7JiWcygTDiKYXoO6ZYnVek2w/vkPXLOCMC?= =?us-ascii?Q?cFS/wJgoUTchG3mr8yGbjahTcbg67HUmB5hnKfHuXrCAwoL6xnqWhthE71y4?= =?us-ascii?Q?OJg+jbf7HIdxo8qzsGuRbqFR5XXXiRoePlrzlkQ+cPNdP6anZLAEmS28WXoI?= =?us-ascii?Q?E2BhkAiq9jPhcZVhbcqMvRyMujpYURc4UuV//XnDrInBu+BMFQwihVVxJge+?= =?us-ascii?Q?zvlY00jfyGA=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?tVWNdOrZBChrPO5/89VjSlbGG3q5j59IIaT/ae8Zni91bYvMa3zMtkFehFXg?= =?us-ascii?Q?Ah9cL95apRz6KQJCLQIc3quGErA9wpUrxcX/dCgu7AdmyT+hstsgqSE8KJcc?= =?us-ascii?Q?hBSYRvdbtX+F6bsKh3uVbNws7zC4BT7D1QCIpex2RrJRGT5MR6hgUsrOkydX?= =?us-ascii?Q?fLv9lr48u7GxLRSiIzD6iXaGWWsG8HD0Me8V7/tg0y3pcuPF5FE8lGicgRL9?= =?us-ascii?Q?x1ZaGJ857nYMA1uVJ2DDErVFw/oZht13vfOGA/mtPV2gxXqP8DJ1f4uyx6U+?= =?us-ascii?Q?nfcAN2UQRdcBgTvFasKTQPUgeYNI61olBDqRhWOQvHWcq5dAdE9GPR6H67Fe?= =?us-ascii?Q?NPW1Omi0c+rRseIExOxO9HjeNURmSaltOrxHbuVH4/t2JyvQJ847HOcNwQI3?= =?us-ascii?Q?KU+WYf2m8KwU2siFL4a9E+uRDywrS5B+hGkyC7b1nMYn7u7xxdYmIkGJze4u?= =?us-ascii?Q?QEVCI+NG89m+h4tS7cxOdli1WyvkBT7LayV7Hu6Rbj7Kq3hs2bUNhGqWRidA?= =?us-ascii?Q?umZMmWgHgQwhH5NkpaQ4IQlzDeZdCbQNmo3T9/OTxpDyv10nBkxjlblLNffu?= =?us-ascii?Q?0X3zhG1O+0HDVxuvjAty5zlICQ4cQmN01V/zjT2TdoQzUdb3v1Ky92SzoI7D?= =?us-ascii?Q?M/ORbpwww6LFIeqlq2WMmx9N7t5gqq1X+2MZtKTqtXjsobeltyzvHahkRlTY?= =?us-ascii?Q?nW7hvwAXwj5Rj2JDb5XYMNNFZWrElu6AlWWhhoY+RPaHPgzjUyIUx0cJN0H2?= =?us-ascii?Q?mWRKjJR0JNhJv9/flC4IBs7wuiQk7u1pbKVs5dVumpNGEsGBaEV42c9/Nfha?= =?us-ascii?Q?zJUCv3bif4UFdPPo1S1dPkZooHRtQ0WbNTx4SWhEmVtAVz9HvmDt9pJTLgIj?= =?us-ascii?Q?nA7g07qBd9Szblj22vsuvZVd5VwhiUfwXa1x15NURVTcu03ALpYri9zorK6k?= =?us-ascii?Q?K4xReBXW5XIkMrUlGGYkqK4FHmX7Ug5MftHr9smufpUeNiH10ooag5GL/rNa?= =?us-ascii?Q?kkK0BGC35DPXlkzpF2zTzD4+38bxsyBOeKH2H4tY1ajNEbRe4wTa5dpqg8zI?= =?us-ascii?Q?Cg6KPLhqgH/dJUu8EVu5WjpC98NO2B1NFPvl2KRMsL5v1w1rGeM/H18biKly?= =?us-ascii?Q?T6TzPNEu2+F58aLcrYubQV62UDn1h3u1+Y9cqCJIoO8r2WalD0kbCzI0oYtH?= =?us-ascii?Q?EkrR7C+C93YbXdwbMYMW6qFtFE8cVd0ZjAVZ/P/+aiSllvRbfn7w8T29JkfL?= =?us-ascii?Q?kWlp4of4BdUog6/mfzyU9zaC/6zMX2R+ozXLTRqqgl8EJaNQ7jz2j7FZtN9p?= =?us-ascii?Q?7FVCTHKw+3S+9TP706FCDUTssFwWVbxYlQQhCz2xZ7bA5Yv+F1r/pSV1DpZI?= =?us-ascii?Q?+vFqa0u144SN+MFD8IJM9fek0qgNTELMGgNEqz3zH0sapVXF8moSxSYwN8Va?= =?us-ascii?Q?JD38P3/r7bQnQbkxqHBNT7c/5AhRtRPCv+kx51/xt1Y51qjyztjfj4Qt8eeJ?= =?us-ascii?Q?QxDos+uSto0CsDYbybJbA7cJZsL3Sbc9zyF28f0hcvm7x8GBLbuq8nJofDYM?= =?us-ascii?Q?4jHde3XYJRr79DIbZ2KBWtkjuy1bmirtfhOhQcRLhIXga7jOd/nz+Nwx79sk?= =?us-ascii?Q?hF0GQ7sMvhEnmljRZkZcPGlQDgarLjDWZy8Rkljzdg8N?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: aa1df482-8e12-445b-2784-08ddebac1520 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:48.1004 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: k0zuz6U08lmjDa2GC6TnXF/2tT7j1LDOp8R+TudtsElQpict/rnAxb9l7ro//MoVUSW6eAfBP3CmyRH001sbkDQiulLIyVTCOiITiYfqxji9JMesagHesrxYBsvmxmnT X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: Y3QYOAY5KGNLNML43CYMUPIE4O7WVZ5F X-Message-ID-Hash: Y3QYOAY5KGNLNML43CYMUPIE4O7WVZ5F X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988583829124100 Content-Type: text/plain; charset="utf-8" This is required to have unique device aliases for devices throughout the domain lifecycle. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_process.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/ch/ch_process.c b/src/ch/ch_process.c index cd2e88af1e..550bfefae1 100644 --- a/src/ch/ch_process.c +++ b/src/ch/ch_process.c @@ -24,6 +24,7 @@ #include #include =20 +#include "ch_alias.h" #include "ch_domain.h" #include "ch_monitor.h" #include "ch_process.h" @@ -889,6 +890,9 @@ virCHProcessPrepareDomain(virDomainObj *vm) if (virCHProcessPrepareDomainHostdevs(vm) < 0) return -1; =20 + if (chAssignDeviceAliases(vm->def) < 0) + return -1; + return 0; } =20 --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988248; cv=pass; d=zohomail.com; s=zohoarc; b=Ik02sV+/bYCrBKhjd1zKHY7ZQmc5RUS8mX9qt/7dFF+hZhtKbH19n4dUyGZQ9E99hmhmJWjv3+Rzhggr/E3Y4f5jLc/xT4bvNM1c+PhmP4A4SQM83mCggtaqLHGR2d90sUt8HsCHBw9K7WnLs1LzeovU8t1/3IxedaapSVIW2Xs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988248; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=aIQc6u+s/uxuN0tJp0AoFRbMb4DYTZiAPH+XPDnTjMc=; b=maFyqGEdOpIJkt2WMvpssGQkZIkMNjwU3xaifvR+WzZf/eLfYU+mncyO+BZvZCWczquc7wrZFdKuL7znc77OP90GdvGfFowzrJ6uplzUUB2Fv+S2UbgUux35YPZ2mh3+eHM9qescSTca3zmt/Dh/LWjAtU0AcRLH3+ekqqT7aug= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988248375297.2795426073135; Thu, 4 Sep 2025 05:17:28 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id AFC3A4401B; Thu, 4 Sep 2025 08:17:27 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id EEC3F44418; Thu, 4 Sep 2025 08:11:42 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id C287944226; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020110.outbound.protection.outlook.com [52.101.171.110]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 07E1144216 for ; Thu, 4 Sep 2025 08:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by FR5P281MB3926.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:105::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.17; Thu, 4 Sep 2025 12:10:49 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:49 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eqIYhU4S4VmMIsp8lGKV1e6urRPTKA/jzM6aRCf0+8NEe9OsIjtFTFoM8yBk3TBlbL3cbN5yM5RtXRdDTyrMpfBANfgVTHcOzy2ygROV3DIev3ErFXLlnCcsVPTdtfmoCtDsQyAF9q6beC6Z7di7A6MiIi3rCS173ywPGR85L1fT8cf+cj5Bj40kvEf3atdydU3iGsXjV/rQ4xDTrlVrrawAqWwACzFWlgS9ybi+o7cO9/5kiHaKlOdZ44gu4Kw3DROQErS43f++jesBXEUX7kiq4CiK74BPIEzz2C6TfxCyHEvoJLRIZxOgA4WvYu5b2TYQf7M96pko+JQDuuDWuw== 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=aIQc6u+s/uxuN0tJp0AoFRbMb4DYTZiAPH+XPDnTjMc=; b=RDjLn4eHeulov6wiVpBpSb0UJ51qC36Rus5ExICJVKwV1WsFTkWWzpj0yuyOEWtTlCq0fM04QvFwZKYSaTpcUvYmMYOWYC3fgBYXXcnOkK4o3ijpfUDnSQQi2AWJfxj32Z2ARnJcgvMEL58Hc51jK6vblN0IWu61Vawu/2z7hXCsiJKNO5vAcs+WBXIRx99sBEX+sX7GBYpk99Iqb/y70BQKHLCUeDu5z9WK5PIwS5rovOcnuE6YI6Ka66WzcG+s9Uho0rjFwfPEy1LJ43SkAzXz9U4NT/SHi9OIbsWJ1gYbGWKqOldorCLVq3hTyS5LlgEt3lOi65F/bMotUzFH7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aIQc6u+s/uxuN0tJp0AoFRbMb4DYTZiAPH+XPDnTjMc=; b=ZzRRCrk0mc/pKOA/hDKE279uc7mUvBKIQHbHR1cwmjnQsQ6/vjxBxXBgkPEQtmtfBXX2C06NjDO7+Tg7rl7vkuGOwFUkK3aObG2zhC0K4a0TPKU+6anaT+EGx+6pyK1VWPhHnCA0gVwSbhjRDmh5n46v7plugd+SwZ4x6/eujTVPNSmAnjliNH9f+XxbH3eYovmkuFn3Mt+wFpj6mwJ/ox9sz1vWmGywYPxhrcgWTKsQpYpsr3hQYPyJhRQP0gXXfKBQd2H6KT8h06fzQZZlMW0X2zAJgixh//sWv+H+7KcoITpxz/bdK1JP7a0cjf+oRZQ9x2L3KvaESK6mKIku0w== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 10/13] ch: add virCHMonitorBuildKeyValueJson Date: Thu, 4 Sep 2025 14:10:32 +0200 Message-ID: <20250904121035.1349575-11-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|FR5P281MB3926:EE_ X-MS-Office365-Filtering-Correlation-Id: 2799684c-405a-4652-1a91-08ddebac1587 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?A7bKVxDP/BQV3nVgmQ54/ZyjSiCXErrlZhpHOBfvdJwhCdqJ86t3nNL9BCBD?= =?us-ascii?Q?6hJ0fclYurSVxb2HYrp/B6SkZLt4Pj9kIqblXBqPT++GeDLcSpzDpyAFOmRL?= =?us-ascii?Q?z+C7Pifn2+5lAoEFIhQ134JV/p/OAZqyKBMnMIzogGAogBAh2E8RWYu2yEsy?= =?us-ascii?Q?45C4p9BWIV/6X3F8PZo0jeWkleEhSYf5PPRaXTgsZsg9b3vjeXrWUVXU7aIJ?= =?us-ascii?Q?8mZNPAq2+wfmXU88lRJhCX1oymazIjxHh3jIJDCbGnIr65aODtwhirf3AqVq?= =?us-ascii?Q?yugcrpME5CBjJt9+mMhSy7slCrWy28vUTDc7AeeeXvLUI0TuLb13yu8Ua924?= =?us-ascii?Q?gk+VAgZCWv2gRdwrmLzQTfZiBVbVVVw80cMUctz23V3TYo9Q/kZuwcdh9rjs?= =?us-ascii?Q?9+G+pB81BzwvRQ09gb0ptWOWe24eEuKL6P7+VJo9BM31ejhX2oZ5L0W35CRU?= =?us-ascii?Q?1BWpaMZMjWaU16CxyEQA4fQyISb67tRAtA6VMVIXS2LNIF5RC34w4TGiCS8m?= =?us-ascii?Q?i88hDbuqSB7e7a/bjgHe8yqrrvyKZvFKKDOVKjvWHsIJZpbe5c/vELk9A84C?= =?us-ascii?Q?TJHKPzCETLFhnvK5SAyriS090f4vE8k+9NFsGTST+STV2nRWupikm2WRNtPm?= =?us-ascii?Q?5s0GeYH8vYyIJlsreUk9g/Up5ZsPZsBogBJF0qJnmyrAlPCCGeiw8mw7r6h6?= =?us-ascii?Q?L1dO5YkabCHFbK2J89pdPu+xqpdcq/y6CEole519x6RBoiK8sZmji8B1doic?= =?us-ascii?Q?z3dIQ7AstigyitjTMobKaYQ3YK6rMwI+PqXNpwYP6FOOo4fIOlxv8ap05JES?= =?us-ascii?Q?hgjSbLJQLAUsk65pwWnz0OudLP7MevOyQlY1BtATmvWBtbKPEFO2hGKESGL+?= =?us-ascii?Q?iei5DxJwQN7CPVTQo4tyI+56+sE/4etCClATTEuGlC5XGU9TaxUWq6/L+Dsn?= =?us-ascii?Q?6vFIDPrLa1LGL7h+qbRNjciYVOw6HCpbj2zJRsDhddkv/yfvKqEI5xt8+v+9?= =?us-ascii?Q?UDLPf3AI0nLJZLeIJ1BdUrktYK/lWzAvc74wAhS4VYyTRdM9UC4TcUF0L1km?= =?us-ascii?Q?mcqNL+Kh38rivuNCtRmzHw7eqgZWPPV9LMzczugsEdr+M1fA99EwDVhGzj6+?= =?us-ascii?Q?Ewv4y8U6F/rApFvq0G0u9+hsT90JPKvRGKRsd/kqF4YOzymxzbOXcd45QVke?= =?us-ascii?Q?Y9MnPvdTusBMl48yo5LWrVTm7PwBezKlxm6+khsjEJLG0pjJPXHiTFZDIgX1?= =?us-ascii?Q?EwnivX/UxN42Vc/h8veMbXEhjR9WI7V8inDlKdMwCyi3p/vjpvORKAE+ExUf?= =?us-ascii?Q?ZoLDXJvercpFkjPYHVL1zcknxaCwLn1WEzd/+VGW3B4i69ujjpHw0ju4f4Gn?= =?us-ascii?Q?pr84pkLA/6xxq6Z++3tgcIx0SsLdvzuc8b8mMdchVw6D3egSLtPEY4YOnBAG?= =?us-ascii?Q?it2jReKaJHk=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Gh7Q3W9ubfOUsz8qWBDM3ACy/moAVzz+4zZHDUtDz8oWLUSMDnBecchNgkXH?= =?us-ascii?Q?bGHx/x5+/B1lx8mL7HyhRfFpHCFL01L+BEgWDWyD2P/KKaXjueXDX8o85LvF?= =?us-ascii?Q?lp8DN6rvW7cj1blW7z6FrOrde2/Eks2WFolCdsi98h2giCtzbObZJg96rocm?= =?us-ascii?Q?bejTWOYNvdfHvzj9e6PtHN0dx2GFbgNFRzt34+88CoLgXaah067PIFw/udz/?= =?us-ascii?Q?N2LAnmLzZslNVbGT273JQ3u0HgrMlTKSyG4nTDiba50O/u0RgjW0HnooFFWt?= =?us-ascii?Q?lCxXUeMA5VXUXf0yBO3QpbjqU4/8UJO09QLpIuhB0MOlzZXq9rpTTXlf5H74?= =?us-ascii?Q?3TshiQkLZe868D/tyR0O3XAanlsS0TOJi4xnaHSBmfiaNBj3qAvKkbghsWix?= =?us-ascii?Q?EvrZab+0R/UKKnH0FTLh2eDQzZ9DtFh7ZImYKB+9bVRC2C4fOXzz8HDBmubw?= =?us-ascii?Q?vP9akDFQ1CRfqS2WumLg6wZY6tIrgufkXXNYjR9AsdzPA9UpDsysTadTCiLF?= =?us-ascii?Q?+wiXQs/3GIVjnwqWqUilsDXdNpM75pUXQOj1pNhEkEgqHojIbG35OOIUVepN?= =?us-ascii?Q?6H/XBgleHiYe25QNQIr+oimDiRR4F38VklXfx497IaQYIianKHlLvGH9Lx4O?= =?us-ascii?Q?iDBYAsW7vZlPIBevgCpc8CW0KUH1SCX1ryJhvJv0fuITlrSW4dVk4+V+TaTt?= =?us-ascii?Q?bbjD8vErxWAZ6BfpebsCwpwTP1hfQxE+34b3RMwspmmeq0bu+9RKFBPvwDdX?= =?us-ascii?Q?mnB505PwwblDSGRoQnKNOTHgRgc1RgRB//BOj6nR4gTI9ZepHcTlTZLJySXD?= =?us-ascii?Q?BzWNh67OE0oZegoVfqzoXWMElLR0m3pmJ6xGoBe1hNd9+zOAN4VYEGTMyePM?= =?us-ascii?Q?iPIkeBlxTzbYRWlpS0T3m14O1yC3bAKM8Mpq8Upk0heEfEvEJYpyXoD8Y74T?= =?us-ascii?Q?z6UjXgSStdelw+pczkXanWQEaTn4QG3aRWhiNDHqMN1P0531lNh9Ulb+0qRY?= =?us-ascii?Q?3487PCFwD5cuvH9ESy4tSCQ8H4zcjO+DmzIpmG3V38AzU8fy4LmPGB42dI6i?= =?us-ascii?Q?wuXjt09qu8V/nKbdV7dCXSQlwX4+WjCAj2+0SEilwBZq78GF5YG2kFByprf3?= =?us-ascii?Q?c+sYpBtSrh0uFNLrg5IzmSmNcTy+vLO5sd5nBzRoS+yP/MjUb3jGKkqtM+l0?= =?us-ascii?Q?CwvPKCL8W1eL4emvgTyeD9HFJrKiJQf0Xnmiwt1Am+nFuJ3Tt1UcdnVay1hK?= =?us-ascii?Q?kWdz1K/tOicG8BpGK2U2TE25g9oCWYJMCC0pFqoTQeWkzJz362EcYF1BPusR?= =?us-ascii?Q?3I7n1cfPoX721v5M+1E+a5+p0SwISkNIED9zFwGx+WPOH5nveIrKXCPUnfXJ?= =?us-ascii?Q?Of74vMlOiLLGZf2MzkKB/Fulp862f6u2zbWC5bfDdPDoPJL5EFN2Xj8YICtn?= =?us-ascii?Q?6BE9Pe+DdFuFyfEy1pl9ONi+b37M5EFW89pWXY4dL3snkMOzGJ54VUGN8D9y?= =?us-ascii?Q?orcDg2WB6wXsTLsYAb7qZyYvARrDF+p27R1fcW2xViStnNdnaAnv6jHQcNK9?= =?us-ascii?Q?Ib9o//h494B0/5W/v3wQN2DnfDBOloUA0uXcWFnw612iiHy++ZQ47Ua0zlB4?= =?us-ascii?Q?FeEbMNnKruyOWeoYRosaDGSSrrm8WoqD4lsD0766YQDK?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 2799684c-405a-4652-1a91-08ddebac1587 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:48.6798 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jOUaSLu7vE2TVOtyAK0lNBVxQ3AAkLPdHh7aVOvRsMcutN9hFcLwJQEEM9Zt0n0OAG9V+9NPqtRTjpObBpAVzsEmfmwOnzRSi0Z2thB8vpNWGm46N7fMU468bFbhRxF5 X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR5P281MB3926 Message-ID-Hash: XQFTBKGZRAM32DFXALQKLQKQXDA5Q3UD X-Message-ID-Hash: XQFTBKGZRAM32DFXALQKLQKQXDA5Q3UD X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988249805124100 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 710ba06d2d..6ed78c09c7 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -584,15 +584,25 @@ virCHMonitorBuildVMJson(virCHDriver *driver, virDomai= nDef *vmdef, return 0; } =20 +static virJSONValue* +virCHMonitorBuildKeyValueJson(const char *key, + const char *value) +{ + g_autoptr(virJSONValue) content =3D virJSONValueNewObject(); + + if (virJSONValueObjectAppendString(content, key, value) < 0) + return NULL; + + return g_steal_pointer(&content); +} + static int virCHMonitorBuildKeyValueStringJson(char **jsonstr, const char *key, const char *value) { - g_autoptr(virJSONValue) content =3D virJSONValueNewObject(); - - if (virJSONValueObjectAppendString(content, key, value) < 0) - return -1; + g_autoptr(virJSONValue) content =3D + virCHMonitorBuildKeyValueJson(key, value); =20 if (!(*jsonstr =3D virJSONValueToString(content, false))) return -1; --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988109; cv=pass; d=zohomail.com; s=zohoarc; b=Yf9Bpf+/dMZ+w9A0D9fjNc6wy9geZ2iGvfWFzMeChwKJQ2isGTwVmMFOuzs+MEWn+H52zHBLmIGGxF9dTmt4SFFECjMWcpn55eCFuBNZgT9Ry1f7VDOkltB6VzoMBhrCdtyJcaPonlZdY5pB04MVeB1pRhBp8jeMioZuUyoYpjs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988109; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=yrLrU/MmYOj6mCVfjebIEQII514PHujYoqFssLJE3Pg=; b=TEKqbQu2CFgmh63LVkDUFgqEkM6Gy70JJ4ukRHGaPTxYoO1Xx3pDU3Aezj+V/WfqJaoNag0uMyZkL+BA8gMrhswuYwcIGrjDiMp7y0ljyjqE1dJ300p4im6OreAaqtDgbK5aMMzKZ/Fg5gJEczoVUUvylLhNpdV2ybweNnCoHqE= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988108678628.4684817165835; Thu, 4 Sep 2025 05:15:08 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 7CB65442A3; Thu, 4 Sep 2025 08:15:06 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 781A744398; Thu, 4 Sep 2025 08:11:23 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 2FF4344076; Thu, 4 Sep 2025 08:10:53 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020110.outbound.protection.outlook.com [52.101.171.110]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 491AF4421D for ; Thu, 4 Sep 2025 08:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by FR5P281MB3926.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:105::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.17; Thu, 4 Sep 2025 12:10:49 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:49 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=mYlT4sWVJu8TnOCDvIiASoa1KhGKdKy5cGezD7wLjw/jaMU0VV6Z6vBJa72TqAT7AGC6XFeEsPccn+PnYnG6b9tkX+KKzyiactoXIUuXU5PbXJp46pS/y3G7NKeCshB4PehRxYHUTifGlBpCDjhfXNrEimtrvRJldLi376SmaJZLJaFYjiLPTiwneHloYSVpdUfxo4nkqfpyULO1aC4dtuRpnpj8GZG0dEegTSu+3RYiRb83wsiCbxoU6nSuMTihVRVWkyooCTHAHfHnYiIEP+eWoP/S2tr8Ihi68REG04qzs+UdySbhYhUZA6FHgGVv792UyyIL1y5+BbI68zuoyQ== 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=yrLrU/MmYOj6mCVfjebIEQII514PHujYoqFssLJE3Pg=; b=AUB1oTzDC+lSdu55Fq0PvPaWN0dctet2NsKxQEshCCBCMjgeEhr6OO4aWDKJIOaSB4Bl+LNaWpe6RsRo80f/Umu8vQgNGOZEOfW8KVA6Q3YDjVfaUhm360XCEtrm3qbgnqcpIE11VNkhCo0lVOuh4zJit4JqanQeOV30JfjzIpeMboHplF2qcZ9nIe4UUjHROofnEmF5OskzSQ5iGZFBMiDzVY3LZoYdhVtqL7JV7J4oxdy0OzjKk23f2vd/hf2bYt9V75+2hbTUbmfsSWD+Av+1PGMTCdfiGEDJ0SspWmS1EA5F5lQijcXCpmdVTCykrEKg25uLUqna0fgh8sQYlQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=yrLrU/MmYOj6mCVfjebIEQII514PHujYoqFssLJE3Pg=; b=HWnsZUHIjYeNCr/T9f9UmUia2oERIM+R1JdOjkRT/ZSyeS+IB/d+Nv1hcq3eqgdMLu/j1jBqln5huCWXfH4FMmX+USOM7sS7wSm+Ad0PsXAllg8hEoTkWI6h6VY/kxfsIUSkHUPkK+T1ApEX/HkbhBPw3HDbEPkWwx3mWAkkPKgyjk4yicSXOUWaT2kG16Wq92fKitTyMr5drzr1zL/rM/n0U23J7YI+NOWF/bukGumybM9TbpL49ADcoEeTAbfokV7SluBqHAgMFPRuxD23km8gw0SsWzZEthR4LUb5WYqH5B7btLHNe0D4IiHZDc/9xd8RNtdQJEBpQdM0Bmn8rA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 11/13] ch: add virCHMonitorRemoveDevice function Date: Thu, 4 Sep 2025 14:10:33 +0200 Message-ID: <20250904121035.1349575-12-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|FR5P281MB3926:EE_ X-MS-Office365-Filtering-Correlation-Id: bbf991cd-00a1-42c5-5afd-08ddebac15f0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?FYT0/IWIOxyc7wfMuZ6rkKfHNLWSMnihYgr+0xfM6HrIYrTIH1/k5oEbwAKX?= =?us-ascii?Q?1sfVE1OR/srfLeLwaHjcooxusw040DzDL2R21GAGrXEBCDQsPhIUPyCnqsBu?= =?us-ascii?Q?0Y1v3IOFVUErQY2Be59JMMKFu9Xjv637gbh57YVxB2icGvLULpx5BI7zqAqV?= =?us-ascii?Q?X+YchAM65IZgi+k1b/8amy25yuraFT5klytDegONnxLIBGaeo+2DdeB7+0BE?= =?us-ascii?Q?gQryXdUZ1OIsliniF6AT891b6OyIlMpaFlOjt9iGp5hVJDUYAP6ZfanVw8wn?= =?us-ascii?Q?zjeTRRgoR1PaW4X2DktF7+klMP90VYm+/X5T+Lvb0kM1WNzTXBQV/iZ3J1SV?= =?us-ascii?Q?kVCeyPPOhKvbkx71jibWoSzXWE0IMmUhg3cC/OcdKLNNiAfPbjNFKU1Mzz0n?= =?us-ascii?Q?ixClEUMS5EOr5La0WaEgX2ahCZnd2mzI9YssE3YptixVi/EFB/BmMzBnFxKQ?= =?us-ascii?Q?uqaFz/ME1xzaQPvCoJ0UNBF91a+1ISsIdWaMdxQEL9WKfft61eIT/qOzWhPc?= =?us-ascii?Q?vobjudZmP2mnGqmP391pdZCbuTUdp36HGX7Wz1/SEbgs4HpDdBbk7pMVYfLV?= =?us-ascii?Q?bHwlqBdd7/ORS9FH8kl6l2nha4roVfF4VFaR/G8rbQx71tNAbNFzCJ098wTT?= =?us-ascii?Q?JO48J8ky794Bj/g0vIyS6jGtSOshPSTmX8Z32MgnIr49F8W+rQg/zDscpNNu?= =?us-ascii?Q?ghTz5obUu7yp2lvyBumxUNouS1wIUvx9qT1TJ612KGCBGf4hj4+mRs+oOm0T?= =?us-ascii?Q?leeiFViDzOqBhfLUpCoM1zwjiT3QJY/mdrlHZ07hkRvne6BklO5ytpK3MZrg?= =?us-ascii?Q?MPopulgziocr8IOTqGBNmXDgvwyDa6SATiyZ2YPOidxuZ7TPvQksKAlEcFLY?= =?us-ascii?Q?VilVrMlIXecfQDxNNiJ+Oc6DXRakZQPP6rL0wv+Uv6HqIehB4RFga54b7KTN?= =?us-ascii?Q?+2GtQjqX+7Fr4rEoihzbu08Zg6d+5HbnfWoWyKKvRERUHy+KO9aS+a2/6zHJ?= =?us-ascii?Q?rcU3dIkvaJk6qiW4EqfpNJgjnIVYlW0UrA4cGDkWUFDIUh6yQ1hNubABOmsT?= =?us-ascii?Q?41Hs3/HWtOr9xQTv0Tcu6jLhASPN5sXHpKuj8stYbb+GpMjIpFkEXMggoT7/?= =?us-ascii?Q?H0R0qcaTA7ZG0T/ryJwjKlAg99jRldIL9rMw8y+6XszL1pHR23m/ypKF4B7E?= =?us-ascii?Q?0l1Eh6UKYaIAJp5DuVqvxtnc9NGlD1tkoMVx2iNnChnll0JKF4Jzjez4F3ie?= =?us-ascii?Q?bdS+JwXzf85fDw37EVRlH6cX6j84LcQtg/Ijv4NsL/wShseSqRfFnWU7mq1D?= =?us-ascii?Q?sldcKQCK9zDEToJoqwnujcdNZ8Kt89TMygSxvsJvgXjfWmDtzmbefM8OK7Dy?= =?us-ascii?Q?DsYoDp64pFHD00HQlc/mgUJYKB+nNX+p7RqviAQvAW0pJOs+MoklFX+Wa+ZS?= =?us-ascii?Q?rkr6zX4L3Pw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?irwgI4sUkuYYd35PHf1JQZr5AS80tE9MdSiFr9yJDCGOo39zxV5qdXX7r1fx?= =?us-ascii?Q?AbFc+Dys8qE3zhYSeENX4U65OjAyRKG8FwcE6Aky8C4Nzo0u6ajLg8GXMWrQ?= =?us-ascii?Q?9xj9sVE/UI7boQPXQV9uSGfrQFCmZfnLCL3XACap+dEYpkNnnsXnjQNojwHj?= =?us-ascii?Q?9T9VlCXCQv3xwvGPd9PKHFkR0KIjiUm91/pXFOdluXwFMDbBIeIMQ2xm12pU?= =?us-ascii?Q?4F6vN+wdLgNImMQO3g0mnZEmV+OZyFhh7gIt3CsNiy0e/6NTGQGPkCTiEtYh?= =?us-ascii?Q?uALyG7GetsXnwrU3MhQTekTmEa6IKIB5Gb92B+Cn7GAAh4ABVCT8AyVjBTaz?= =?us-ascii?Q?vZEEvEaoHJM1ra5krhy350UBt7KpahVhT1i0cpP2kSEflwztSOj6EKUKsJWM?= =?us-ascii?Q?7fI3QnccsZYd48X6y0EQghZ5hknAl1ko+juLRtS/ZTXE/+FPgxJhH46Vv01C?= =?us-ascii?Q?DWU+M5tkJsrTFx5WpEhnVmjOp7NUx+azkxX97Zxbq0mqQ7w7JsRT9icIvmyJ?= =?us-ascii?Q?FogmjdnAZXPrC0nQN3iqCgBVWIBbvgMhvIskSwrPdeGm2X3Yml0I9YLLqBcF?= =?us-ascii?Q?/1x4Y2zf3M91zwB4C/Uycw6Dx2F3yTn1nGZIUV0RFSNDhzpGSi6AP2G9qW6J?= =?us-ascii?Q?NjCMIfcHBrDc4IyLJKBCFfyYjSgwwwLWqgsWUrWivY5qThLlmAlLJFGpFGMp?= =?us-ascii?Q?KNwwmJtBhyAVllNNkdN5azGbkfbtRQ4SvPgRKGaCIQ0RTZKdpChMJS9i+E2c?= =?us-ascii?Q?OYbNDRYmcsSe7+f2BN3M25B/L0qqXJO6QXfAdr3bjSVKJObGhp2V0Smuh1ix?= =?us-ascii?Q?EpTC+LyFfIdqWMNWFAwU+UrjkLPiXaIuYrIKnO8KlDZI8bD/AoRgU7R3kS64?= =?us-ascii?Q?eG/U6U75lr2kF2S4+hDwsT2ga8A4KZwfV9wXRHsDIhxe+Tz97xaxTjwkVF2K?= =?us-ascii?Q?BASFui9xePLqJZNgTFHsdsr8LR3HxOSsdHrlgW6qmIjOvPCAuS/RRoRIY2wd?= =?us-ascii?Q?BYLWXVIy7bTf/KTN7BnLNRcg5tzjqQ6qBzfd76C21hxNx8+ZvGMRto1Mz6Kb?= =?us-ascii?Q?FjF2Zr9S9J4o8LOGRMHOges81Qopkm0FdMU/n/IYMEderJH7mZ7HuJOT6UFc?= =?us-ascii?Q?E77dASbnz444Iaa2GvXyosAHNrsinCXbC+6TNQAbb99hEep3KC8l1k9E5PJ/?= =?us-ascii?Q?kcUmoRk61duHc+Zws8vwAby4xFyr6ApFL3J1d6ZN+2Ol9Q1nJrRfM5gA9TGK?= =?us-ascii?Q?d3zi6j7doGooOAXLOIEnFkktXLz42xszLm9Uev9Ba5IN9brBInnPbRneU76O?= =?us-ascii?Q?Xp8/lVdB/zOVb3XzFTWkuneWuMNdULipO2Btr7ndwrFVkPo2lmRmc1LHoZEL?= =?us-ascii?Q?m6S/NeDxkMIEChKS3uIysQJ4kqVbZTFXdeoBWsQBhcgppUt/VMBP1DNRcSBf?= =?us-ascii?Q?YL3zI9p8KZM0EM8nOGn6fDn6ftbps7vJ8mn0FDUhhjD8ZKL8g6ojmR+FahoB?= =?us-ascii?Q?scHhL3mg6AtMwgF0lMn6IATl2Brk+ugD1HzfZ8na9rvMfDfvu5NiWsFEtde7?= =?us-ascii?Q?/Va7CC1qT7LXDV4XT673s5waS4IU0Vjh7otxTv/VJLn7UKmztJ3Cjtr6uXyi?= =?us-ascii?Q?KBptBoqswRpXDsmcvMzFo9hH7O9acrPZKQNzjrdzv0AU?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: bbf991cd-00a1-42c5-5afd-08ddebac15f0 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:49.3002 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: iLzgg+4U8YJWPbVT8vLaQxP9f3HIqzHvym4KeLmj8SqQHE1Yce/XVord2JTRcjAFlDYVmTbgLMaN2duyFjvkeNrfd3+e7FxTH8Mu5OfCOmvngYKiecCuAbE20rtlZEXJ X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR5P281MB3926 Message-ID-Hash: UQLNJNZD2CLKCC2G2BXIUCPMUNJOX4B7 X-Message-ID-Hash: UQLNJNZD2CLKCC2G2BXIUCPMUNJOX4B7 X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988109751116600 Content-Type: text/plain; charset="utf-8" The function calls the respective CH API to remove a device of any type from a VM. On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_monitor.c | 11 +++++++++++ src/ch/ch_monitor.h | 3 +++ 2 files changed, 14 insertions(+) diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 6ed78c09c7..d75d696019 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -610,6 +610,17 @@ virCHMonitorBuildKeyValueStringJson(char **jsonstr, return 0; } =20 +int virCHMonitorRemoveDevice(virCHMonitor *mon, + const char* device_id) +{ + g_autoptr(virJSONValue) payload =3D + virCHMonitorBuildKeyValueJson("id", device_id); + + VIR_DEBUG("Remove device %s", device_id); + + return virCHMonitorPut(mon, URL_VM_REMOVE_DEVICE, payload, NULL, NULL); +} + static int chMonitorCreateSocket(const char *socket_path) { diff --git a/src/ch/ch_monitor.h b/src/ch/ch_monitor.h index 8338059c7c..e8fa393e54 100644 --- a/src/ch/ch_monitor.h +++ b/src/ch/ch_monitor.h @@ -41,6 +41,7 @@ #define URL_VM_SAVE "vm.snapshot" #define URL_VM_RESTORE "vm.restore" #define URL_VM_ADD_DISK "vm.add-disk" +#define URL_VM_REMOVE_DEVICE "vm.remove-device" =20 #define VIRCH_THREAD_NAME_LEN 16 =20 @@ -141,6 +142,8 @@ virCHMonitorBuildNetJson(virDomainNetDef *netdef, char **jsonstr); int virCHMonitorAddDisk(virCHMonitor* mon, virDomainDiskDef *diskdef); +int virCHMonitorRemoveDevice(virCHMonitor *mon, + const char* device_id); =20 int virCHMonitorBuildRestoreJson(virDomainDef *vmdef, const char *from, --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756989010; cv=pass; d=zohomail.com; s=zohoarc; b=am4RRUrYvn4sl3/V61QfXbxsS7WGRGjGHqc7gnREjp3/LIOQsm2+y5bvMdrAn4Dd18zuaqfWPoCobPlrx+R8qssxExcWzmmu6zuLxEltW7wmt7555RcUYIeZczP9+CTXyRSL0sOUk+gjv3j3l0zumQwpAD8TbaH9AQpjYnOMi1A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756989010; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=MnUg2SjSFhKk80hx6qRtZZPj3peP1A7luEU1rHEbxOw=; b=VB1Pil+Obai9FoeTJhAgFQqGPTvvSU6x6+oPVV0A/UY2z6Noauu/emChfhx4GiLsOblR92JKwsUJc9PgHDkJgIWv5Gd4bQ81xCv4fXEMtOxPVFa9VqkSNMx1b4nAGHgEusPkOjQHz++KLoLeEiyjnR34wLKL1B98iavgVisxVyc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756989010091371.0545253909919; Thu, 4 Sep 2025 05:30:10 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id D1C6743FDE; Thu, 4 Sep 2025 08:30:08 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id D6F6544462; Thu, 4 Sep 2025 08:25:07 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id A8E6D4426A; Thu, 4 Sep 2025 08:10:56 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020110.outbound.protection.outlook.com [52.101.171.110]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 84FD844222 for ; Thu, 4 Sep 2025 08:10:51 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by FR5P281MB3926.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:105::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9094.17; Thu, 4 Sep 2025 12:10:50 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:50 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SlBmGuNO8cH+HeK4pNnODKCtR/OSWdb9FuNqdugHkQLf8FvkQNeaDwQpLFqlqcNNCj96/rj1WS2Wc/ltMVsXir5cG2Y2MXhBy6Wvl9kvegbYIuPoJla1jM0bh5JS4ygQ9QsN8yKZJAj9v3uDTPKWl6cMJ+NRlMUo8gTZmuNQ3xGBiMf7pBZWWRLRyqIeHFAA2klN5RjUC/ZOS3FffJJhWjn4jkcHylpl3KhDe+x+A0sPcOyeWOXkmolBc0Vk/hJ5Q9I1zvblLtR0OqaeElscaW0LLlOwD39tsgKYfzZw8d0fGAKz6AKhsLNnGgbHjdfvuHhfHK0+BmX4u7uM9vixsA== 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=MnUg2SjSFhKk80hx6qRtZZPj3peP1A7luEU1rHEbxOw=; b=IdPAdDc0NAPCfLOJjpInBl7BzN9UhjN/DJZQheOTYFm8GfyUdyHNOMhm3IRAdc0pMEUoLkHqLyAGDtHSDqiVB1piF+3NO3BloVbBu4LsX0A5pqTbpIz0pwRVVCAlZEA2GcHat3546Tea2li4rYB+0FPZ8jmpGd6bLiBVvMpE/4RHfcLIvXWeycmjQUOcWm2wuF0CqhFKjKY+9KF/Zodjr2HNX1XV7Ds6RReIN7/I5h4IDm8K8nOwDL2PJ+vm7TUuXH04MIdmEYPXzxgiiKhxl/NI56T56OCXWsvNMcnNNnCEIvA/TPOFwh6Zkum5ShR8gFpJykagrUCr1KBqBSBkIg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=MnUg2SjSFhKk80hx6qRtZZPj3peP1A7luEU1rHEbxOw=; b=UVvLUIRHBwnHj/I01rckdmPEN1xwDjOyDzlxtItt6QMQBq0pjtId8SZrBGRWNT/MbNNoZxH6HyFJvOScCehUx7BEUUjbNLud7XVNYU8nsT0gD+jiSlZGNvmuvSc8hSzbxzyC3yP4+pp0aHSnUSolaJL3LeS8ic6fv6lPcOBIuEcm4/0lz6Nps5XMhTDKTWkcyzLnYmORhn7Ly0ZkD6PRRTsqnwtiGSO304DWf7fsum5OejmVwgLLdRwj9NbCXPkbYeJt5Nc8VaaICfBowLg+bTNhue2Vm12MHCFOEOMgkOGLaO00MAprZIcE7rF0Dm2JgIHXGwk/JZivKf4nHMD9ZQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 12/13] ch: implement disk device detach in public API Date: Thu, 4 Sep 2025 14:10:34 +0200 Message-ID: <20250904121035.1349575-13-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|FR5P281MB3926:EE_ X-MS-Office365-Filtering-Correlation-Id: e33d3944-983f-4f5c-4127-08ddebac1634 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|10070799003|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Smnrr9XPoMRsNA2M4OS768CA8nKxBNOAvzll9NpuFrQ8Fzt/hoVMoYbOCMpb?= =?us-ascii?Q?trP8r4xWRI2jE/8TKmdD4QuXVS2jXVHJnFqf2Zzhig6WThARI+Kg2fVo/EQP?= =?us-ascii?Q?1y+lkA9MogWCNX+RhLG4g/WlvRwmYin9kBnuZ6WmSpAwf06nDWzBdEh7iSWd?= =?us-ascii?Q?gTvWkwdCBw4QxrGMAnMHjRhqkWNBD1i+JG+fVxi2xJQ2UxB04FkgboYEC3LI?= =?us-ascii?Q?hu/t8askyx07R2Tboh3KIhPmOfADLXMQmflpCy1tHkh4RfaIAUy6YlHHwCWa?= =?us-ascii?Q?8uIsVQmx05VBsC6pzD9olzxiKGuAp3AUAAwXYFGPXDrvLLfaEZ/aKSYtk3w/?= =?us-ascii?Q?iqdX5Na/eHo7M1Fn2wvky/yAUVOzP8yLDimzHr0TZ1DPEoMOiMjW7wknkAZO?= =?us-ascii?Q?IaI34J+BKJV9RRzY20xkCjl0alFIkJP0lweWKt+K/sKs2mVJ7QjcbV3y/XnC?= =?us-ascii?Q?TpbIC9QJALPXUdGZZrxXWGNmsF5Fry6YhDqg5vkpRc/iWG7XwAj45rPz9wsI?= =?us-ascii?Q?dl1wAgXhPnFTlt/Hej7804hCAWt5zr2zz5LHGjDRBiMlgsEHtLciKI0CRDtB?= =?us-ascii?Q?Xl1TR5YkRoQtFVOA+E88gxzqpVgNMlwSY7YgVqLPV3okE7o3hRoiyO059tgj?= =?us-ascii?Q?qqXrzYpG1t/GbdK6exsnCOcUROFY7bryBMBQFecEqq0dfygya6e9g8VpPmFG?= =?us-ascii?Q?iKWDJeVz7WvYRdTZ734i0zVxN606K/5rDOizmNlEL3UnlCT83TTcFWU+0smd?= =?us-ascii?Q?ft2fHu1T99FWoR7OKPFyhSNbie7pbQuLbzJWrkWFRy0OiPL+Cd7Bq1b3HW/A?= =?us-ascii?Q?tCpMxZnr5ZXKxFrjX1vw2zrbGQjUaYVbCJQT1mDbe/jfvN5g297CZZ6wNJep?= =?us-ascii?Q?2E/YtjaXxD9LPUKWj9ox1ePhGoNmA1X0mud4Wlyi3hv1Qm54IfH6miX6bbuT?= =?us-ascii?Q?K21CE0ZPFBYSCnlxFsfR+brpNoUuB9fQnz/2uxaKhtS/NJRvJahyxXrPpC1l?= =?us-ascii?Q?8Ee4UgnQkMdkEH93/J9bLrzliS2rkpek3ZNc+bctMSsHbEJLGLTBlPvqQo4C?= =?us-ascii?Q?QafcmdnIgGQgRn252blAk9vSO/Z/Z/wUs26BN45/ZA32rtd9FN7xB5z1AY5V?= =?us-ascii?Q?TbelN4ywNJrrOAx0G3imtUsWSlxYNBvhEENCdL1Kq5z9qAQTvph1s4QRFz5w?= =?us-ascii?Q?MEVH81fhNqLwlMI5Rf76le3RrWf8Wagoo6gvAYgKd9ygWUaIzS1rJ0U5zs4n?= =?us-ascii?Q?l+EAnTBuubCSuYw6JV/D4ZiQ04ro+Ff5nuS2dSPqaJqdkrv9zCjovPgH2w3s?= =?us-ascii?Q?TiUyQt6ovzgdU7hDUKTqLn4x3bP04FpX9AIxHNFn7CchCvSc82oDZFEjTovQ?= =?us-ascii?Q?sJBR6BEnWFOS3f93+iU6jm7MEHyMrp32/RqwQ5RXGanWqtLIpLzjiMMbkYnx?= =?us-ascii?Q?WURwhQIfdJY=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(10070799003)(376014);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?soLfJZT8wZYgaMhyMnPneO35WfLjND95/32NnCFqwZcXTTG6U4rb/OQgX0Z6?= =?us-ascii?Q?85v1IVXdCH7K//BxOysgB+6FJF5TLZlt3JfgA5xWjYxTdJYzeCCBIZYecM0G?= =?us-ascii?Q?ZQWvYDVW9kYRalJ8mfI4ZCWMzn8jX8o4Ghs/rM9e2g8AykyCTeu7Ni3xFbHD?= =?us-ascii?Q?7aJlJLECzLzp0wkSZFq6KJUCTPY0YazvlhriKWq8QYw/XfxR3L1C4CPIgn3Q?= =?us-ascii?Q?MzTHN/Wpbjm+KNtO5Jy2774nP/RHRb4TTQmlcHF5YlQr5C1mmSdkOQrvNcLF?= =?us-ascii?Q?k+thelEtMHLYijOoxpKIUaTiAW8T4JiiIWzxH3BEf9ZB+Nq9Pd1P1g4C9y6f?= =?us-ascii?Q?45ro5z0Qch0owEJRtzIvMy0UfQ9U5kj9dBfzDf2g4N9vcoFagDrRjDgjnZNy?= =?us-ascii?Q?oj1XzyutSmr7EeEtcwgt/viY5sql1wc6wq4G8QEECFxVsnXb+rYrKLeZqveB?= =?us-ascii?Q?s2Y3+rQ9fUGPhLWTrcWoayB8Bjsb8CBYP1gVAJiBCYdc9K9e+hFZdG6eCWbM?= =?us-ascii?Q?/HZWCcnDwNSomnoWW+0DLLOBbL0gnaietw80o2CfbnEetMZsYU1NNNriajwq?= =?us-ascii?Q?ae4WEvl26cm254CtrZIcPycFfhGDvt7nJWM7DHy/Lieetu6sgitR7773QjlO?= =?us-ascii?Q?psa1iEAECpCbOk7fQHUqfE2tFQKlEPUAvntVmmjrS9vaPyvJx/89U9ziQSHi?= =?us-ascii?Q?kfivOiY5DddYSsJgu+6T3hfCqrwyhRaBhN6BUhDdb7NJI/eEs145f697Pcqv?= =?us-ascii?Q?ts42crU3LZaliHhA3+NiSdlQOCad/laNYkXD1VJpEJYbawHiId/tZ7Q8aGEm?= =?us-ascii?Q?JpjKo9kcVtPeVdU4figSE8UBVkTBVJLwKSojnIz4whTnm5rmLSIzW4OE6ehf?= =?us-ascii?Q?B3NlS6lQJgsAa1Ob+IaoExpGnM4YzXYoUMB4oabMvryPtKDHSs6dABPTVrB7?= =?us-ascii?Q?heA3WAM/HGk61sHbw5ZxWGQeg9esREph8GiQ6QUGsGXWFaTHWkUqe2BbGU01?= =?us-ascii?Q?t6NIc5BKKBJzxl68VSNQBsbnn3/PvQ9GOfmEi74qpCYqVit5pCitAv1vZ2ss?= =?us-ascii?Q?U2k9MpXCOgUOa6CmyAoZ1MNo9LYPyrNAYGYN6ogzoxomar9WB7SviwO2gYAg?= =?us-ascii?Q?iXiV9orNIacCt+O/F16soy0kVDNSOeNKoJYhTrdbKOY0pGwT8Bsg3Fhvr8aB?= =?us-ascii?Q?LjWTDneMeBXnZmUtWrOUoX9P3UT5n2gLzHV4JA3YinXFZH2EnZnH1wUabkn5?= =?us-ascii?Q?Yy5fhsowLTWAWyMax4IBTfFw64qDh+5TGsJlcdfG1rWszOXZUP41j3DORiER?= =?us-ascii?Q?UnN7qX1xVtrdAH1iWkOP+VWVMB4szsi90tPqYgz4WUVuHV7aoc7xu2cT3jLL?= =?us-ascii?Q?Im99AsM8fhREtPHPQ6y/2iyE3GFexutdrILCDlCyrQeDY1U8IRhtnMz1pyzD?= =?us-ascii?Q?vyz7JCGgtcqrq/bRXfH7XFRge045Sn/9Oak0QH93ko5CIG0LB4t5OGpL85/I?= =?us-ascii?Q?gDr4Gtwf77cgc1GF0f+aaT15wxY4J8jG3j3OWMhLdVgEgsAfGn0EvUbhhNt3?= =?us-ascii?Q?r4xIkAfTHnVS2O9j+0wv8KOf53Qj12d8zMHafyBmT496RhNHV2TuuOTEP82z?= =?us-ascii?Q?mA108wYiXpkElbcuZrOJDQAbZVCiYTOps1gjUzb/QOjk?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: e33d3944-983f-4f5c-4127-08ddebac1634 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:49.7419 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Ms+QeL4y01P9k6oj921IEBcmA5fsbgdZAP20icQaoKM2XTO85DCMTJ3hPy1XMofbEZT3DdFVu78pnbbVMbMJkFC5JTkmG26Nlt7hslRYESomDpxVS5pSTV3rMlWYiWqp X-MS-Exchange-Transport-CrossTenantHeadersStamped: FR5P281MB3926 Message-ID-Hash: 327NR2DDSNQAGJFKVV5ZYEMVCTC2FV2W X-Message-ID-Hash: 327NR2DDSNQAGJFKVV5ZYEMVCTC2FV2W X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756989011076116600 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- src/ch/ch_driver.c | 42 +++++++++++ src/ch/ch_hotplug.c | 175 ++++++++++++++++++++++++++++++++++++++++++++ src/ch/ch_hotplug.h | 6 ++ 3 files changed, 223 insertions(+) diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index 4f4783efb1..760fccba82 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -2387,6 +2387,46 @@ chDomainAttachDevice(virDomainPtr dom, return chDomainAttachDeviceFlags(dom, xml, VIR_DOMAIN_AFFECT_LIVE); } =20 +static int +chDomainDetachDeviceFlags(virDomainPtr dom, + const char *xml, + unsigned int flags) +{ + virCHDriver *driver =3D dom->conn->privateData; + virDomainObj *vm =3D NULL; + int ret =3D -1; + + if (!(vm =3D virCHDomainObjFromDomain(dom))) + goto cleanup; + + if (virDomainDetachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0) + goto cleanup; + + if (virDomainObjBeginJob(vm, VIR_JOB_MODIFY) < 0) + goto cleanup; + + if (virDomainObjUpdateModificationImpact(vm, &flags) < 0) + goto endjob; + + if (chDomainDetachDeviceLiveAndUpdateConfig(driver, vm, xml, flags) < = 0) + goto endjob; + + ret =3D 0; + + endjob: + virDomainObjEndJob(vm); + + cleanup: + virDomainObjEndAPI(&vm); + return ret; +} + +static int chDomainDetachDevice(virDomainPtr dom, const char *xml) +{ + return chDomainDetachDeviceFlags(dom, xml, + VIR_DOMAIN_AFFECT_LIVE); +} + /* Function Tables */ static virHypervisorDriver chHypervisorDriver =3D { .name =3D "CH", @@ -2450,6 +2490,8 @@ static virHypervisorDriver chHypervisorDriver =3D { .domainInterfaceAddresses =3D chDomainInterfaceAddresses, /* 11.0.0 */ .domainAttachDevice =3D chDomainAttachDevice, /* 11.8.0 */ .domainAttachDeviceFlags =3D chDomainAttachDeviceFlags, /* 11.8.0 */ + .domainDetachDevice =3D chDomainDetachDevice, /* 11.8.0 */ + .domainDetachDeviceFlags =3D chDomainDetachDeviceFlags, /* 11.8.0 */ }; =20 static virConnectDriver chConnectDriver =3D { diff --git a/src/ch/ch_hotplug.c b/src/ch/ch_hotplug.c index 524355b93c..95fe1f0f6f 100644 --- a/src/ch/ch_hotplug.c +++ b/src/ch/ch_hotplug.c @@ -156,3 +156,178 @@ chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj = *vm, =20 return 0; } + +static int +chFindDiskId(virDomainDef *def, const char *dst) +{ + size_t i; + + for (i =3D 0; i < def->ndisks; i++) { + if (STREQ(def->disks[i]->dst, dst)) + return i; + } + + return -1; +} + + +/** + * chDomainFindDisk + * + * Helper function to find a disk device definition of a domain. + * + * Searches through the disk devices of a domain by comparing to 'match' a= nd + * returns any match via the 'detach' out parameter. + */ +static int +chDomainFindDisk(virDomainObj *vm, + virDomainDiskDef *match, + virDomainDiskDef **detach) +{ + virDomainDiskDef *disk; + int idx; + + if ((idx =3D chFindDiskId(vm->def, match->dst)) < 0) { + virReportError(VIR_ERR_DEVICE_MISSING, + _("disk %1$s not found"), match->dst); + return -1; + } + *detach =3D disk =3D vm->def->disks[idx]; + + return 0; +} + +static int +chDomainDetachDeviceLive(virDomainObj *vm, + virDomainDeviceDef *match) +{ + virDomainDeviceDef detach =3D { .type =3D match->type }; + virDomainDeviceInfo *info =3D NULL; + virCHDomainObjPrivate *priv =3D vm->privateData; + int idx =3D 0; + + switch (match->type) { + case VIR_DOMAIN_DEVICE_DISK: + if (chDomainFindDisk(vm, match->data.disk, + &detach.data.disk) < 0) { + return -1; + } + break; + case VIR_DOMAIN_DEVICE_LEASE: + case VIR_DOMAIN_DEVICE_FS: + case VIR_DOMAIN_DEVICE_NET: + case VIR_DOMAIN_DEVICE_INPUT: + case VIR_DOMAIN_DEVICE_SOUND: + case VIR_DOMAIN_DEVICE_VIDEO: + case VIR_DOMAIN_DEVICE_HOSTDEV: + case VIR_DOMAIN_DEVICE_WATCHDOG: + case VIR_DOMAIN_DEVICE_CONTROLLER: + case VIR_DOMAIN_DEVICE_GRAPHICS: + case VIR_DOMAIN_DEVICE_HUB: + case VIR_DOMAIN_DEVICE_REDIRDEV: + case VIR_DOMAIN_DEVICE_SMARTCARD: + case VIR_DOMAIN_DEVICE_CHR: + case VIR_DOMAIN_DEVICE_MEMBALLOON: + case VIR_DOMAIN_DEVICE_NVRAM: + case VIR_DOMAIN_DEVICE_RNG: + case VIR_DOMAIN_DEVICE_SHMEM: + case VIR_DOMAIN_DEVICE_TPM: + case VIR_DOMAIN_DEVICE_PANIC: + case VIR_DOMAIN_DEVICE_MEMORY: + case VIR_DOMAIN_DEVICE_IOMMU: + case VIR_DOMAIN_DEVICE_VSOCK: + case VIR_DOMAIN_DEVICE_AUDIO: + case VIR_DOMAIN_DEVICE_CRYPTO: + case VIR_DOMAIN_DEVICE_PSTORE: + case VIR_DOMAIN_DEVICE_LAST: + case VIR_DOMAIN_DEVICE_NONE: + default: + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, + _("live detach of device '%1$s' is not supported"), + virDomainDeviceTypeToString(match->type)); + return -1; + } + + /* "detach" now points to the actual device we want to detach */ + + if (!(info =3D virDomainDeviceGetInfo(&detach))) { + /* + * This should never happen, since all of the device types in + * the switch cases that end with a "break" instead of a + * return have a virDeviceInfo in them. + */ + virReportError(VIR_ERR_INTERNAL_ERROR, + _("device of type '%1$s' has no device info"), + virDomainDeviceTypeToString(detach.type)); + return -1; + } + + /* Make generic validation checks common to all device types */ + + if (!info->alias) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Cannot detach %1$s device with no alias"), + virDomainDeviceTypeToString(detach.type)); + return -1; + } + + if (virCHMonitorRemoveDevice(priv->monitor, info->alias) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Invalid response from CH. Disk removal failed.")= ); + return -1; + } + + if (match->type =3D=3D VIR_DOMAIN_DEVICE_DISK) { + idx =3D chFindDiskId(vm->def, match->data.disk->dst); + if (idx >=3D 0) { + virDomainDiskRemove(vm->def, idx); + } + } + + return 0; +} + +int +chDomainDetachDeviceLiveAndUpdateConfig(virCHDriver *driver, + virDomainObj *vm, + const char *xml, + unsigned int flags) +{ + g_autoptr(virCHDriverConfig) cfg =3D NULL; + g_autoptr(virDomainDeviceDef) dev_config =3D NULL; + g_autoptr(virDomainDeviceDef) dev_live =3D NULL; + unsigned int parse_flags =3D VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE; + g_autoptr(virDomainDef) vmdef =3D NULL; + + virCheckFlags(VIR_DOMAIN_AFFECT_LIVE | + VIR_DOMAIN_AFFECT_CONFIG, -1); + + cfg =3D virCHDriverGetConfig(driver); + + if ((flags & VIR_DOMAIN_AFFECT_CONFIG) && + !(flags & VIR_DOMAIN_AFFECT_LIVE)) + parse_flags |=3D VIR_DOMAIN_DEF_PARSE_INACTIVE; + + if (flags & VIR_DOMAIN_AFFECT_CONFIG) { + virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s", + _("Persistent domain state changes are not supporte= d")); + return -1; + } + + if (flags & VIR_DOMAIN_AFFECT_LIVE) { + if (!(dev_live =3D virDomainDeviceDefParse(xml, vm->def, driver->x= mlopt, + NULL, parse_flags))) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Could not parse domain definition")); + return -1; + } + + if (chDomainDetachDeviceLive(vm, dev_live) < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("Could detach device")); + return -1; + } + } + + return 0; +} diff --git a/src/ch/ch_hotplug.h b/src/ch/ch_hotplug.h index 04915ba5de..4a9b9b3b3e 100644 --- a/src/ch/ch_hotplug.h +++ b/src/ch/ch_hotplug.h @@ -25,3 +25,9 @@ chDomainAttachDeviceLiveAndUpdateConfig(virDomainObj *vm, virCHDriver *driver, const char *xml, unsigned int flags); + +int +chDomainDetachDeviceLiveAndUpdateConfig(virCHDriver *driver, + virDomainObj *vm, + const char *xml, + unsigned int flags); --=20 2.50.1 From nobody Sun Sep 7 23:36:56 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass(p=none dis=none) header.from=cyberus-technology.de ARC-Seal: i=2; a=rsa-sha256; t=1756988806; cv=pass; d=zohomail.com; s=zohoarc; b=h7WGMFnsJEUtliqCdke+yXMw2HxJLCTjLMNA6oUP8IgdWSKqf2xNd0wGqTXw1HS0R0vcY5Zn53099k2s8kaeHw45CSmaAdcBERJFUl6onEgL0VONctqOr1RVE73TsDDAB5noD2HAuelIEuqO1LNpn6qv95RdmgpN6TrcL3AYlVA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1756988806; h=Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Subject:Subject:To:To:Message-Id:Reply-To; bh=qNwHtk6ftbGJ4x8exZZEpjqXs181s+o0PCoEUV9CbVY=; b=MxK62xPxwk8LGXJkDQ5zH+s8xUV29xGUcQVgWdG5U9xMKbkCuiRk9tyQTMkYfrXuUF+BrgBfw/ULTYlD1E5QGuvuXOe3rllV8dijX+hgi2jUVKblqZZ6jtNRcXLhS75tzmJjDnyXUy/z3/BRBA3miPnOS8u2gZEBzMdojIEgX6g= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 8.43.85.245 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; arc=pass (i=1 dmarc=pass fromdomain=cyberus-technology.de); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1756988806372344.6812142238713; Thu, 4 Sep 2025 05:26:46 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id BFF8D4434C; Thu, 4 Sep 2025 08:26:45 -0400 (EDT) Received: from [172.19.199.3] (lists.libvirt.org [8.43.85.245]) by lists.libvirt.org (Postfix) with ESMTP id 99D9D4431C; Thu, 4 Sep 2025 08:15:23 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 60E1544204; Thu, 4 Sep 2025 08:10:55 -0400 (EDT) Received: from FR6P281CU001.outbound.protection.outlook.com (mail-germanywestcentralazon11020106.outbound.protection.outlook.com [52.101.171.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (prime256v1) server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 34F68441FF for ; Thu, 4 Sep 2025 08:10:54 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BE1P281MB2898.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:6e::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9073.27; Thu, 4 Sep 2025 12:10:50 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%3]) with mapi id 15.20.9094.017; Thu, 4 Sep 2025 12:10:50 +0000 X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-1.8 required=5.0 tests=ARC_SIGNED,ARC_VALID, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_LOW, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_PASS autolearn=unavailable autolearn_force=no version=4.0.1 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=p1moS0XWe0bb/Gqx7ykldn5m/WElO1/TYoKTvS4g9sBM5/7EGR0E3XFx7+zpjgZvhWzxw/BsvX06IHs5QHm0EcwOhMQ/2zUzBobokf9I57bGAAt5f6iI6Qlq9GhBLYXqZCNGqfgTMlpcCzP5eGS54grNgN/Tk6mG6Mx3z2SiBYZ4RMbxSr1RDB4TGrdZveDYue20o4nMVOQ7XPAmryEm0TEvrWEp6vtdNFkUBWPm1BNHO+sHAAxSf/4zDIP+hYcRhuvlCNWraZab0T+YxzzHQQY/JHLARfEe8UkBR2s+XjSvawbF8m7jfSbyePWpTEGw+p76Z7KMbNPTqYPBlYI+GQ== 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=qNwHtk6ftbGJ4x8exZZEpjqXs181s+o0PCoEUV9CbVY=; b=o8odiorXOmWK6PmjDtFtZw91sHqzCy6xhS6QzQZIwY/yCGlFCQa8c/GYylmNgBpsGAQmSEt8R/UOJSZEPca8gsgZRPyRUfj4Kuy4wCztWeDuFHT4+6VryHz9HNPfK6YDhavX1BI1mUWpD8PMPCItrcQfycEFwZBi+In/6HlW++Jpa38JILygBQPB7JFrnIqePUfhnPJgKAh1mHUXfTFKV/ALk16O29UaO7cPtzQej9RlTuGSsMR6g+YedNMhVD4H/GSQSls3kpkrRSXx0z19RA/3xLgRg9HnWT20RE/xJQey1GwG7EfS+faXehAFbitywatOYVpT8SyaCjF7FT6JJQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=cyberus-technology.de; dmarc=pass action=none header.from=cyberus-technology.de; dkim=pass header.d=cyberus-technology.de; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cyberus-technology.de; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qNwHtk6ftbGJ4x8exZZEpjqXs181s+o0PCoEUV9CbVY=; b=B9r5IeLtsOPyQowZ55Mha9QQeeN7bFHhhCsd9NpvUwJDGIA9v3HFYYiNmMngwPPJy10R6fTo/wcydDLDpHXfjzCByg0bokkoyQhDZhRUtfwO/TdZFifeWilIpax1hNxHImLcsQN86dVL20Evj5ZisSp83Ct8OQaUqD6dZJL4owmx6N2II8wczUtqODANXuKMcICOOeIOYM5mrpzc47buUGgfxoqvV8FSYSBGSa4L3JJIhFHCA10iRvCUC02FUSX8c5Up/vHTQtCXss6jQzRHl07VhRVvwrtA+1CEiylDgXjrYcK4aT9gtUGqOc9l94Q7knlJ9WH15IVwOkhUB4flow== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=cyberus-technology.de; From: Stefan Kober To: devel@lists.libvirt.org Subject: [PATCH v3 13/13] NEWS: announce disk hotplug support for ch Date: Thu, 4 Sep 2025 14:10:35 +0200 Message-ID: <20250904121035.1349575-14-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> References: <20250904121035.1349575-1-stefan.kober@cyberus-technology.de> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: FR4P281CA0282.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:e6::7) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BE1P281MB2898:EE_ X-MS-Office365-Filtering-Correlation-Id: 39dafeb8-b1d5-4fa5-f6e6-08ddebac168a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|10070799003|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?dvKv178XnTX0mVEtR9NWGALh8w5o66ZDmNtfk0BImnbZH4QIZOGD5YSP7N5T?= =?us-ascii?Q?YxSBs9A8IiX/6bASrrXlEa4RQ7hZFylocpeVEdeELHIeiaqjdlHibNVlS7Nb?= =?us-ascii?Q?6GraDZAGvCni2cQszmCJNi8JDZRb5jkpRn5l5zPksaBNF4wvJw0u+A8t208C?= =?us-ascii?Q?OejQHcn8KhRqNiQkl7SPfTdAgsv7jH22tSOo36l8wyAabIHBu2V4lBE1feIu?= =?us-ascii?Q?eA6nWVqV2u0r4CRwO+JmB0z49a0DzDWyPg0r7tTgGSc8DiUz2A6xloHttpT2?= =?us-ascii?Q?M/E/qoQwAfNvpbZcpyFsM3BHty3SVx3cP6z+5+QrXtAeDV73hG/+sv5yHrIP?= =?us-ascii?Q?E0QbezM+5RuyAL2nZnjRBKVart6JacAG9ybLy/uxBugyg8szmE8twXXehbny?= =?us-ascii?Q?ZfGdmChZ6NZVWTUQCe6fbRobMiUjXlGv1PvbxPgdd3+q3dFQS0V4+o83LDRB?= =?us-ascii?Q?8fhc31GtiluDwCQNl+mzB/uiTbl7y3LUHeqX8l240KhK5gD7OTR+Q4tb86VN?= =?us-ascii?Q?8aep1E8Yuk0msxYTJBmIV6RTvAivFAg4Wy84+UdEYYKwUiqvnkhYxMFCNMAd?= =?us-ascii?Q?8MyDXkPO55z77D7IDs5VU+GHWJNb91DSsx/QPF9TZ0P8J++yjSvz3z6vVJQl?= =?us-ascii?Q?PUrD1/HgqFsJdzILapeIQw4jG275dbEATEgnVAftcDT8T87g5toD6vErgxQu?= =?us-ascii?Q?qpB2u3VcAUNNTPOoszE7wUCNHc2mavOa33fqe9OXnuCKmPFU+SvH3NKYvDmc?= =?us-ascii?Q?dcfP/6tLSCQIElJHt9PbDhCf5bLv3jGRzkug9pDni3EfeSUehqkcdmw2rcbl?= =?us-ascii?Q?HH26oJhj+vvyP8W2ObCPseLH54Ioax06RIUBujtm1gckB1JXLuZiru/LMZtG?= =?us-ascii?Q?v63Mb7ZrarVodgT30I8Mm6T7edY539QQgXaaubAqAz0ugViXa6TcYNWCPT0A?= =?us-ascii?Q?c4FH+6Qabtp5Erx/rHbLuFws6TzXjGrYap9H14FeVdaPOqLy3aZjxyk/ofFF?= =?us-ascii?Q?A+/3zLELOF7u4f2wDMxLLV6utEMRrGxraUgki5e8NpAjKsY8k9gHu/Z+izZJ?= =?us-ascii?Q?lekaoDeK5vzO6ZMN0xBrXfmtOC894CefsFkCYz2RbE0Xmz0UyqJQGPKJti+q?= =?us-ascii?Q?Ec/hE9h53w44fi/bvSaezcwYjMzVjKZ73riKQqzNdzJLa84LbxN6G5ZPRzN6?= =?us-ascii?Q?NBMIDTsI6Wm6aOwrDtn8WDHx7RGIrRusI5MSlEwwgUAt4A+Piy+BtOSiE+nz?= =?us-ascii?Q?5qaGEceV1fxJo4++c60i1/xy5711X8oQIT+C5DtqTYALXNg77I4Xe99bV3hu?= =?us-ascii?Q?92u2t6AgvAFJXQPC0pp50GIeUwmiwXvjH7tSJbZZZgH6vA0VR7HOOygYV27l?= =?us-ascii?Q?tgmy8w8P396ssQieytyuiBFHa6ahH9Vg1hiyQgsDgACqUj1ZX6/gbBqVgP65?= =?us-ascii?Q?do2cXo6Kgdw=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM;PTR:;CAT:NONE;SFS:(13230040)(376014)(10070799003)(366016)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Jtaz/qaTCNKRVrc6ryYlcegjqiFw8zEd0h9gz+vfwi+jUhdbiRv8xJqqspHU?= =?us-ascii?Q?MYZBRzEgJj8JEZJMe2o7fTT+d0XIKu1j+T/+OhPnJnOg5DqiYWN61IuQK0Sn?= =?us-ascii?Q?5I/bquXjtC/MxcbgFMnQL6fk8wCvsIePJvCMnZrYVRQ6+QkxVl9Rw6T94jLo?= =?us-ascii?Q?6BrzYh3CEr6ajMwVxjtUrXttnyEG9R8vNdikFGbfNLx32TqZEKnRpXPowxIp?= =?us-ascii?Q?COc0NDTR6mrzyhAfnBUZl/sj/1UH/D7AsbGL4DdPpitqagQ/Awuxt2+ncsvR?= =?us-ascii?Q?NS3zvycMYRiB5U0H881LVUqnJigAqsjWbErvjGH1K+RqPbEeMAuqK8p99K/S?= =?us-ascii?Q?jz6BxCSi9Zu3QeH8l7xyfrhvYgJfC1uJwtT9qOUCm6QibWFg8ayan2uyf1bk?= =?us-ascii?Q?ntSE0oFoUql0ox75/2zE1gSK2pD0+PSlZNcdWV1TZLwz3Gshj5FBNOUmHfFo?= =?us-ascii?Q?r6F2tamuBVbjSyktOsazX8SfmlIpubF2QXZBrv3mMkVCtvSCoDgZREFS+ztw?= =?us-ascii?Q?IKHEO9cjTqfkVrBmaDoKxM14ZkIhklZS5t66CoDZBmwEmGJpM+8GY7PuS0yS?= =?us-ascii?Q?xAeDYKKczIdPzd2BkzAYreWsSbaYOqO08hhMwmMUmGAuD6y0O7tOUAPQ6UzN?= =?us-ascii?Q?y8gymPtYTNbvD8uoaNWt88aVjc1ttIHWwR0+9jyd0Co6YnLF5lRFMG55tiMf?= =?us-ascii?Q?NNOuTR/O+5edZUSoPpKTl7EZLhEpc9f+sKLGkbnHRvscivoWrsabC3e4RUhR?= =?us-ascii?Q?h80ZtylvMgmJtpdGIT6QJBssUOIGHTNjU0pW3ElFgF2x4GB0zC05H5IlKaYl?= =?us-ascii?Q?1ljaZS6+0YEI/L+xqk0E4zmVpyPALK4YcDbflEQ0iNq0nT5IixncUbJD1Cih?= =?us-ascii?Q?9vYreOXMZaH6dM7vh109Yhad5rDzy1gZvUYG70/mne0WFSQHbmNXuRo0MNwl?= =?us-ascii?Q?xqQ5Gx2XsVMi9BggYchWRL9vkdTFTuUzas27yztb2n3lVXbrT5Jhqvo25xh4?= =?us-ascii?Q?E08mP6L1eHPPaoS9eG/+ahyjp8oKrE69m0O22ac2f56nLPsPKn/Ns2Ip3je8?= =?us-ascii?Q?vljSVq86fipTnb33ER9xI9IMP7hLrnlEg8M7Ts1Wc5BBXEC8LVbGQ0RKvfPf?= =?us-ascii?Q?m1rsEkzeKZ500Z8jgodEW+HXZCanaPm4WUXDxpfx+rpu9+sjZcQb4lwe7mIi?= =?us-ascii?Q?j6HsVS4Qf1CVfClBKpAtXtxxkBdlXosU9O5nalnY5VP+nUQZyVGVsvYrQDfX?= =?us-ascii?Q?FN33ply/136HjRXmV1/65yKPIXlJIDd4kkfQbzk0VH+hH+kiCp2Xf7d0FC+T?= =?us-ascii?Q?jBlQ7teQHJ7bI2JmnMlrJsTUy7lZDlNLFNdRTAbONaduao33m3ekoaQp/T+N?= =?us-ascii?Q?DkfruWl4rAsBUwCKh1sZI9X4wgJ0TB+Nwi2AP6Oljrvyp3YJNswszLKirQNl?= =?us-ascii?Q?UAnL6mVii8Y4mFI+c9CVGmXAMdxbGomfaoSpiPDkcGYXg5oYbz3n6y2ywHFo?= =?us-ascii?Q?XihxBYHA0+DmeWj2JIr2bvqmDT5HXMDN6hkrbPEsEjTvw0+DQKIazqbo5zz8?= =?us-ascii?Q?2WLpnriYw5nEJbFW2Id7mNgSqAXzDMtk9TM5HmakfSwV2vRrI4PTDyS2OwGb?= =?us-ascii?Q?+LcaKrBoGGdiWSvxud6sXSamLG5i8y0ePFLybo6a1++k?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 39dafeb8-b1d5-4fa5-f6e6-08ddebac168a X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Sep 2025 12:10:50.3621 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f4e0f4e0-9d68-4bd6-a95b-0cba36dbac2e X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: DWqONUAPh0Li3WBNlwC3vo/3tsmvn4kFwbA8AK8qYQ/rz6sBMdgITVzns/YT+qpjLjTIJnqqWSggJxbYmy+M9O66bIAsGQIiIg2nHgmRMqLO7Gw7U+qpeyVgtVK6s/IM X-MS-Exchange-Transport-CrossTenantHeadersStamped: BE1P281MB2898 Message-ID-Hash: QTHAX3F56IUG6DNWZWHMSDIOWS63TAK4 X-Message-ID-Hash: QTHAX3F56IUG6DNWZWHMSDIOWS63TAK4 X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: pass (identity @cyberus-technology.de) X-ZM-MESSAGEID: 1756988808429124100 Content-Type: text/plain; charset="utf-8" On-behalf-of: SAP stefan.kober@sap.com Signed-off-by: Stefan Kober --- NEWS.rst | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/NEWS.rst b/NEWS.rst index 9577be0213..9b64489954 100644 --- a/NEWS.rst +++ b/NEWS.rst @@ -17,6 +17,11 @@ v11.8.0 (unreleased) =20 * **New features** =20 + * ch: Disk hotplug Support + + Users can now attach and detach disks of Cloud Hypervisor domains at + runtime. + * **Improvements** =20 * **Bug fixes** --=20 2.50.1