From nobody Tue May 14 08:53:45 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) client-ip=170.10.129.124; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-124.mimecast.com; Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 170.10.129.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=quarantine dis=quarantine) header.from=suse.com Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by mx.zohomail.com with SMTPS id 1648499941828354.86069834566865; Mon, 28 Mar 2022 13:39:01 -0700 (PDT) Received: from mimecast-mx02.redhat.com (mx3-rdu2.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-279-T99kwVt5MOC4vJdHHe8DgA-1; Mon, 28 Mar 2022 16:38:57 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.rdu2.redhat.com [10.11.54.2]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 228FD382055C; Mon, 28 Mar 2022 20:38:55 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com [10.30.29.100]) by smtp.corp.redhat.com (Postfix) with ESMTP id AA145403D198; Mon, 28 Mar 2022 20:38:53 +0000 (UTC) Received: from mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (localhost [IPv6:::1]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 68DE11949761; Mon, 28 Mar 2022 20:38:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.rdu2.redhat.com [10.11.54.8]) by mm-prod-listman-01.mail-001.prod.us-east-1.aws.redhat.com (Postfix) with ESMTP id 763211947BBF for ; Mon, 28 Mar 2022 20:38:51 +0000 (UTC) Received: by smtp.corp.redhat.com (Postfix) id 2B623C15D59; Mon, 28 Mar 2022 20:38:51 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast04.extmail.prod.ext.rdu2.redhat.com [10.11.55.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 26A38C15D40 for ; Mon, 28 Mar 2022 20:38:51 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0546F100BAB5 for ; Mon, 28 Mar 2022 20:38:51 +0000 (UTC) Received: from de-smtp-delivery-102.mimecast.com (de-smtp-delivery-102.mimecast.com [194.104.111.102]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-653-dbynrI3IM6mG1tbFtH9mbQ-1; Mon, 28 Mar 2022 16:38:45 -0400 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2057.outbound.protection.outlook.com [104.47.12.57]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id de-mta-30-ezbSuC6dPtW0xT-UVAVNVQ-1; Mon, 28 Mar 2022 22:38:42 +0200 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) by PAXPR04MB9277.eurprd04.prod.outlook.com (2603:10a6:102:2b9::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5102.22; Mon, 28 Mar 2022 20:38:41 +0000 Received: from AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::f49d:89af:8674:741e]) by AM0PR04MB4899.eurprd04.prod.outlook.com ([fe80::f49d:89af:8674:741e%6]) with mapi id 15.20.5102.023; Mon, 28 Mar 2022 20:38:41 +0000 X-MC-Unique: T99kwVt5MOC4vJdHHe8DgA-1 X-Original-To: libvir-list@listman.corp.redhat.com X-MC-Unique: dbynrI3IM6mG1tbFtH9mbQ-1 X-MC-Unique: ezbSuC6dPtW0xT-UVAVNVQ-1 From: Jim Fehlig To: libvir-list@redhat.com Subject: [PATCH] qemu: capabilities: Remove check for /usr/libexec/qemu-kvm Date: Mon, 28 Mar 2022 14:38:38 -0600 Message-ID: <20220328203838.2970-1-jfehlig@suse.com> X-ClientProxiedBy: AS9PR06CA0232.eurprd06.prod.outlook.com (2603:10a6:20b:45e::29) To AM0PR04MB4899.eurprd04.prod.outlook.com (2603:10a6:208:c5::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9b27518c-7129-4cf9-88ad-08da10faf18e X-MS-TrafficTypeDiagnostic: PAXPR04MB9277:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0 X-Microsoft-Antispam-Message-Info: rdNFPFz11H5c84abL6wzZbGNVYnSMAr/ApIQqvR67QMySH7tr0Zm+kFNjdz7C57XuVJqPFcpmkAEfW8QY+dTwLVGXArPNZ7H9L4ZPV/lMVN5Hsl05jFhn3ZJPPUx0QCZGhdtIKW+Myfm8lyXn7mOvnZd1MuP9zLETBm/NXBi72/WNziCpTLjXNXDqUuGShjc5/Gwu9c34Rmt4/m0JSdlPAIRs52tFi2zR4KB4FsaO/CBsi7AMimEq5LTwr/j5VR0T1wKewzYjHVqmK5ACeXRV61V13hio3tbBbmUUj2QpteHujhGuxiijgdPsFaV0QsPvCm8pW18cdfZQ8Okxt4V1130PKV77svsEDZjDr9QiZK+VUCv+BKGafND2xYL76FHqY0rVogOQaSQa0iyeL4Ybi/Lyhmtw09H9xGTIeAGNiX/9khQTqg2KqL8lnQHr8kEhmt8CYk8VRS6UMEnvS1iUOQxvSToycAGhVohOeBPh+oxzPCooHElUP1hCjV+sn3wB5t18EQ81kCtw8TD9ugkVfyl5ohadcHZD19VRIYpvMCNQDpmfJe5b3V9+rNgLTfd/Ai4kvZUqb16Go0z8nUrSaWd3EvBakIwlamu+0CMqmpMxV5OdTwlGxFfmlCxD/hHqXsxSOcke1fnoWApIcVBQA== X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM0PR04MB4899.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(8676002)(6666004)(66556008)(6486002)(6512007)(66476007)(6506007)(86362001)(8936002)(186003)(38100700002)(66946007)(6916009)(508600001)(2906002)(36756003)(2616005)(5660300002)(1076003)(26005)(83380400001)(316002); DIR:OUT; SFP:1101 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?vCPeLcf9eBHT6YBeq/JvefZMoFsNiK+JRJ970SgS1fNwg+zCJEjrGtUoLdX2?= =?us-ascii?Q?qSXM7L7ZrqVQiNyFjCQwl1DIVQQ0sHFaL00jd9I5h6LeFHAwqXuJJ1MT6214?= =?us-ascii?Q?KDJrHtpRqX7nH68jzjfsmrIxL5SqWlJbBsE2akoNYVNriYT1MZOorgFAWUFr?= =?us-ascii?Q?zKIzoynj7RwacwDRE5bCzYdNwhru6chU+WlAruVOL4CAzSN7jsW8NdtqjhnG?= =?us-ascii?Q?xw0j1NUAE+plsgKcgNKnfd14fsCccNQc5ZnJqo78YhZAVcbPCgdiFWylqLAR?= =?us-ascii?Q?rnvCBOMrwdZP7kSNd3mvOpLvyhCsB4yuy1tvSKGDsknVqAPTWyYtscuRcjhl?= =?us-ascii?Q?hPT36F7mQFrQPDGlKFS62K95mH++X0QzeMYg1zBiE9+nX7NCX/8hMn8zw8/d?= =?us-ascii?Q?prstfBQ9OmcpVZ97qhYea4HwplV4DKKDvobaTIVXiL0ePHTHd/t17FLvSzIh?= =?us-ascii?Q?VinOCwOsEjzSFU5yreog8lYfT6bYoAw1sdViz2Q14ChBrZFweaiFo5V1d/FZ?= =?us-ascii?Q?UgfSdXKSbqZUXiogU96FPojBNLbwG0yNmdD+yyFdXjGPpfCkeeRvleQ5uKaq?= =?us-ascii?Q?ZpU4EQHbe8mdtvsbq5rflO+b9LBrcuiwidNnpruLjHJHSOyEZ7vZHohqMY7P?= =?us-ascii?Q?PEIjFVLTZKghb5ZbslHQRdk5W+hpgUS0PLu/UTWFCI7KT5ukYD1La0dIw/rX?= =?us-ascii?Q?VmXSGsshPyAjcpohlUfRXWAXsDuWZhF7q72BcoBBMB/IMKT+91IlTAQJxnCG?= =?us-ascii?Q?SNbfufh7XAkDGxRe7UnUn7i5+J9av9Jov5baGjYXECF4wj4Mcx6NBThIpSp4?= =?us-ascii?Q?qTPrpBJMI8UOndeaDJPOQs9TrgeZ/1iWYtJNSank+2OO2/LVJWtGPJwgQTmu?= =?us-ascii?Q?F7QtiNh8rww1JUtJvnp1TmTrXPSxCH71S0FAt7z/VpI+WRj0bEryqASciL8P?= =?us-ascii?Q?9f9vacJqq1QZQB6FahWBKXCfxOiUTWpH3LW7iL0vY5ZY47qD4F6UIHo3aefA?= =?us-ascii?Q?HdwPyu3o7C7uUbx+L/f8+DxyhwL2ewpJP432Rgvlu2H1KWCVrxCcAdAnFtP3?= =?us-ascii?Q?NV9l01StRoe+I21oMaGcQ1ygRc9gtXQFgYAASsx094iaSzP9IaXfm58P38pF?= =?us-ascii?Q?ednmNmNfLl8Fd3jgCiE5bWaGUxOwiyBokFZ4nmikBMlcSrFdWciWQZuCl8BQ?= =?us-ascii?Q?/lZCtMtx6MsmJjEjMWCkxlhE16fHLANG1AH6CPdfHHvtwll+K2I87+dxO4cQ?= =?us-ascii?Q?0u7oL6XcwtBkYKPXS8xpYbMFhy3kj9N9qqRqNAiZtnmudX5cxUPYGrIeBFV9?= =?us-ascii?Q?BX4uGN5EcN/kZBraqzHzjjbrcfe6ueeoWB6lXC8x/0cFi7PVzfu9xuMydSUT?= =?us-ascii?Q?5kzyqH3/bdHDH9fHVQnJin0VjHL+Mm8HgAOrNdG+ZvPM2PWVXQbEGULn2o6D?= =?us-ascii?Q?YEUFYrKPykzjfHJ2dwFIBNXKcbZoVMaFwNrhZvojZYPyrDXjqds84mE+Gwmx?= =?us-ascii?Q?1TPPy0Wd/g5xgZBJVHlBH8NX7sQRcgPSHJ8e9sV5g4qAl+G5pAidXQK8qkDB?= =?us-ascii?Q?9CnsdQjIMe0xsDuJ+HgIukp1Z5lNHjml/aZjmS70PZr0zgAj6aeFjfI8eBTP?= =?us-ascii?Q?fWOF8l57nb7KydVjb41v0Lcbsuxc6TMRZ+Tw7W21j8q5QN0/Wxvjj0jUfBFe?= =?us-ascii?Q?//LgYcfdGgaHmwnEmU6IwWzC3o2F0TOBscbDi4o23ym/wlAk7qeQhxjkgSgW?= =?us-ascii?Q?w48qsJQ+BQ=3D=3D?= X-OriginatorOrg: suse.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b27518c-7129-4cf9-88ad-08da10faf18e X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB4899.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Mar 2022 20:38:40.9677 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: f7a17af6-1c5c-4a36-aa8b-f5be247aa4ba X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: h69nf4GW4CDE17wAitxHTVp4KO7EB19L/QTKehikMIB3OxaMXBewPKr3hTzT4zptV5J1uLyTM5UfFwO+MKF0+g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB9277 X-Mimecast-Impersonation-Protect: Policy=CLT - Impersonation Protection Definition; Similar Internal Domain=false; Similar Monitored External Domain=false; Custom External Domain=false; Mimecast External Domain=false; Newly Observed Domain=false; Internal User Name=false; Custom Display Name List=false; Reply-to Address Mismatch=false; Targeted Threat Dictionary=false; Mimecast Threat Dictionary=false; Custom Threat Dictionary=false X-Scanned-By: MIMEDefang 2.85 on 10.11.54.8 X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libvir-list-bounces@redhat.com Sender: "libvir-list" X-Scanned-By: MIMEDefang 2.84 on 10.11.54.2 Authentication-Results: relay.mimecast.com; auth=pass smtp.auth=CUSA124A263 smtp.mailfrom=libvir-list-bounces@redhat.com X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1648499942798100001 Content-Type: text/plain; charset="utf-8" A downstream packaging bug resulted in a scenario where no aarch64 emulator binary was installed on a kvm host. Querying capabilities on the host succeeds and the capabilities correctly report that no 's are supported, but the following error is logged libvirtd: Cannot check QEMU binary /usr/libexec/qemu-kvm: No such file or d= irectory This error is confusing and not very helpful. Additionally, comments in the associated code note that /usr/libexec/qemu-kvm is disto-specific, which suggests the logic is better suited for a downstream patch. Removing the check for /usr/libexec/qemu-kvm leaves virQEMUCapsGetDefaultEmulator() as nothing more than a needless wrapper around virQEMUCapsFindBinaryForArch. Drop virQEMUCapsGetDefaultEmulator() and call virQEMUCapsFindBinaryForArch() directly in its place, which squelches the unhelpful error. Signed-off-by: Jim Fehlig --- src/qemu/qemu_capabilities.c | 25 +++---------------------- src/qemu/qemu_capabilities.h | 5 +++-- src/qemu/qemu_domain.c | 2 +- 3 files changed, 7 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 6b4ed08499..c866c5acf6 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -915,7 +915,7 @@ virQEMUCapsFindBinary(const char *format, return ret; } =20 -static char * +char * virQEMUCapsFindBinaryForArch(virArch hostarch, virArch guestarch) { @@ -949,25 +949,6 @@ virQEMUCapsFindBinaryForArch(virArch hostarch, } =20 =20 -char * -virQEMUCapsGetDefaultEmulator(virArch hostarch, - virArch guestarch) -{ - char *binary =3D NULL; - /* Check for existence of base emulator, or alternate base - * which can be used with magic cpu choice - */ - binary =3D virQEMUCapsFindBinaryForArch(hostarch, guestarch); - - /* RHEL doesn't follow the usual naming for QEMU binaries and ships - * a single binary named qemu-kvm outside of $PATH instead */ - if (virQEMUCapsGuestIsNative(hostarch, guestarch) && !binary) - binary =3D g_strdup("/usr/libexec/qemu-kvm"); - - return binary; -} - - static int virQEMUCapsInitGuest(virCaps *caps, virFileCache *cache, @@ -978,7 +959,7 @@ virQEMUCapsInitGuest(virCaps *caps, virQEMUCaps *qemuCaps =3D NULL; int ret =3D -1; =20 - binary =3D virQEMUCapsGetDefaultEmulator(hostarch, guestarch); + binary =3D virQEMUCapsFindBinaryForArch(hostarch, guestarch); =20 /* Ignore binary if extracting version info fails */ if (binary) { @@ -5878,7 +5859,7 @@ virQEMUCapsCacheLookupDefault(virFileCache *cache, } =20 if (!binary) { - probedbinary =3D virQEMUCapsGetDefaultEmulator(hostarch, arch); + probedbinary =3D virQEMUCapsFindBinaryForArch(hostarch, arch); binary =3D probedbinary; } if (!binary) { diff --git a/src/qemu/qemu_capabilities.h b/src/qemu/qemu_capabilities.h index 948029d60d..d0e776a5c4 100644 --- a/src/qemu/qemu_capabilities.h +++ b/src/qemu/qemu_capabilities.h @@ -752,8 +752,6 @@ const char *virQEMUCapsGetMachineDefaultRAMid(virQEMUCa= ps *qemuCaps, void virQEMUCapsFilterByMachineType(virQEMUCaps *qemuCaps, virDomainVirtType virtType, const char *machineType); -char * virQEMUCapsGetDefaultEmulator(virArch hostarch, - virArch guestarch); =20 virFileCache *virQEMUCapsCacheNew(const char *libDir, const char *cacheDir, @@ -789,6 +787,9 @@ bool virQEMUCapsSupportsGICVersion(virQEMUCaps *qemuCap= s, const char *virQEMUCapsGetPreferredMachine(virQEMUCaps *qemuCaps, virDomainVirtType virtType); =20 +char *virQEMUCapsFindBinaryForArch(virArch hostarch, + virArch guestarch); + int virQEMUCapsInitGuestFromBinary(virCaps *caps, const char *binary, virQEMUCaps *qemuCaps, diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 18d403e099..81b56b4233 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4607,7 +4607,7 @@ qemuDomainDefPostParseBasic(virDomainDef *def, =20 /* check for emulator and create a default one if needed */ if (!def->emulator) { - if (!(def->emulator =3D virQEMUCapsGetDefaultEmulator( + if (!(def->emulator =3D virQEMUCapsFindBinaryForArch( driver->hostarch, def->os.arch))) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("No emulator found for arch '%s'"), --=20 2.35.1