From nobody Tue Sep 9 19:05: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=fail; 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=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=cyberus-technology.de Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1747894963572712.4119817721389; Wed, 21 May 2025 23:22:43 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 9DC601599; Thu, 22 May 2025 02:22:42 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 2640F1879; Thu, 22 May 2025 02:21:42 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id 1168513FF; Thu, 22 May 2025 02:21:35 -0400 (EDT) Received: from FR5P281CU006.outbound.protection.outlook.com (mail-germanywestcentralazon11022087.outbound.protection.outlook.com [40.107.149.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 60D38148E for ; Thu, 22 May 2025 02:21:34 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BEYP281MB3883.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:b4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.21; Thu, 22 May 2025 06:21:29 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%4]) with mapi id 15.20.8769.019; Thu, 22 May 2025 06:21:29 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sneMwV18HZsabVuyoCLNUN7Fj/eM7KwrrGnHdIVB61UOmOjezLcmU0oYCKd8Y73/9v+UcwJyn+E7SoUcwmSNs3facMBxkecol7C4zfCttH+dIYvtvuUcwL4/LCmOXYf91gVATu4azoIH6YKTIkdKRoBW8XioDdSLkzK/qbPpLXIlCJ9gjSn2yeaFTpAahjddjOU1iOnAZO1b2K0HxP6QVAgTWG5+7LV6cwNPiLBVI+JB5RgoBZ+u8pLtO8Go9BVu4tkUtRYvRhGia+Zy+0oTcKWqyJSf+LyCSKbo+CLltU1d25ddE3APSMXIwYsS32h2bGqdORU281iEhBqF+WLAJg== 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=4kAadGgGuhkPldtDXw4VNVWVKe/prBYWBaLe6mdFQog=; b=vw+IcwnpvzyQSjrECvaAZC+dO0LS7s0TYRoEK3/lx8v9o3CogzA5GVspmOHCikKHkmB1SCksJfQ/R6b5P4l6wcyajWPU1fOoRcyD8esadZj8kCNWzAD2ghoQ28YNBkIbgIvAj5FWMnzAwqEcytdz3ve3R0TLEdGfraHiSEb5dIIr9yiktqqjiwYdXPpJAuV28eYw9OmRbdyoykRvPSUrKFgOmFnKb41qNrbd06n4tIXaj/5HjZQ+X5Aod8JByhoMyFJjXGl/NeTM13MUBEsEV1hibRy9ejqw9YKXMkAYnRnBgcZ/qgfKhppB7QUOs/aePGtzdOUDCwbP5fEIjWpCqA== 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=4kAadGgGuhkPldtDXw4VNVWVKe/prBYWBaLe6mdFQog=; b=wQg1tds5bm0fwbAnyuk2H4a13rCL4c/pkoUYTpWHwceR4STtCc6HmWE9XFkkbNhG51J8wN85uGVOJb2VgutwB2n3uRE4qbrxta+gNvPxbOWQds47BcWaTCR3Y1k7lxthydrc4SCcNhEIMpdbqZqqOoew/Wz2H7+NgRgTulKONlh6ahEILsMLx8qu12ci7TURBO/r5mTu6++HpGRm5FepN4OJQkxxTL82ZTERRBvN2koKVzkIjuobxXDJ8bV7PxHale/zh81y65rrEicbLbehzDbOfkdHRB38GZL7/uOaebPof+jgKwZ4XEAbxwjApumVVEbbfTO/1AyBe5274Nax4A== 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 1/2] ch: Add config file support Date: Thu, 22 May 2025 08:21:21 +0200 Message-ID: <20250522062122.227648-2-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250522062122.227648-1-stefan.kober@cyberus-technology.de> References: <20250522062122.227648-1-stefan.kober@cyberus-technology.de> X-ClientProxiedBy: FR4P281CA0449.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c6::9) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BEYP281MB3883:EE_ X-MS-Office365-Filtering-Correlation-Id: 5e26823c-1258-4b40-27cd-08dd98f8e396 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Orw892dpfAig/PXv5YAZYuvuGe8045mHcqqpa3ABy9q2uZSEvIT4z0zlJChr?= =?us-ascii?Q?90pkXxKavs9NJhwojXMMYQs00n7obogog0PcUMI7pyhQzdqZSV934rI9YPWw?= =?us-ascii?Q?ZbGkjXbv+uOMmARn9kubG/rhwNqZiF/63A82iW5Ecu6PPGniVT9dtchL+EVs?= =?us-ascii?Q?WeRfe5nKfJdv/CvGWftDeB5UC6zN8PM6eU/mLiECVsoTjwJ65TzGDrL6UKcs?= =?us-ascii?Q?3hqRPph1/D52srdQAuxJzIVfo207PJuVgNu5WI6zzbCpxjcW6prGvO+s55pc?= =?us-ascii?Q?TmwtOUHBMzXqzY4azOTu+LzA1czZcOijgnQ6URtoPhd3zpgEU2Q3m5kD0oGi?= =?us-ascii?Q?gTW/o5OpR5d6Wje/Lwmlgpm+sZjNfY/ew6LsqjVJC7Z7TucDIgDbYPeXNxia?= =?us-ascii?Q?9uoKfWrfUk7KnEnM/6J723OK8a3PF79jHxH/6RWNhLsHoaCBYYmhoqagnEve?= =?us-ascii?Q?IOpleol14ekoCEcTnS637O01z8gKOuehhTDP4VOFGRojvUEoHST5aWUu8lfc?= =?us-ascii?Q?ZwTxxSjKcPkfwAvIrfJ8Slvij9Ynr4kUNHvLA0c1cQHhQEIOD85T5zq/Z9LY?= =?us-ascii?Q?MBXamUx5MbEQhwqsBjggN9paUqVEgtKEWPQJNLN5yzdohRXW+OXaIQvBjlgV?= =?us-ascii?Q?DwwuHPWCVg6XeOGGX5nczCoz/apFlT5m02274LHKCuYJr3fiW7sQMnniI1Jp?= =?us-ascii?Q?jjg5qetxGaPV805ulm1ah8BkAsfaIQ0MjPIfC5kFnGHrXnTp3RGxPgy3Gw3S?= =?us-ascii?Q?4bh6nCMhOi84VBYBALj7bjxw1pHsCK7qHokZkoU5tp8Uwme7HLkJE7p+BpEk?= =?us-ascii?Q?TT5iILf9Ud9gpPOHi75GNqyvGI4R65pqiZ5BIoFoKPk3WYbnOgPYkA5TjOmJ?= =?us-ascii?Q?6dXwp1uLNUilM2vnRAWKwENVtad4vT1TX5SgU8ZVG4eK5RQ5c+R0LPsG4RKX?= =?us-ascii?Q?TOCJn+YteFQ0TYhLbHLXF+aOTGkAJrpM/qKxPyrTsCYWcGiBavMYrDLlKwQf?= =?us-ascii?Q?EN24OEEDSZUWYVJ+MLsmEtwHnhOfOpZAT/HxyBZBVM7o9e8vM+hPuSg30dZX?= =?us-ascii?Q?kTJvsTglaRyjajUzciVI3EU5r24QliQUru9KpeE6S6/M6Pb8tep888V1pM7X?= =?us-ascii?Q?x2BlH2f5CA5RE5nO0/liTFTd5A0BG7wDC9C6EdQCSFXwEHEAlZG9SqjLVJtE?= =?us-ascii?Q?bfI0IDAgmX6VzyvCryK0Mw7ZTB0GbvPEPQAitx9ITgiUeLUM+cYkN4jENZ1E?= =?us-ascii?Q?sOukuHXjj2iPbSZWn7S4xbYDRDVEfcBT+S0nuqzHr4hxwEcDex0xrXiA1Qoo?= =?us-ascii?Q?3G5nSb9NlxkorU/hYXhY5PjWRh4V8CQtinVKAsQBmTvXpPUxp4k8umicfv3N?= =?us-ascii?Q?x0VaJA7pgyYfNmdOJEoChB+sVtkFcq4AIaw3X+Jf3zl+SkwvZTbJDs17OWaB?= =?us-ascii?Q?OuF4VcGWPoc=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)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?IA3bCchl63+1m34N/je+peGpR6TpYhp1tcpR/jwuo/f1RFSItwXH8MuuKweJ?= =?us-ascii?Q?BC9CQFuTlx8b54YPMAM1lsmDnhrAYMB5L3VcI4TtRahRWXn4VxOynk69IoMJ?= =?us-ascii?Q?SquiQKRPkgVqAmJL7atNrLo8gk7YrOS15XCooiuMnHOcMqozhwEdzpPZHXdG?= =?us-ascii?Q?Gx2W1Hhs5a+Pm65Vmtl3dGg9u2lUuLfNsB5S+2sroYe/fr+9yNdd1MdV35hD?= =?us-ascii?Q?gHd9yQIeE8O5dTLNLR/Xz+NTFgitT9UoY575ntT46oIYb7J7hrpZz2UhJqb+?= =?us-ascii?Q?EXJMZXfobSkgZJQQ+McMram2Z1+RpmL5mTpxTUEUjKOvZVjTjYCT+zSRj1Nm?= =?us-ascii?Q?m1jFIAHHsapkjcaQ7FctFTy85M/a3zTyxlPCEo53rwDaSNDDGiTbuWNAIAgG?= =?us-ascii?Q?9D/kzeoowTLdafx8myksNZi/uCpVXqcfVQcGMhtE82DO386dsDmqv3mjNoWQ?= =?us-ascii?Q?y/TSDsKKVU5rcMPEFJyCa/uEKGnIFgsHoJx0OZd4cgE1CxCpDZ1cHyLVUaNY?= =?us-ascii?Q?o1cPsWyWJcbCQai8SJtygF/2SI45AGBEreymFUsqoJMI/pdffcTwYvaU+I6n?= =?us-ascii?Q?SNl/IDam5hg73IkQCBZ8C2IPxAVV1K0T1hnq2NXMz9jwGjeLCcQQ6oMTVcy5?= =?us-ascii?Q?iNNuDlNLTNuIjqy56Hz+1jEyvJBG8wO93hQnM+AWqSTQ25Kuiyaf4NzrKsID?= =?us-ascii?Q?Qd6waUbWgKIr0zgp/YXzC8pzz76b7X1dEmyGNTJRQg8WSt9mxoltsYB7PANd?= =?us-ascii?Q?agc16rUOoOgIA04AxHE9Jn32mAMF48sUZprQMjhAfJmkrkThTBK/Vy6mFA60?= =?us-ascii?Q?FvCd5VueoLJswPmnBazpQNuQQofA5pbjK5rf9Jl2Ayafd2tKhxc+dYnTBHeS?= =?us-ascii?Q?ZxAGDTXquGyuYQXysmwFAosCBHJqDjH2wQgkl4zVuAVBm134Sg4G4Las9M3m?= =?us-ascii?Q?WijX9LY7twk/QUW4aMOpC3GztsT9IUay6rvQlKcgKew/NBEqTwj5HK/OFXzu?= =?us-ascii?Q?XpUboZrmEAEKyvhbW8IyLcBOV7PyCbCSXw/sAYbjByu2adVromXttiksL94x?= =?us-ascii?Q?roiiBgUQcRTFQafXtIZ55tZeMH6qj61D4XmLUy5gr9O5WnrfXE4PkhWwjsdI?= =?us-ascii?Q?H29kcnRDlsGyi+Eayte6EDwXdhU3w0FggOBZRvP8jWDtgxzwg2cCDwW3mbbL?= =?us-ascii?Q?uxJ8GcLzs8EkcjB61HocNiSM+xRnzidakJ2LYOGgYxhSM5JecklvuqPRtI4V?= =?us-ascii?Q?w5EHbzqM/Mfj7kzkuppeJD3rg613+RICowV7gG5yTkPW5FrzhbCVhjDMUugW?= =?us-ascii?Q?2jilJBRl5lLvZRvzdffGjTVsfJ7BjbnMMoYbtUTSOkiyDPwm96pE3Y8AiokG?= =?us-ascii?Q?T748vUoMlCcUK+Gfs8BMePc/bUBG6VVEK/9kkZINzL22/Olwh4qWenr82eql?= =?us-ascii?Q?q1ZO2TsSKlJ+xID2fowt/ZSKxOnd1Nb5Vpip0SEk1WhSreCmAfGdfE1Jg9M6?= =?us-ascii?Q?u78IN3zgosgbrxsoapDZzF1S3y6bBTa0MPZy+wkCG4ktyxrDfrEREvVGMsSj?= =?us-ascii?Q?dI6rQY/t7NdUxGMJKzAQ/LOMYidIpFk2GqO+KCNq27EfgzzwTBENl1swnqsj?= =?us-ascii?Q?mY0HwrCWnVFAn4PyBWHCilDr4Xuug8875J2GHZWwKTA+zeXoRm4ej8jQhU+o?= =?us-ascii?Q?M02zypILRJH/xJIaJxPPUQFPb6I=3D?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 5e26823c-1258-4b40-27cd-08dd98f8e396 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2025 06:21:29.6568 (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: ieasSCyR9ealfwTGcIztM17K8GN4dtKW67SPZqSCJgOFBmt52E+FCV70/01nwggiedCPC7orwVLcEZQRPqzC9GwX8WpZzKdfXM7YK+kZZY0+2rTUbBU+BAZbT+hmSYUY X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEYP281MB3883 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: W4NFQMX3N7WD3TRFWHV5F5JBX2LCBEDV X-Message-ID-Hash: W4NFQMX3N7WD3TRFWHV5F5JBX2LCBEDV X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Computed bodyhash is different from the expected one) X-ZM-MESSAGEID: 1747894964547116600 Content-Type: text/plain; charset="utf-8" Similar to the QEMU driver, the ch driver receives support for configuration files that allows doing certain configuration on the virtchd daemon. The initial use case will be setting the verbosity of the cloud hypervisor instances started by virtchd, but the implementation allows for adding further options. --- src/ch/ch_conf.c | 22 ++++++++++++++++++++++ src/ch/ch_conf.h | 3 +++ src/ch/ch_driver.c | 6 ++++++ 3 files changed, 31 insertions(+) diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index cab97639c4..7d3f600707 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -22,6 +22,7 @@ =20 #include "configmake.h" #include "vircommand.h" +#include "virconf.h" #include "virfile.h" #include "virlog.h" #include "virobject.h" @@ -81,6 +82,25 @@ virCaps *virCHDriverCapsInit(void) return g_steal_pointer(&caps); } =20 +int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, + const char *filename) +{ + g_autoptr(virConf) conf =3D NULL; + + /* Just check the file is readable before opening it, otherwise + * libvirt emits an error. + */ + if (access(filename, R_OK) =3D=3D -1) { + VIR_INFO("Could not read ch config file %s", filename); + return 0; + } + + if (!(conf =3D virConfReadFile(filename, 0))) + return -1; + + return 0; +} + /** * virCHDriverGetCapabilities: * @@ -149,6 +169,7 @@ virCHDriverConfigNew(bool privileged) cfg->logDir =3D g_strdup_printf("%s/log/libvirt/ch", LOCALSTATEDIR= ); cfg->stateDir =3D g_strdup_printf("%s/libvirt/ch", RUNSTATEDIR); cfg->saveDir =3D g_strdup_printf("%s/lib/libvirt/ch/save", LOCALST= ATEDIR); + cfg->configDir =3D g_strdup_printf("%s/lib/libvirt/ch", LOCALSTATE= DIR); =20 } else { g_autofree char *rundir =3D NULL; @@ -164,6 +185,7 @@ virCHDriverConfigNew(bool privileged) =20 configbasedir =3D virGetUserConfigDirectory(); cfg->saveDir =3D g_strdup_printf("%s/ch/save", configbasedir); + cfg->configDir =3D g_strdup_printf("%s/ch", configbasedir); } =20 return cfg; diff --git a/src/ch/ch_conf.h b/src/ch/ch_conf.h index b08573476e..2f0d090d35 100644 --- a/src/ch/ch_conf.h +++ b/src/ch/ch_conf.h @@ -38,6 +38,7 @@ struct _virCHDriverConfig { GObject parent; =20 char *stateDir; + char *configDir; char *logDir; char *saveDir; =20 @@ -103,6 +104,8 @@ struct _CHSaveXMLHeader { uint32_t unused[11]; }; =20 +int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, + const char *filename); virCaps *virCHDriverCapsInit(void); virCaps *virCHDriverGetCapabilities(virCHDriver *driver, bool refresh); diff --git a/src/ch/ch_driver.c b/src/ch/ch_driver.c index 3bdcf66ebd..cf6874f22e 100644 --- a/src/ch/ch_driver.c +++ b/src/ch/ch_driver.c @@ -1411,6 +1411,7 @@ chStateInitialize(bool privileged, virStateInhibitCallback callback G_GNUC_UNUSED, void *opaque G_GNUC_UNUSED) { + g_autofree char *driverConf =3D NULL; int ret =3D VIR_DRV_STATE_INIT_ERROR; int rv; =20 @@ -1447,6 +1448,11 @@ chStateInitialize(bool privileged, if (!(ch_driver->config =3D virCHDriverConfigNew(privileged))) goto cleanup; =20 + driverConf =3D g_strdup_printf("%s/ch.conf", ch_driver->config->config= Dir); + + if (virCHDriverConfigLoadFile(ch_driver->config, driverConf) < 0) + goto cleanup; + if (!(ch_driver->hostdevMgr =3D virHostdevManagerGetDefault())) goto cleanup; =20 --=20 2.49.0 From nobody Tue Sep 9 19:05: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=fail; 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=fail (BodyHash is different from the expected one); dmarc=fail(p=none dis=none) header.from=cyberus-technology.de Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1747894939777520.6451754342172; Wed, 21 May 2025 23:22:19 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 996) id D488115B5; Thu, 22 May 2025 02:22:18 -0400 (EDT) Received: from lists.libvirt.org (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 32AC415EE; Thu, 22 May 2025 02:21:39 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 996) id B83741441; Thu, 22 May 2025 02:21:34 -0400 (EDT) Received: from FR5P281CU006.outbound.protection.outlook.com (mail-germanywestcentralazon11022087.outbound.protection.outlook.com [40.107.149.87]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 29B42142D for ; Thu, 22 May 2025 02:21:34 -0400 (EDT) Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) by BEYP281MB3883.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:b4::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8769.21; Thu, 22 May 2025 06:21:30 +0000 Received: from BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401]) by BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM ([fe80::7272:f32d:eb8d:e401%4]) with mapi id 15.20.8769.019; Thu, 22 May 2025 06:21:30 +0000 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=0.2 required=5.0 tests=DKIM_INVALID,DKIM_SIGNED, FORGED_SPF_HELO,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_RPBL_BLOCKED, RCVD_IN_VALIDITY_SAFE_BLOCKED,SPF_HELO_PASS autolearn=no autolearn_force=no version=3.4.4 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=laaDziPAurZ9R8jhsgecBiPnrJZcj7I/scpLFhM25LZErOfTIjeRSsD/SRSzH6g3UWpwRybajw9r/SLSIYS6cqYKDxdrVN05XC8wjTYSViGdbXhFUEpIZ71UF3BrCuS1AZmwaCYIyrqHUSFNcpCNZF4yEfjthVmeCK/3dObCVE7lM7x5jB5FMoCdvCIKS9sPM3NkaFpUyQ8LoWegUyV39BPfT5YSgC24U4QaT/0am9SUEaG2FYpUsqKd55H2ojVkkoXpqSb2daoaPZxYCCaf46IksdIeqoZdFpnzPfwm0wosI5EvwnkUIMRZ0wAMgUkYf5xxPPw5Y2BGGMDgrWRo5g== 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=5IRwTRStg4d1f/EjAMN5WKMu0NKoQLMEg6Qny8lV88A=; b=Yy2Trcilkk/JiYpxfzSm+f6T5K4CrLTWUASzZMblT52uFq1Z3AGWArkcvYrQWF3dF7lS9HhnJ1I/DgtC5VxG1RIY4O+ohKclb4ewQNlqz8oSPKLNlBLAJp0vxy2L7Y1KSp6GZ9kN8PWCvkBtIngZRv9caZ2WV61S/S+7KUCTeKhsn6ufbKBZ5cqZCrwUV7crQq49mJ4pk1jJSb7NSYS0d/TLSlN/rhvZCLGtxWf1Xxo/b2N682cxE0ySA9KEVNmI5Q9TxPIt6X7xRfVU+kJnqCHiusD8bS+wn15U1D59sVL11kf+X7SkU8ujlxd5i4x8ZSO5+kFQ8b45ZLygDLdQIA== 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=5IRwTRStg4d1f/EjAMN5WKMu0NKoQLMEg6Qny8lV88A=; b=miV6zD1LuizIJDRDza0w5o+AjYqTDdvKB+276Qu0YJ+vguIU80fDrpY/DjMh1+5Nj3C8nbLDChJOO9O3/rWp7xbHtrgr2Ztux1dVnci/YwYD/Lu1pIIEHu+IYkku+F82sc0kdtnvV7IrwBTwDUl72krC7I1Ya1B4LfjOXRGyLNfI5MvpK0raB9z1V1m0Wmudt2+plbr/7wSSZEY/+Dncswcxc+mBB16/fGR2f1Sog49OGKFkHN+ETFGcPtVJsKQYvOZGdPUl73HhIlX5kV/CRKWMu3pMt6MUaJ3quFCSz4YbEr7kONqbhgM/jzKarKo0yvbxOGPK1ptoGZ9eoOFJPA== 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 2/2] ch: add log level configuration option Date: Thu, 22 May 2025 08:21:22 +0200 Message-ID: <20250522062122.227648-3-stefan.kober@cyberus-technology.de> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250522062122.227648-1-stefan.kober@cyberus-technology.de> References: <20250522062122.227648-1-stefan.kober@cyberus-technology.de> X-ClientProxiedBy: FR4P281CA0449.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:c6::9) To BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM (2603:10a6:b10:46::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BEZP281MB1973:EE_|BEYP281MB3883:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e756afe-1620-4361-4bc0-08dd98f8e403 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|10070799003|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?Cr5LtPAfnsYoWUwPez7L0SfQiXa4lxwRuLb+RYnzMnCN11b7s7vvzTty9OMU?= =?us-ascii?Q?V8nKQ7I4vFeBmlzz5LZwOBv2mJGJdW6CI/hc8x7YL6fzyzBl//uJdp2ty5/Z?= =?us-ascii?Q?IM+MbGExSyi79QKCj5qcOQ8F8kiE/Z9uTJ6xEh2ydWYWDkX4aYVhKYvX+uyH?= =?us-ascii?Q?cy0n51tEF8diWkOhG0RoRP/u1J5DmxVEiohZ2BlENtWGEnQncdu8IlgaGBz3?= =?us-ascii?Q?4oy2bKPZbqjgJBECbqDBy0gf5bnmDiG+7tq08KH7MSisQ4Xro8/ZLIo5LXBE?= =?us-ascii?Q?cKoFq5uXgrRNHtQXbH5JTYSwIHnWCnGvj2ke4xpkMxirS4+d2DVaN6Db2onm?= =?us-ascii?Q?QM7CoqHuLdFgpOkHx2S99reCqjeqSuxNJczXRwhmnJH3jdu03Dz2SneuURRc?= =?us-ascii?Q?Pwzq2qS3fDmUVKahXlU/F1Z5XrJ1LQ2CBN6nnhACtUili6/4S8PBAjJRTaIp?= =?us-ascii?Q?udtvYSI01HnBkQ8HA5ySwTBtHss8KJFhtXiiFU3cJ2wqhWexN6dHdAay7Ahn?= =?us-ascii?Q?ZPIgOFkr1yjO4Ne2bLpv9wI5a24cPByKNKfWfMzLj1ee1A7FXqUzftsClIXI?= =?us-ascii?Q?9tDhjrj6CjyCYAGPFJ9OYxiuwEJFfk0wZgLyDCZ7jmG0YBewvu6BE2OfC4nt?= =?us-ascii?Q?OexNiBS8ZpOVcRZswXTQk/xXwGPOqoE720opuokndJc/yXh2cxJSkQGkldFy?= =?us-ascii?Q?9RUP5nVg+8+634iYbjPd1dWauREtuijbV1/zUn9HzumLJJDnGUpSFt9wEwAr?= =?us-ascii?Q?pGz+ct0wy88+KlNAsgRjW7eQOjtCHrSBBYUcYilKYFI8FlF9LQyXmKKRQnO2?= =?us-ascii?Q?LZO6Jk/PzzHOZ1dV1voHMvPL2MIWWzArzFQ4RB2Zg779TyElLnV8o3EUAKVa?= =?us-ascii?Q?HfCbmrWA7K9o2IT/ZaFHwOaVfTvWDDQ+2HhXPw7HxGfInNvzzTeAK2cF2jQV?= =?us-ascii?Q?xFP7SHX4pOPey7+e1KGHmPGd/0tcHy68bd76ZsSOCf0v3B7epiW8Jt7q8tnr?= =?us-ascii?Q?/WJTBlXKHSICGscIiwmZSDGIaGiTtKeZXUcDzuWa/fRg1pbxadrZIW7HAZiB?= =?us-ascii?Q?ZCJtH/maRzCXhs8U0/eBxWrTQmQjJVmSAaG9p/kAbJrKtBv/eXCvcYHgD6SQ?= =?us-ascii?Q?sLG0uHaMBCtoigvwNgpWAr6XzZ/00TKks7kkq6wRxwpmSj5PeGbAkdtY0mLT?= =?us-ascii?Q?cE/j4dDE0RgbX5dZphCu/SH0ojH1wIA6n3b+e1qUmCL8UvYP9hgIidkk6Ds3?= =?us-ascii?Q?L9uq5ueiyXL7ltTRHhF83B0j5jpMUGNuWoT9fMtGEA8cXQl9JrLUTyt+ouv3?= =?us-ascii?Q?x9M2mPKAO6wCiMK1ioDpuppHGV3TU/R/f2FJDa84JueJUr5Iif/acK5lTMgz?= =?us-ascii?Q?DF2WFNK7/vRvJWd7Q/qyVgjBSOOzowYzLt6PBIBQUUMmZoAXoyqpnlmWCwix?= =?us-ascii?Q?NltZu7J6G0g=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)(376014)(10070799003)(1800799024);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?rsYN9xY4tubx1o/6aNiYauE7OoHXfRNxmQZPMIuAOiCw41OimcXZwBO14k/n?= =?us-ascii?Q?3KVTt9UzTE9w3nl2ieschYpzHKB+98VIpNhMHV3ycpdVRH7onR8JLJzc/ESb?= =?us-ascii?Q?X7dWYGnahjL+6cc+sXRRZXyt6vnvvOoc40RaMLKjPwhO6rsTGKzklqnk2e8d?= =?us-ascii?Q?TqyRWzadyGkog9D2LBAfo+1iyjJQ240P3bRsWn3fWwuAgjCu2n4bGVYp2xl/?= =?us-ascii?Q?KgJYRa5byhtVKCYttnXb8MowoqFxYT8z6/nIq8ItAYmCA0/XvbBBufDUafDn?= =?us-ascii?Q?pVtD02Yj4miWbjNfBNdLrZ0kgnAtsDO/SnK2v4k2/lkTbbhd+NdFeoKtzJEP?= =?us-ascii?Q?CDM2AcED3cehVUvcPsiBBp/JosMkjNVJyz3x5iG/uUSG8tD7tzfcGgSbJkoQ?= =?us-ascii?Q?hyUtgUgxRCKR6qvu79tZMRMdMZHURFaviVuPHyR7z7Zi4kIwUEJovvX4yabc?= =?us-ascii?Q?38/EY8+kyxDCNOcbvg748ZB9WK5IfPMArcV4jubuVhtTyhX6UOOvpGdhdN1x?= =?us-ascii?Q?liGT7wAAChje4uXf1EcMyV9umsLrb4HRjcdtSyPlFVeXb3Atffg2LDusRHgp?= =?us-ascii?Q?LEYIIuQLIxK4FqUg808HabI8Fr8ZGsg3diyOnA50A7Di0zlu0b09EnK2evFe?= =?us-ascii?Q?i6+eOPKTVM4GAVQKjwULjXBKllIRiBVGGTLUcU4+Gj3IBvZgyf+dZbVoNN1L?= =?us-ascii?Q?QvgO/FoO+IsC23q2b6TIfcX9YwDM62y5XFf1AOX3KqzmvcQbKM1DygPKhggM?= =?us-ascii?Q?EbNUe6nNDKd8L0v4vOK77ycl1dS4CInagQfo1TUIDRzI9ni8CknN4nNqGNd3?= =?us-ascii?Q?r9bM9aqbtrUdYGfA7xEV9/Md26Bq+wsUCY3zpagN+glciiNihZG4CY70ZoAl?= =?us-ascii?Q?1rPXBgA9Ypz8g/ldeuCPyg0WsYBGj6h62XM9HeSCGk/ESfpnq+A6+qSALNX+?= =?us-ascii?Q?rPVqSLJu27Cw13u4uosUqcr23Yc0XyzhMD8GuWiFNZzV00ln3oh9VmrHWrTI?= =?us-ascii?Q?SawDSXm3PvrGRmzUoaQVWpyD83mg8lqKNtAvrOxAB6KxTMTbeVX6sVzmqA0o?= =?us-ascii?Q?SxpMthNxwlUR6jqx7OfjpPYJR+O7ru2MnvcxJ9RT1dKBmGFjmOCOmy4Woxsw?= =?us-ascii?Q?VtYA7kH4UkLwoLR3DDpP77nycN/Tpkwm0Urid2weD2Jy5zDhYjRpsMIEPR6b?= =?us-ascii?Q?3vX0S95AFf8wv+RaqAxEVb36DABaJ48Ti+IAwJr8BJuCUm/dIiMmyZ2kXZqC?= =?us-ascii?Q?A9z4F4YxJZmTsnMsxzXn3M0psiCWT4l3Wxa60SYDu2CAUNYBMhUCzENiRT1V?= =?us-ascii?Q?XbEtDFeiW7297E+HayvYbW7wnoQFsI7xB6vKGd/Zfiw4t6D7BCdgpphmmtXo?= =?us-ascii?Q?kumhwlE68i6oNhfoDD5UJZ68kNJSZaYwIMPOqBkMaSahbic/13Wyx2ptCv45?= =?us-ascii?Q?khlnJm2PRENMF7qGgEsY4VXRwVZMRyfNmeKiQF5LPez4e/i3TjGpGxfYO+e7?= =?us-ascii?Q?8d8PpLblShS7SzKX1ibaruwwRzGTyfK0OoF2obg5P1Fc+nRTcztZQ0R9bkjz?= =?us-ascii?Q?L8P2uVLCQxfZsR6h/RIZ0j3SLbGZ7VS4XtWHO1cJRPBAKpl/NDIWlD0H4qLV?= =?us-ascii?Q?4nRKxO3+IFGWapztp7R82k1zkdaa3PVLFuGU0swV1xmTBXeElmdiO6gjNJYh?= =?us-ascii?Q?WRDLk6hAzsKlr6Izu1iI94FmyuA=3D?= X-OriginatorOrg: cyberus-technology.de X-MS-Exchange-CrossTenant-Network-Message-Id: 1e756afe-1620-4361-4bc0-08dd98f8e403 X-MS-Exchange-CrossTenant-AuthSource: BEZP281MB1973.DEUP281.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 May 2025 06:21:30.3560 (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: 51rULigSfHB6s0C8vdQMTZXU9ZwedFi+T7fEZmjZJ3jjJhWSsiJi2xeqHgcolev8fCt6S+uKn8wnnIY82GArIsEcLUYrsFQH0vHDPRLqiZtInQUz7IYZEmlCuzqO+Rag X-MS-Exchange-Transport-CrossTenantHeadersStamped: BEYP281MB3883 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: CGC4DUQRPXBHXGMHZIIINU547I74CLWE X-Message-ID-Hash: CGC4DUQRPXBHXGMHZIIINU547I74CLWE X-MailFrom: stefan.kober@cyberus-technology.de X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: Stefan Kober X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-ZohoMail-DKIM: fail (Computed bodyhash is different from the expected one) X-ZM-MESSAGEID: 1747894940346116600 Content-Type: text/plain; charset="utf-8" Allow a user to set the verbosity of the cloud hypervisor instances by specifying it in the ch.conf configuration file. --- src/ch/ch_conf.c | 10 ++++++++++ src/ch/ch_conf.h | 15 +++++++++++++++ src/ch/ch_monitor.c | 6 ++++++ 3 files changed, 31 insertions(+) diff --git a/src/ch/ch_conf.c b/src/ch/ch_conf.c index 7d3f600707..3e700586ca 100644 --- a/src/ch/ch_conf.c +++ b/src/ch/ch_conf.c @@ -98,6 +98,16 @@ int virCHDriverConfigLoadFile(virCHDriverConfig *cfg, if (!(conf =3D virConfReadFile(filename, 0))) return -1; =20 + if (virConfGetValueUInt(conf, "log_level", &cfg->logLevel) < 0) + return -1; + + if (!(cfg->logLevel < VIR_CH_LOGLEVEL_LAST)) { + VIR_WARN("Invalid log level %u. Using default %u instead.", + cfg->logLevel, + VIR_CH_LOGLEVEL_DEFAULT); + cfg->logLevel =3D VIR_CH_LOGLEVEL_DEFAULT; + } + return 0; } =20 diff --git a/src/ch/ch_conf.h b/src/ch/ch_conf.h index 2f0d090d35..1660762f2b 100644 --- a/src/ch/ch_conf.h +++ b/src/ch/ch_conf.h @@ -34,6 +34,19 @@ typedef struct _virCHDriver virCHDriver; =20 typedef struct _virCHDriverConfig virCHDriverConfig; =20 +typedef enum { + /* Standard log level only showing warning and error messages. */ + VIR_CH_LOGLEVEL_DEFAULT =3D 0, + + /* Additional info messages are shown. Will not spam the log. */ + VIR_CH_LOGLEVEL_INFO, + + /* Additional debug messages are shown. Will be very verbose. */ + VIR_CH_LOGLEVEL_DEBUG, + + VIR_CH_LOGLEVEL_LAST +} virCHLogLevel; + struct _virCHDriverConfig { GObject parent; =20 @@ -48,6 +61,8 @@ struct _virCHDriverConfig { gid_t group; =20 bool stdioLogD; + + virCHLogLevel logLevel; }; =20 G_DEFINE_AUTOPTR_CLEANUP_FUNC(virCHDriverConfig, virObjectUnref); diff --git a/src/ch/ch_monitor.c b/src/ch/ch_monitor.c index 3d3b4cb87d..6bf877fef3 100644 --- a/src/ch/ch_monitor.c +++ b/src/ch/ch_monitor.c @@ -698,6 +698,12 @@ virCHMonitorNew(virDomainObj *vm, virCHDriverConfig *c= fg, int logfile) return NULL; } =20 + if (cfg->logLevel =3D=3D VIR_CH_LOGLEVEL_INFO) { + virCommandAddArg(cmd, "-v"); + } else if (cfg->logLevel =3D=3D VIR_CH_LOGLEVEL_DEBUG) { + virCommandAddArg(cmd, "-vv"); + } + virCommandAddArg(cmd, "--api-socket"); virCommandAddArgFormat(cmd, "fd=3D%d", socket_fd); virCommandPassFD(cmd, socket_fd, VIR_COMMAND_PASS_FD_CLOSE_PARENT); --=20 2.49.0