From nobody Sat May 30 15:28:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; 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 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779520979; cv=none; d=zohomail.com; s=zohoarc; b=LggxKWKpWpueTRy8t3y4qrQ49v2L3Q4V8OorPrEaiJ8WrGrVJMt1WaKzvQabbUWKNs5fpMpDs3wArU2hALhMgFjYm+lJf5ecRHrYUyzVaKRFAvGjRYzBE+kt49TiIn8JReGVQG45gtCTjGqJIGldC31jqd0tJ+9TdvKdNkrZFuc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779520979; h=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=jD+pPY3X0FnSk53/hPMN1eus7hVdky0hY80BNIBnO98=; b=dOPWRaQmssqN9mJYpFF/BTTfuZ433J9kFv/idkNUynxBbn1iFWtzmrtLNvBs1ZkHmrp2o+W2FHCNc0G4rEtKY5Mm/1GJsoR95RxPTjRrhu/kE3Scq3nt6TkraeIKp8/2ojXEgD6sey9cjx2uI/SRZoZSmYqybi2BWyRp7/iN86A= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1779520979169875.7335384946886; Sat, 23 May 2026 00:22:59 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 039E941ABA; Sat, 23 May 2026 03:22:57 -0400 (EDT) Received: from [172.19.199.4] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id D13A641C32; Sat, 23 May 2026 03:20:49 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 6EA6C41AAD; Sat, 23 May 2026 03:20:35 -0400 (EDT) Received: from mail-ej1-x62b.google.com (mail-ej1-x62b.google.com [IPv6:2a00:1450:4864:20::62b]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A331C41AAD for ; Sat, 23 May 2026 03:20:33 -0400 (EDT) Received: by mail-ej1-x62b.google.com with SMTP id a640c23a62f3a-bd8d0e4e341so1123927566b.0 for ; Sat, 23 May 2026 00:20:33 -0700 (PDT) Received: from tulp.my.domain (2001-1c02-1a15-3000-ee82-4536-a8f2-9e22.cable.dynamic.v6.ziggo.nl. [2001:1c02:1a15:3000:ee82:4536:a8f2:9e22]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bddc61de4c4sm144897066b.42.2026.05.23.00.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 00:20:31 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779520832; x=1780125632; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=jD+pPY3X0FnSk53/hPMN1eus7hVdky0hY80BNIBnO98=; b=bbn2MWgpVCPmDtg+mQLNzeC79M46GoU99yNt+Pa/apRJOmWlNTDcJBIdBRvjWexBXo xcUZ7hGWQKn8VhIsc99yrH8R1TVrZZt7lylhwGq9fsJtVx45RlajEOZymhtcNRzt7Npj pWHp/MO3CQbnidUxxBzAMW1/cLbGU94Wqcy3CRIsCr8naGIIhy9N5bBAkRYr7G6gIIS4 T/iY7hh7qotDiuJFADgfuoug+aZk+7828ZmWqE9oMKefiR7QmeeDGn1D3R9HPXGV/xAR +SMjnLO7rj2lzfwuv+epWUg8U62Ak23vEIUD60OKD3U8DKdj6XVEyv1vSYMDo60LG/41 1RCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779520832; x=1780125632; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=jD+pPY3X0FnSk53/hPMN1eus7hVdky0hY80BNIBnO98=; b=IYQRVs1QzaQpRs4Axwaag5rJqxmr36iwIB+B0TfuRcJ2R2x9R8SnlParn/aEU+t4Tm +m+Po7zOtCqWnEAQvW2x9BPJgy6lF/vs0UjMzlBT/Hn4UF2XwsMxWrEOsAcdScFp0gpL gE/2A2IfaX6jsHLgwWvAvq4OutHG4ub0wU1iDNJdQx5WXPi3f+b4nOQ62DnmxaOxUT0E dy0pmGbKc0VtqLxoQ6if0C41s5kYZSfvJXCfTcEGqjQVKRoDetqfSJYva1vJaR6LCnPY 197QpPZqRPxGZ+WksYq6OTUMdURzsyo50wTVYveKhE0y8MDiFmKBb7Zm2UxPRNBPX/4b cfTw== X-Gm-Message-State: AOJu0Yy50irf4gJvLlbam3WDQJ4mVgKrixC+s/cb/9ydMJWzVy7AcojI dHgSyKvf5O8T5Aa1vM1gSU0j8dFwQUP6xOqZILuAwZ/8q3zWu+Y2pVoIlnOl5huE X-Gm-Gg: Acq92OHzI4t9pXtg2aC3ofbYz8oddh1KowsP8d/4bMWFVhCa2TU60xDWdSUF7Zznw1u jt0/IKcY/l/pkQwlWX/+PsDWVsTAoDQYCUjoCkM9fu7JwPJ0nw92zcEN20UStwr/NdlKjk1Ew3S DLRP2fGAaGoo8rZDPThuzf8o0exoCiJ+Uio2t9yoPkV43N8RwvrYIav9gxZmost7bRJMGSBv7u5 x9JQq9p8A7G8ebBOJ4nRlQZsnKu8fvNhzwPlckUkDmLBESF7WGTxFSUuimkFRtqYR54iOXSyc8j EyrcB46UGiBAIviuFZsZ0oAbULLP/1VSCOorQs6k/+ircSfwUZt7IHiJqHyWcmXNbTo5wYyX3is ZHzVVAglF+Z/Qi8g0v1/N/zEGkOchQAkU44RHfILphXc3ILcrHkk1vISWmWJ1KguPyu/eqCCFR1 TCB42MC6HbP4al/G03JPAddKKXPQ7rUTJmSKxQ6ySZqj37b1sW8Yr8yFJ3lYj8F1nIOtinsAl1z QS8TZ7R11Pi1hdV1FLsYeJha8P+U/jsE6dUsA== X-Received: by 2002:a17:907:60cb:b0:bd7:bbae:2002 with SMTP id a640c23a62f3a-bdd22a3d558mr411630666b.7.1779520831849; Sat, 23 May 2026 00:20:31 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 1/5] bhyve: reorder qemu agent code Date: Sat, 23 May 2026 09:16:41 +0200 Message-ID: <20260523071645.40223-2-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260523071645.40223-1-bogorodskiy@gmail.com> References: <20260523071645.40223-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 34HDLVHRM2ONSFINTPRDMJU2CDDIVM6Q X-Message-ID-Hash: 34HDLVHRM2ONSFINTPRDMJU2CDDIVM6Q X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1779520980867154100 Content-Type: text/plain; charset="utf-8" Move all the helpers to the beginning for the file to be able to use them in every API implementation. Signed-off-by: Roman Bogorodskiy Reviewed-by: Peter Krempa --- src/bhyve/bhyve_driver.c | 181 ++++++++++++++++++++------------------- 1 file changed, 91 insertions(+), 90 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 331d9eb439..075b8ea64f 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -93,6 +93,97 @@ bhyveAutostartDomain(virDomainObj *vm, void *opaque) } } =20 + +static qemuAgent * +bhyveDomainObjEnterAgent(virDomainObj *obj) +{ + bhyveDomainObjPrivate *priv =3D obj->privateData; + qemuAgent *agent =3D priv->agent; + + VIR_DEBUG("Entering agent (agent=3D%p vm=3D%p name=3D%s)", + priv->agent, obj, obj->def->name); + + virObjectLock(agent); + virObjectRef(agent); + virObjectUnlock(obj); + + return agent; +} + + +static void +bhyveDomainObjExitAgent(virDomainObj *obj, qemuAgent *agent) +{ + virObjectUnlock(agent); + virObjectUnref(agent); + virObjectLock(obj); + + VIR_DEBUG("Exited agent (agent=3D%p vm=3D%p name=3D%s)", + agent, obj, obj->def->name); +} + + +static bool +bhyveDomainAgentAvailable(virDomainObj *vm, + bool reportError) +{ + bhyveDomainObjPrivate *priv =3D vm->privateData; + + if (virDomainObjGetState(vm, NULL) !=3D VIR_DOMAIN_RUNNING) { + if (reportError) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("domain is not running")); + } + return false; + } + + if (!priv->agent) { + if (bhyveFindAgentConfig(vm->def)) { + if (reportError) { + virReportError(VIR_ERR_AGENT_UNRESPONSIVE, "%s", + _("QEMU guest agent is not connected")); + } + return false; + } else { + if (reportError) { + virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", + _("QEMU guest agent is not configured")); + } + return false; + } + } + return true; +} + + +static int +bhyveDomainEnsureAgent(virDomainObj *vm, + bool reportError) +{ + bhyveDomainObjPrivate *priv =3D vm->privateData; + + if (virDomainObjGetState(vm, NULL) !=3D VIR_DOMAIN_RUNNING) { + if (reportError) { + virReportError(VIR_ERR_OPERATION_INVALID, "%s", + _("domain is not running")); + } + return -1; + } + + if (priv->agent) + return 0; + + if (!priv->eventThread && + virBhyveDomainObjStartWorker(vm) < 0) + return -1; + + if (bhyveConnectAgent(NULL, vm) < 0) + return -1; + + return 0; +} + + /** * bhyveDriverGetCapabilities: * @@ -1907,96 +1998,6 @@ bhyveDomainInterfaceAddresses(virDomainPtr domain, } =20 =20 -static qemuAgent * -bhyveDomainObjEnterAgent(virDomainObj *obj) -{ - bhyveDomainObjPrivate *priv =3D obj->privateData; - qemuAgent *agent =3D priv->agent; - - VIR_DEBUG("Entering agent (agent=3D%p vm=3D%p name=3D%s)", - priv->agent, obj, obj->def->name); - - virObjectLock(agent); - virObjectRef(agent); - virObjectUnlock(obj); - - return agent; -} - - -static void -bhyveDomainObjExitAgent(virDomainObj *obj, qemuAgent *agent) -{ - virObjectUnlock(agent); - virObjectUnref(agent); - virObjectLock(obj); - - VIR_DEBUG("Exited agent (agent=3D%p vm=3D%p name=3D%s)", - agent, obj, obj->def->name); -} - - -static bool -bhyveDomainAgentAvailable(virDomainObj *vm, - bool reportError) -{ - bhyveDomainObjPrivate *priv =3D vm->privateData; - - if (virDomainObjGetState(vm, NULL) !=3D VIR_DOMAIN_RUNNING) { - if (reportError) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("domain is not running")); - } - return false; - } - - if (!priv->agent) { - if (bhyveFindAgentConfig(vm->def)) { - if (reportError) { - virReportError(VIR_ERR_AGENT_UNRESPONSIVE, "%s", - _("QEMU guest agent is not connected")); - } - return false; - } else { - if (reportError) { - virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s", - _("QEMU guest agent is not configured")); - } - return false; - } - } - return true; -} - - -static int -bhyveDomainEnsureAgent(virDomainObj *vm, - bool reportError) -{ - bhyveDomainObjPrivate *priv =3D vm->privateData; - - if (virDomainObjGetState(vm, NULL) !=3D VIR_DOMAIN_RUNNING) { - if (reportError) { - virReportError(VIR_ERR_OPERATION_INVALID, "%s", - _("domain is not running")); - } - return -1; - } - - if (priv->agent) - return 0; - - if (!priv->eventThread && - virBhyveDomainObjStartWorker(vm) < 0) - return -1; - - if (bhyveConnectAgent(NULL, vm) < 0) - return -1; - - return 0; -} - - static int bhyveDomainGetHostnameAgent(virDomainObj *vm, char **hostname) --=20 2.52.0 From nobody Sat May 30 15:28:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; 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 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779521105; cv=none; d=zohomail.com; s=zohoarc; b=asws7hm76VbuSDDWU1aaHr4cLrMieZDoOQdnQBKwOgvTfHYc2DLF06yRgGLUTrPkMCqv3KA+RwlJKDngYrk6x9oLiXL1ZVieS4qjO4/XdZ0umyqvGA2wu6O/Gbi983NKB11NNT0mcv5bG8vUrQy384DmjMFUek/nA+2TFPhiLpY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779521105; h=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=HNmdSq9pWlWt+UmSWqeHxelqCpamiZ+DIlH9qhC/5wM=; b=doXqe63ZgYSxFkNctRP/FLHPDMujbGAJNFQXRadb4AfWRpzeX2OF6AFoQmIJtVLRVXtBEmV3/Gn7Y5tNClTLzbiU1jExTiIvgCJs49oLygchDp4dEjb14pYgzSVw/DK60J7D8JtEgKeVXxfE9tQdJjGbiM2bicnB2SMXKVu3+T0= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1779521105074109.26594290237279; Sat, 23 May 2026 00:25:05 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id ECB2941AAF; Sat, 23 May 2026 03:25:03 -0400 (EDT) Received: from [172.19.199.4] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id BC88341CB7; Sat, 23 May 2026 03:20:58 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 2F31941A9F; Sat, 23 May 2026 03:20:36 -0400 (EDT) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 1E27441AC1 for ; Sat, 23 May 2026 03:20:34 -0400 (EDT) Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-bcc9fdc959cso1470350366b.2 for ; Sat, 23 May 2026 00:20:34 -0700 (PDT) Received: from tulp.my.domain (2001-1c02-1a15-3000-ee82-4536-a8f2-9e22.cable.dynamic.v6.ziggo.nl. [2001:1c02:1a15:3000:ee82:4536:a8f2:9e22]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bddc61de4c4sm144897066b.42.2026.05.23.00.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 00:20:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779520833; x=1780125633; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=HNmdSq9pWlWt+UmSWqeHxelqCpamiZ+DIlH9qhC/5wM=; b=hEPQ8dtfWmdW03I9O5msHPfHcgUkkt7/ntzDEVVd7JHZk0s0ereC5ygP/fOt4nmfnq 03VQrzO7HLs88VfUiR0BDLecS2IPJK06VO7RdtFOsAs3CZTDGX4t45IhjYwAOMpCM2gw 7Iqx9nHRSau4T+FEtlxNme85DjEcm9IE6bAzP+i+QxqI9t5JCEhdaDUXXiHfSIkxKPOF kAqgZOmfzP9D/kXu17JBj5qC5RmrmA32r7pfYCAXEEMKRBhmsJHASNkoX7gCrON52fYw Ghd4MttCcGD4MzNV7MycSmldMTJ4yuPK5B5YR7eVqS4wUOVy/mfJl75HXCGR7Syl0sSc yYtw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779520833; x=1780125633; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=HNmdSq9pWlWt+UmSWqeHxelqCpamiZ+DIlH9qhC/5wM=; b=CMXg0CL+sBfiTgBGz1NhBiRtJKDA6qWaugPLDLHVB7Z7iVdbFe3zriaXjkDQSxN71F xqpmVynmL6iKzWQ/qnWNneTRs78deyp3QFDzlidepsHDXEWWidou+fJrq9iG4915oUfy ruxee7G10Hq58Uk3ZeIgVfbz479KQQ2TgE42TdbcWuQ6ACokWxhJQwj8I7jJq44IHWV1 wUb2Kt3lsMiJUHUsqNXgt0k+5rYYIYyJrG1SfU2D/z88ZmuhwC/Qoey3BQhpedOmveLk Gy+cSgukMRlfPtULBJ4NCXrSSo4tZlzvpdLdiZfHrcEJgX8CMMe8xBQibAIAGX2kg0Bj dSLQ== X-Gm-Message-State: AOJu0YxulEAoaVUvBvjQgVarhXfO+ZDA2kse4NPRn/GNoCI1SbsfWYK5 KkEqclMmvZVlaieNcRD2vjPq2eqV+5Icrt7G/eblpPrK09YQd6PJjWbP7In0Br6z X-Gm-Gg: Acq92OEUyjcLb2+qkg1tgXcVsPlxYKBsX4OLgu98ESuNw3d4qcfz5oz9l46seGVKwxy XSoFB3ymY10+6q8Cezvty16IGau9oxUkWOyf3CWkuzUXWfelMor1GPA6LMqHuLKr8FK6hkvXZUh H5ae3CJVv5lX2z8R7X1cuQWwuMR+U8gajZVIsQJL+iZZ91Uq6veO3mwBBihguFD2NHOi1DSRorj TxDjg9Mz8dXcs+qPbcjOdyklYshTZ5cIAUqWodJtlpY+o0VSzx3sLaLBxmAGTwS7I1ZnMy7zbSU Qtg0SCpEAs9qZyJ10jjp+ChybEL9zppZMtholcI5RY6h1OV+COyFRg70LEjK4hmpMQtjI8CMA0d jTuVIOUEUp3dS61QcMyweDdYPsE2D0GGlLXe3NPLOJaOC1P8ytb0B+MFSdbMejpQU+CgfdUoWNC h5mfbWDbBZI+Om2NZq8eOAyM+F/Wd/TGDI0x6p2bCCETtlYmRYI0nNFYa5cXncoGNjYrP7ekY1W FrFwvhggjDsc2Sm5ID8beu6WEO30JERKkB5KyfvQLY4MA3M X-Received: by 2002:a17:907:cf8c:b0:bd8:bd2b:abbb with SMTP id a640c23a62f3a-bdd22938bc8mr389548466b.10.1779520832570; Sat, 23 May 2026 00:20:32 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 2/5] bhyve: support getting interface addresses from agent Date: Sat, 23 May 2026 09:16:42 +0200 Message-ID: <20260523071645.40223-3-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260523071645.40223-1-bogorodskiy@gmail.com> References: <20260523071645.40223-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 7UOXURQ3LJODMQBCZBLDZ4TELMJUWARA X-Message-ID-Hash: 7UOXURQ3LJODMQBCZBLDZ4TELMJUWARA X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1779521105389158500 Content-Type: text/plain; charset="utf-8" Extend bhyveDomainInterfaceAddresses() to support the VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT source. Signed-off-by: Roman Bogorodskiy Reviewed-by: Peter Krempa --- src/bhyve/bhyve_driver.c | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 075b8ea64f..2556384002 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -1957,6 +1957,7 @@ bhyveDomainInterfaceAddresses(virDomainPtr domain, unsigned int flags) { virDomainObj *vm =3D NULL; + qemuAgent *agent; int ret =3D -1; =20 virCheckFlags(0, -1); @@ -1971,6 +1972,22 @@ bhyveDomainInterfaceAddresses(virDomainPtr domain, goto cleanup; =20 switch (source) { + case VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT: + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + goto cleanup; + + if (bhyveDomainEnsureAgent(vm, true) < 0) + goto endjob; + + agent =3D bhyveDomainObjEnterAgent(vm); + ret =3D qemuAgentGetInterfaces(agent, ifaces, true); + bhyveDomainObjExitAgent(vm, agent); + + endjob: + virDomainObjEndAgentJob(vm); + + break; + case VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_ARP: ret =3D virDomainNetARPInterfaces(vm->def, ifaces); break; @@ -1979,12 +1996,6 @@ bhyveDomainInterfaceAddresses(virDomainPtr domain, ret =3D virDomainNetDHCPInterfaces(vm->def, ifaces); break; =20 - case VIR_DOMAIN_INTERFACE_ADDRESSES_SRC_AGENT: - virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, - _("Unsupported IP address data source %1$d"), - source); - break; - default: virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, _("Unknown IP address data source %1$d"), --=20 2.52.0 From nobody Sat May 30 15:28:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; 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 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779521055; cv=none; d=zohomail.com; s=zohoarc; b=Y0UozHJa/7MRIkm5TorJM5HKpNqdywgdYIqXF6xZE+FUKVWLbL3HOjmHHW5UBxTDgG1QD+Z2ooI0RUD8KzA2gLeI3pw+sS3d18+Y8Y7XkzZNdSS/GHL59cQHh4oJm9bG7LkLiN1ZwNEmn6/PYd4q1MNGrPLwcj6vmgPw5h593Ho= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779521055; h=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=C6hMMogsoKpM2Ch8zUGWvyAyVEHkrkp8+jiMvBL3EQQ=; b=exs1lIyE3y04pw+U3pesrYV+kGlINPPYJNUfKgTfHsiTmpdaEFBvNdbagIFDq3sHZfLX1dUeryn3KLGwLu8NGe4DFzHo3Mg53N+9JgXxaROlvupLUG+5hyljzzHXXXZ7YtHSj6l7f5gJIrxbsnIkap5xXx/uYRzRFI/xzNagyEs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1779521055055559.136460601646; Sat, 23 May 2026 00:24:15 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id AE5A441B02; Sat, 23 May 2026 03:24:13 -0400 (EDT) Received: from [172.19.199.4] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 75AEE41B35; Sat, 23 May 2026 03:20:54 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id BD62441AAD; Sat, 23 May 2026 03:20:35 -0400 (EDT) Received: from mail-ej1-x62c.google.com (mail-ej1-x62c.google.com [IPv6:2a00:1450:4864:20::62c]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B78A041AC4 for ; Sat, 23 May 2026 03:20:34 -0400 (EDT) Received: by mail-ej1-x62c.google.com with SMTP id a640c23a62f3a-bdb3eb93e20so544199466b.0 for ; Sat, 23 May 2026 00:20:34 -0700 (PDT) Received: from tulp.my.domain (2001-1c02-1a15-3000-ee82-4536-a8f2-9e22.cable.dynamic.v6.ziggo.nl. [2001:1c02:1a15:3000:ee82:4536:a8f2:9e22]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bddc61de4c4sm144897066b.42.2026.05.23.00.20.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 00:20:32 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779520833; x=1780125633; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=C6hMMogsoKpM2Ch8zUGWvyAyVEHkrkp8+jiMvBL3EQQ=; b=FvWp83MixT0Vf0FKPpdG15jaBDjaK5hGKS/MDEqMr75r7jID23DokyLWolMQJj3EMb TuWC5Im6Zt6tECckyAW7Q5THSSxkN8j8nhdIgGvENgngk+i3gxRutG69ux2CKT8D1+qa ZsLtHM7aygm4pxRqkTuswxJt5GH6rOl3dggem+nPQEdWlM+Zzt8ntRhgzFWD74aorsU2 10sW3wEg9pdBp4lRUc1yaTSwKggXcjTpXX8KrGY9Z8w6aDtP0WobSUs2tsh77DtIpK4s gffZs29WeaLlvEJzf3IY+zfpkINxaBozQCX3JHaqD1TUwwZ735PTJJwlcXMMdF+ta6BC xqPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779520833; x=1780125633; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=C6hMMogsoKpM2Ch8zUGWvyAyVEHkrkp8+jiMvBL3EQQ=; b=VsJb6jQdLp+McTbw8xMLCT9g355nFm3ug0jfdkg7tlRKti4VVwCRJTP90K/tDiexcX eCBdWdWqI/kSVAfYh+JoVG74lYy4cdXPi0vH8VmYkxVbkvZoSjXWeSn10YQ1NT8ov+2d ud8n/6uTBE4V5Sdec3WwZT9ey84p7J/IzZ1xO5lHX09YfITP7hBLszGsEBPhvWyLFz2y ey0jGhdZRqcmBLIhLSzfqXTCVXYL0EyeedDgGDRdP/hxEOPTihFQuWavSLRBjfDgUqgU vgeHck8mauqu8q+rWMiqb7/B+lXYzPkYEIjviJkmGyjUhFHcsGSomQRUjK6+FSlTYIV2 3Npw== X-Gm-Message-State: AOJu0YwElTWoIB2XbM6TYXhMZACBMQhZbZtgLd4Wd1/aINFRYTu2CXaO RX+8vFXnUBQutiuskk6+1GrC3ZK71DsMUO9kgiFMSg68Sf3fQ1ZY4eXoURyRzQ4F X-Gm-Gg: Acq92OHfSlL43Kggpyi1bhWDPDF71g6eLBFdZyWDMSU7KPKW4kmrirOa42Z7oLMozdo /gjoka5aH/ZQ5TJ4/juuaas7cbIvPU6TCz/QqKg4FkaZebFR5GYWl/y9FGpAbs/jDexqH2DPYS9 b32bgldsN+OjOMCsHlMFevLRbEZkcpR8hh3UwoJqWyUCimcZCKu7u660vG7a9b11PUSphQGnV0H XmkzHDCn8IqxTS9szV54eIynxRYPWRz/HgxTu7r8sa+HqG/2V/TpNL6RH451jQ6ApFqUz9QLlt+ Rf2jkYNfG4BgF2RRr8Z26s0knRaDnjaFn070JEXiu/TMQ/isbzSLmSn/Ez/V0tasleMH6wo0+Fq 3dpO2/nYOJdjRv1gcr2mi0zRtZme9Bxz/GVkQKmIgUsd+fhvHMjz1IKQj2sebFZcS8J8y6UaECN n1n6Ot15MortFrBEuTWTzv1Xe+g25wXmmse6l/N/XFqahYhjstCwXpbcyKcpt+T60cOrqryuwHU j/9v4RppJpPR+Veleiy71a+3h9UbHKHCFKFeg== X-Received: by 2002:a17:906:308e:b0:bce:f47c:9a81 with SMTP id a640c23a62f3a-bdd22a4020bmr362695366b.2.1779520833215; Sat, 23 May 2026 00:20:33 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 3/5] bhyve: implement the domainGetFSInfo() API Date: Sat, 23 May 2026 09:16:43 +0200 Message-ID: <20260523071645.40223-4-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260523071645.40223-1-bogorodskiy@gmail.com> References: <20260523071645.40223-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: XUAT5CMJKHCEC7LRXITGMA2KXJMP22DV X-Message-ID-Hash: XUAT5CMJKHCEC7LRXITGMA2KXJMP22DV X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1779521057037158500 Content-Type: text/plain; charset="utf-8" This implementation is identical to the one found in the qemu driver. Signed-off-by: Roman Bogorodskiy --- src/bhyve/bhyve_driver.c | 139 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 139 insertions(+) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index 2556384002..f93e6c7b68 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -2307,6 +2307,144 @@ bhyveDomainSetMemoryParameters(virDomainPtr domain, return ret; } =20 +static int +bhyveDomainGetFSInfoAgent(virDomainObj *vm, + qemuAgentFSInfo ***info) +{ + int ret =3D -1; + qemuAgent *agent; + + if (virDomainObjBeginAgentJob(vm, VIR_AGENT_JOB_QUERY) < 0) + return ret; + + if (virDomainObjCheckActive(vm) < 0) + goto endjob; + + if (bhyveDomainEnsureAgent(vm, true) < 0) + goto endjob; + + agent =3D bhyveDomainObjEnterAgent(vm); + ret =3D qemuAgentGetFSInfo(agent, info, true); + bhyveDomainObjExitAgent(vm, agent); + + endjob: + virDomainObjEndAgentJob(vm); + return ret; +} + +static virDomainFSInfoPtr +qemuAgentFSInfoToPublic(qemuAgentFSInfo *agent, + virDomainDef *vmdef) +{ + virDomainFSInfoPtr ret =3D NULL; + size_t i; + + ret =3D g_new0(virDomainFSInfo, 1); + + ret->mountpoint =3D g_strdup(agent->mountpoint); + ret->name =3D g_strdup(agent->name); + ret->fstype =3D g_strdup(agent->fstype); + + if (agent->disks) + ret->devAlias =3D g_new0(char *, agent->ndisks); + + for (i =3D 0; i < agent->ndisks; i++) { + qemuAgentDiskAddress *agentdisk =3D agent->disks[i]; + virDomainDiskDef *diskDef; + + diskDef =3D virDomainDiskByAddress(vmdef, + &agentdisk->pci_controller, + agentdisk->ccw_addr, + agentdisk->bus, + agentdisk->target, + agentdisk->unit); + if (diskDef !=3D NULL) + ret->devAlias[ret->ndevAlias++] =3D g_strdup(diskDef->dst); + else + VIR_DEBUG("Missing target name for '%s'.", ret->mountpoint); + } + + return ret; +} + +/* Returns: 0 on success + * -1 otherwise + */ +static int +virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, + int nagentinfo, + virDomainDef *vmdef, + virDomainFSInfoPtr **info) +{ + int ret =3D -1; + virDomainFSInfoPtr *info_ret =3D NULL; + size_t i; + + info_ret =3D g_new0(virDomainFSInfoPtr, nagentinfo); + + for (i =3D 0; i < nagentinfo; i++) { + if (!(info_ret[i] =3D qemuAgentFSInfoToPublic(agentinfo[i], vmdef)= )) + goto cleanup; + } + + *info =3D g_steal_pointer(&info_ret); + ret =3D nagentinfo; + + cleanup: + if (info_ret) { + for (i =3D 0; i < nagentinfo; i++) { + /* if there was an error, free any memory we've allocated for = the + * return value */ + virDomainFSInfoFree(info_ret[i]); + } + g_free(info_ret); + } + return ret; +} + +static int +bhyveDomainGetFSInfo(virDomainPtr dom, + virDomainFSInfoPtr **info, + unsigned int flags) +{ + virDomainObj *vm; + qemuAgentFSInfo **agentinfo =3D NULL; + int ret =3D -1; + int nfs =3D 0; + + virCheckFlags(0, ret); + + if (!(vm =3D bhyveDomObjFromDomain(dom))) + return ret; + + if (virDomainGetFSInfoEnsureACL(dom->conn, vm->def) < 0) + goto cleanup; + + if ((nfs =3D bhyveDomainGetFSInfoAgent(vm, &agentinfo)) < 0) + goto cleanup; + + if (virDomainObjBeginJob(vm, VIR_JOB_QUERY) < 0) + goto cleanup; + + if (virDomainObjCheckActive(vm) < 0) + goto endjob; + + ret =3D virDomainFSInfoFormat(agentinfo, nfs, vm->def, info); + + endjob: + virDomainObjEndJob(vm); + + cleanup: + if (agentinfo) { + size_t i; + for (i =3D 0; i < nfs; i++) + qemuAgentFSInfoFree(agentinfo[i]); + g_free(agentinfo); + } + virDomainObjEndAPI(&vm); + return ret; +} + static virHypervisorDriver bhyveHypervisorDriver =3D { .name =3D "bhyve", .connectURIProbe =3D bhyveConnectURIProbe, @@ -2378,6 +2516,7 @@ static virHypervisorDriver bhyveHypervisorDriver =3D { .domainQemuAgentCommand =3D bhyveDomainQemuAgentCommand, /* 12.4.0 */ .domainGetMemoryParameters =3D bhyveDomainGetMemoryParameters, /* 12.4= .0 */ .domainSetMemoryParameters =3D bhyveDomainSetMemoryParameters, /* 12.4= .0 */ + .domainGetFSInfo =3D bhyveDomainGetFSInfo, /* 12.4.0 */ }; =20 =20 --=20 2.52.0 From nobody Sat May 30 15:28:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; 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 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779521202; cv=none; d=zohomail.com; s=zohoarc; b=Zk0nCaQnoPgtCpOIQboFZsJmkslVi0cfU+ibLNExjW06kCBXjdM2uMsO2373v0FgIUxg+c3HcI2h2JIzkRqgRg4n6mlR/GoCIao6l2TYp2DuyW90l2Rv+0R5qWIZ3nTgrKjOUISofNcZS/na3AAUKHPAoAdxXE/e5/8mnLvFblw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779521202; h=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=c25rCX1Kd0yXL+rHVF3VZA9sK4zvtpCDcfZcfMHm/qg=; b=IPjtzA6+1xVlG50blSQi8CVsmJ9a0w6T62Vr41GIc92oihc62QZ1GhHl8fetLNc6gqbnSXJ/a/P3drXCDzP16r0p2v93xhQC2LOYuIi99lD100MS9mRCxqADfQSGprtqUjj+wNG0p51xAGXIpKdZI9Ylb+gFEpIMQVZXxb1N5Zw= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 1779521202361742.8615812530062; Sat, 23 May 2026 00:26:42 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 31B0F4198F; Sat, 23 May 2026 03:26:41 -0400 (EDT) Received: from [172.19.199.4] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id B383C41D2F; Sat, 23 May 2026 03:21:04 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 691B141A9F; Sat, 23 May 2026 03:20:36 -0400 (EDT) Received: from mail-ej1-x632.google.com (mail-ej1-x632.google.com [IPv6:2a00:1450:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 663BF4198F for ; Sat, 23 May 2026 03:20:35 -0400 (EDT) Received: by mail-ej1-x632.google.com with SMTP id a640c23a62f3a-bd4f8260e4eso1507379566b.1 for ; Sat, 23 May 2026 00:20:35 -0700 (PDT) Received: from tulp.my.domain (2001-1c02-1a15-3000-ee82-4536-a8f2-9e22.cable.dynamic.v6.ziggo.nl. [2001:1c02:1a15:3000:ee82:4536:a8f2:9e22]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bddc61de4c4sm144897066b.42.2026.05.23.00.20.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 00:20:33 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779520834; x=1780125634; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=c25rCX1Kd0yXL+rHVF3VZA9sK4zvtpCDcfZcfMHm/qg=; b=HmIIE8j2eFk4YFiJl0leVAORp7jNlLKymd2pAjf1Z11REnleaO82IziuQX/rUVSJuq AZGi3a/AvuDJ/7XNrHsz827Mcsi5ufFE5jNWv/1s/Hp2T+6CjRj/QkBOOeBGUgjR3FUd Tt8/JxxFmC0iYaDBiEr+WjbTM1g9BbIQ8JJSHjvs7PevayAkILtdiUH4jCFz7lH3jFPb LLWpOOQpC9Phqwcf5QwhMD/IsYAWdM3DNy4Y3kWgzqGHKCtotX7AfTHqtz9kmnkudjOW YpUZkcDzq++sEVSFXfC7O8KyQOT3UsisZdgxOH4B1gAW8VT6lVixdtI0u3HuK51Yv6mz zcQw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779520834; x=1780125634; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=c25rCX1Kd0yXL+rHVF3VZA9sK4zvtpCDcfZcfMHm/qg=; b=lR2R/qXvQRGwEtvL+fQbRO3lf8ww7f8lPK4hUI89SxfNnvACFu3hcILmadLKbAD6tM ps/GqumZhb+XIZ8ttly4uFiTzhu9vHqYlaU3yWRwacAbm3xsejoD5UBP8sp1Wl0j4FPS Ej1hRHTk9T7bh7WHUOcxWRRi0WLpW+eIYAOtxkTDNAmyL1hyaqL3T8eAQMJTrfiBWGlh CKulGSsa+PjaIm9c3Zp85rS+yAn5Ib1bjxGMJvAz+29nC+rq4FnzhXop3lgbh1TJdthu Rie5h4yRzuwg5tURakAyKojNZ33uy7aMqyjUkieaaaF4AsMtLS2TheuQ/T94fVueeura 5KGg== X-Gm-Message-State: AOJu0YyjobkHTHN1mFNQ9riNK/ek8rueS1OFF3/4demjvMlrbWEGpVI3 PCmKQGYEVamVSTINoifuXAxART8jAmAZNgdB2TVfMyKHIh+ZXi032BegYmktxRYw X-Gm-Gg: Acq92OFeDXigfsfHAbZD8ji3mIw8f2IRKZ/71ss7Ji5rXlybKiMjv6X42nL4R2S325u BB6IIkiELMNmEvPA9AwXtrikmpCVAm6ZUzOJVcQ4QIRubTye8sQMskWv5rTXPavlI9kN4eCZeIf +uVBadQKEdr2HY8DwqgriViZN8W78MpXRHAKXX/A3o46+Ydb+EwmajpEwdTzAtwijYFaVbu8uBK XtcNtHyJSnar2LabmAkZZBdg081RXPVkMERdBvMVDWWGeS1aZwb3ivYiGxE7l6G51TBnn3HII9c YSXvnoOdMJ/EV024sDg8OAF5l9FkJiqO9F4I7Sl0l1atHwlBnqscikGdGrut1IFESGTG6D+dzsQ ssDsqZb43dIkmvU1Zw5ad4CNG/p0MDVEGvd9TytWzGWeylVGpsr8CAnut75DHvACwGSrbmvFJFX pphhtnJx6yJzCeL2+G6gh3swT4ru09L8qINdm7gA+PvQjY5D6668Z8++dW9d95bQS0No/UgULAS 9YUk2fvopdCZqFYidKlqoKjphVqh4EhEf3EQg== X-Received: by 2002:a17:907:a80c:b0:bdb:c0f7:ed68 with SMTP id a640c23a62f3a-bdd268c0eb6mr425958166b.42.1779520834048; Sat, 23 May 2026 00:20:34 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 4/5] hypervisor: qemu_agent: add virDomainFSInfoFormat() Date: Sat, 23 May 2026 09:16:44 +0200 Message-ID: <20260523071645.40223-5-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260523071645.40223-1-bogorodskiy@gmail.com> References: <20260523071645.40223-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: Z2ZPKCHZTW72EWBEZNNM7SEEMKCRAQ7Y X-Message-ID-Hash: Z2ZPKCHZTW72EWBEZNNM7SEEMKCRAQ7Y X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1779521203635158500 Content-Type: text/plain; charset="utf-8" The virDomainFSInfoFormat() and qemuAgentFSInfoToPublic() function implementations are now shared between the qemu and the bhyve driver, so move them to a common place to avoid code duplication. Signed-off-by: Roman Bogorodskiy --- src/bhyve/bhyve_driver.c | 70 ------------------------------------- src/hypervisor/qemu_agent.c | 70 +++++++++++++++++++++++++++++++++++++ src/hypervisor/qemu_agent.h | 5 +++ src/libvirt_private.syms | 1 + src/qemu/qemu_driver.c | 70 ------------------------------------- 5 files changed, 76 insertions(+), 140 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index f93e6c7b68..f1ec781173 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -2332,76 +2332,6 @@ bhyveDomainGetFSInfoAgent(virDomainObj *vm, return ret; } =20 -static virDomainFSInfoPtr -qemuAgentFSInfoToPublic(qemuAgentFSInfo *agent, - virDomainDef *vmdef) -{ - virDomainFSInfoPtr ret =3D NULL; - size_t i; - - ret =3D g_new0(virDomainFSInfo, 1); - - ret->mountpoint =3D g_strdup(agent->mountpoint); - ret->name =3D g_strdup(agent->name); - ret->fstype =3D g_strdup(agent->fstype); - - if (agent->disks) - ret->devAlias =3D g_new0(char *, agent->ndisks); - - for (i =3D 0; i < agent->ndisks; i++) { - qemuAgentDiskAddress *agentdisk =3D agent->disks[i]; - virDomainDiskDef *diskDef; - - diskDef =3D virDomainDiskByAddress(vmdef, - &agentdisk->pci_controller, - agentdisk->ccw_addr, - agentdisk->bus, - agentdisk->target, - agentdisk->unit); - if (diskDef !=3D NULL) - ret->devAlias[ret->ndevAlias++] =3D g_strdup(diskDef->dst); - else - VIR_DEBUG("Missing target name for '%s'.", ret->mountpoint); - } - - return ret; -} - -/* Returns: 0 on success - * -1 otherwise - */ -static int -virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, - int nagentinfo, - virDomainDef *vmdef, - virDomainFSInfoPtr **info) -{ - int ret =3D -1; - virDomainFSInfoPtr *info_ret =3D NULL; - size_t i; - - info_ret =3D g_new0(virDomainFSInfoPtr, nagentinfo); - - for (i =3D 0; i < nagentinfo; i++) { - if (!(info_ret[i] =3D qemuAgentFSInfoToPublic(agentinfo[i], vmdef)= )) - goto cleanup; - } - - *info =3D g_steal_pointer(&info_ret); - ret =3D nagentinfo; - - cleanup: - if (info_ret) { - for (i =3D 0; i < nagentinfo; i++) { - /* if there was an error, free any memory we've allocated for = the - * return value */ - virDomainFSInfoFree(info_ret[i]); - } - g_free(info_ret); - } - return ret; -} - static int bhyveDomainGetFSInfo(virDomainPtr dom, virDomainFSInfoPtr **info, diff --git a/src/hypervisor/qemu_agent.c b/src/hypervisor/qemu_agent.c index 70f0cde5dd..927aa5e10e 100644 --- a/src/hypervisor/qemu_agent.c +++ b/src/hypervisor/qemu_agent.c @@ -2611,3 +2611,73 @@ qemuAgentGetLoadAvg(qemuAgent *agent, =20 return 0; } + +static virDomainFSInfoPtr +qemuAgentFSInfoToPublic(qemuAgentFSInfo *agent, + virDomainDef *vmdef) +{ + virDomainFSInfoPtr ret =3D NULL; + size_t i; + + ret =3D g_new0(virDomainFSInfo, 1); + + ret->mountpoint =3D g_strdup(agent->mountpoint); + ret->name =3D g_strdup(agent->name); + ret->fstype =3D g_strdup(agent->fstype); + + if (agent->disks) + ret->devAlias =3D g_new0(char *, agent->ndisks); + + for (i =3D 0; i < agent->ndisks; i++) { + qemuAgentDiskAddress *agentdisk =3D agent->disks[i]; + virDomainDiskDef *diskDef; + + diskDef =3D virDomainDiskByAddress(vmdef, + &agentdisk->pci_controller, + agentdisk->ccw_addr, + agentdisk->bus, + agentdisk->target, + agentdisk->unit); + if (diskDef !=3D NULL) + ret->devAlias[ret->ndevAlias++] =3D g_strdup(diskDef->dst); + else + VIR_DEBUG("Missing target name for '%s'.", ret->mountpoint); + } + + return ret; +} + +/* Returns: 0 on success + * -1 otherwise + */ +int +virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, + int nagentinfo, + virDomainDef *vmdef, + virDomainFSInfoPtr **info) +{ + int ret =3D -1; + virDomainFSInfoPtr *info_ret =3D NULL; + size_t i; + + info_ret =3D g_new0(virDomainFSInfoPtr, nagentinfo); + + for (i =3D 0; i < nagentinfo; i++) { + if (!(info_ret[i] =3D qemuAgentFSInfoToPublic(agentinfo[i], vmdef)= )) + goto cleanup; + } + + *info =3D g_steal_pointer(&info_ret); + ret =3D nagentinfo; + + cleanup: + if (info_ret) { + for (i =3D 0; i < nagentinfo; i++) { + /* if there was an error, free any memory we've allocated for = the + * return value */ + virDomainFSInfoFree(info_ret[i]); + } + g_free(info_ret); + } + return ret; +} diff --git a/src/hypervisor/qemu_agent.h b/src/hypervisor/qemu_agent.h index 9117d3743c..2ed1e040be 100644 --- a/src/hypervisor/qemu_agent.h +++ b/src/hypervisor/qemu_agent.h @@ -196,3 +196,8 @@ int qemuAgentGetLoadAvg(qemuAgent *agent, double *load5m, double *load15m, bool report_unsupported); + +int virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, + int nagentinfo, + virDomainDef *vmdef, + virDomainFSInfoPtr **info); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index a76da45fb9..f4c392d893 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1740,6 +1740,7 @@ qemuAgentSSHGetAuthorizedKeys; qemuAgentSSHRemoveAuthorizedKeys; qemuAgentSuspend; qemuAgentUpdateCPUInfo; +virDomainFSInfoFormat; =20 # hypervisor/virclosecallbacks.h virCloseCallbacksDomainAdd; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index bcafacfb60..99c3d9a4ae 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18767,76 +18767,6 @@ qemuDomainGetFSInfoAgent(virDomainObj *vm, return ret; } =20 -static virDomainFSInfoPtr -qemuAgentFSInfoToPublic(qemuAgentFSInfo *agent, - virDomainDef *vmdef) -{ - virDomainFSInfoPtr ret =3D NULL; - size_t i; - - ret =3D g_new0(virDomainFSInfo, 1); - - ret->mountpoint =3D g_strdup(agent->mountpoint); - ret->name =3D g_strdup(agent->name); - ret->fstype =3D g_strdup(agent->fstype); - - if (agent->disks) - ret->devAlias =3D g_new0(char *, agent->ndisks); - - for (i =3D 0; i < agent->ndisks; i++) { - qemuAgentDiskAddress *agentdisk =3D agent->disks[i]; - virDomainDiskDef *diskDef; - - diskDef =3D virDomainDiskByAddress(vmdef, - &agentdisk->pci_controller, - agentdisk->ccw_addr, - agentdisk->bus, - agentdisk->target, - agentdisk->unit); - if (diskDef !=3D NULL) - ret->devAlias[ret->ndevAlias++] =3D g_strdup(diskDef->dst); - else - VIR_DEBUG("Missing target name for '%s'.", ret->mountpoint); - } - - return ret; -} - -/* Returns: 0 on success - * -1 otherwise - */ -static int -virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, - int nagentinfo, - virDomainDef *vmdef, - virDomainFSInfoPtr **info) -{ - int ret =3D -1; - virDomainFSInfoPtr *info_ret =3D NULL; - size_t i; - - info_ret =3D g_new0(virDomainFSInfoPtr, nagentinfo); - - for (i =3D 0; i < nagentinfo; i++) { - if (!(info_ret[i] =3D qemuAgentFSInfoToPublic(agentinfo[i], vmdef)= )) - goto cleanup; - } - - *info =3D g_steal_pointer(&info_ret); - ret =3D nagentinfo; - - cleanup: - if (info_ret) { - for (i =3D 0; i < nagentinfo; i++) { - /* if there was an error, free any memory we've allocated for = the - * return value */ - virDomainFSInfoFree(info_ret[i]); - } - g_free(info_ret); - } - return ret; -} - static int qemuDomainGetFSInfo(virDomainPtr dom, virDomainFSInfoPtr **info, --=20 2.52.0 From nobody Sat May 30 15:28:45 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; 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 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1779521257; cv=none; d=zohomail.com; s=zohoarc; b=IlO0hnvPNkCT+POjRz4kyNpuhTllTHvKSO9eRQaoMmluMn1Qh3FpgwwMaVsoPnGLmGghBEHTnqbQGDEpAjFP9jmScAkXppbW5vFJlH1slvDlBzjWfc1YSInsEQDWZNAtTIsPVY1JtMt8sBpfr6dXOrwSXiVM5WhmguATsqZJetI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1779521257; h=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=uNF7eJuiTJp3YKljE9MsuVtp2H8kIrJL3E9IjMCQnPA=; b=bBww5IzpdDP4YtU1lfHWsxnRTItFPCnGZ618LqjX7Igi7Z5+SwyEaqyzEVGBbUXh7//R0n7wCL5atATPCSFHx7ABHSFnudFGdO4vyNMAK1MIjWCeL2mBCk35BvJFp2b33i0jlTNaFflvxYH3+EdTTLsYaksU9MoqXX0H4Zsgpcs= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 17795212577771005.3902724460504; Sat, 23 May 2026 00:27:37 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EFE8641AAF; Sat, 23 May 2026 03:27:36 -0400 (EDT) Received: from [172.19.199.4] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 58BF641C8E; Sat, 23 May 2026 03:21:09 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id 3500641A9F; Sat, 23 May 2026 03:20:37 -0400 (EDT) Received: from mail-ej1-x62d.google.com (mail-ej1-x62d.google.com [IPv6:2a00:1450:4864:20::62d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 9C7524198F for ; Sat, 23 May 2026 03:20:36 -0400 (EDT) Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-bd8faef2e18so894785866b.3 for ; Sat, 23 May 2026 00:20:36 -0700 (PDT) Received: from tulp.my.domain (2001-1c02-1a15-3000-ee82-4536-a8f2-9e22.cable.dynamic.v6.ziggo.nl. [2001:1c02:1a15:3000:ee82:4536:a8f2:9e22]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bddc61de4c4sm144897066b.42.2026.05.23.00.20.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 23 May 2026 00:20:34 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779520835; x=1780125635; darn=lists.libvirt.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uNF7eJuiTJp3YKljE9MsuVtp2H8kIrJL3E9IjMCQnPA=; b=HZ6dID5xd3ZEcESMgQvXaESAhqQvc5eY6AP0OcEspr/IyWVrqRu2ocb/QFiAOKclNe Srj2vzFidKOBDSlh5vCTLXHQT53oAI4tubrVXdyDQInjShkz3Ztt6aTPOw5wNSm0Lu1B z2dsD0xIbk+JV+VlMzqayQ5g3nXRlXl84454W0np6qzp+PcQVww1FMnuO5slRpM2VpeR oXKELMk5GHZOTxbWY6q7EIE2V/xmOby4llXOlqc0FnoC2EA4CiutV7aStXjzGqIlXWLG h9mUNKLVq7qGUqVZqWfI5t37FGoIaKhxIJM4AwW/lbMxdBgRcPC9Hz9pqYvGx+9uT65r gdrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779520835; x=1780125635; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=uNF7eJuiTJp3YKljE9MsuVtp2H8kIrJL3E9IjMCQnPA=; b=IlvI4Z0ik5y/4yBl/sYzTM5dZNXw1JS7yzqPm8asjFUV7p2zlPYYl2AnL2gDg9qUV2 lvHiQm6w8n0zVtSerYEMasY5CzKHP35DuXSFAo+l1SKcp8axlbLv6PPgNc/hAylIK/8d /9/dMTmgi5sjAnCvW0SAOuDTSfSYCof8Qy0ZWXkiZTcjIw57kFmjFrqPbaolrJuZ5rQv lkPnqga1aUlCYRuufoCrI6owUYrxOV56XQQatrC2fV7hx1WN769jp8Imnc0Umm4L7KWe iwFCLwR9dwJ+xmqS6kdL9MociBG5yTxBYFZcizSqfCkEiyaphzWt1SGyoghEeL4pGj3q 47ug== X-Gm-Message-State: AOJu0YxmkSrJlJNmTUxcaB6PM2Vv19b0kvssP959zaLdnvqCUXg9Ih1Q CXzuCHGgJZd8HQnqJKT/p4IkNXw9WUAwqIKQrZyfPoD8HglGBXk/yl7wdWiNzyPd X-Gm-Gg: Acq92OGNW47/h6I85Z1V2sXMS/6hXK1UL5pVlgN9+nwfe0esbO2b0/t62iOhy3k0ZUs 4RcEJUNyOmxVMXpwA7eE1DIUkAZb+sJ6TIsgPJw3GFuQHXPa+9Htz2AQNoMFpmVaMzppiFe5sM1 J3OBQtRapHC6FuX+s+CCzjWF2bSPj2GZsxSHbz6csdqkja1Mc3cU9UN857PRTTmM/3Fy/5iiU/c miuecm5hX7lWpxDKdQrJZL8wXmTVWDhVQN6ksiPXcKkKD9NbcSsY9UitdEpVvGtxx/E7kEYkMNB Zf+HbkKtym7u5a5ihHJlGIrdxIV5vHeSpoIy6W6tblDck4AJN7BHf2MVi4uzDevH83TZqpXAAGv IWU2hdskbpbdfhETPFDWepMbgTGyNpO2kqhKwn5OcJ3ZJpjbqNQJT3g7+f00+8Nj+e5VueZAiFW HZWSOnNOX5UEDh0FC600mLrO1gsGiLehVNz1jAMzxeDqTmAo2gCidBKpvMtcRqMMyFmmURdeLhZ PaO4lb0XjM/w+knbWnNec87IW8bc+UOEJKSJQ== X-Received: by 2002:a17:907:928a:b0:bd8:f4cf:388 with SMTP id a640c23a62f3a-bdd263c976cmr387207666b.33.1779520835062; Sat, 23 May 2026 00:20:35 -0700 (PDT) From: Roman Bogorodskiy To: devel@lists.libvirt.org Subject: [PATCH 5/5] hypervisor: qemu_agent: virDomainFSInfoFormat -> qemuAgentFSInfoFormat Date: Sat, 23 May 2026 09:16:45 +0200 Message-ID: <20260523071645.40223-6-bogorodskiy@gmail.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260523071645.40223-1-bogorodskiy@gmail.com> References: <20260523071645.40223-1-bogorodskiy@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Message-ID-Hash: VX66AATPSDJM2NEIGYAJL4NBIHH4UWKS X-Message-ID-Hash: VX66AATPSDJM2NEIGYAJL4NBIHH4UWKS X-MailFrom: bogorodskiy@gmail.com 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: Roman Bogorodskiy 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 @gmail.com) X-ZM-MESSAGEID: 1779521260773154100 Content-Type: text/plain; charset="utf-8" Rename virDomainFSInfoFormat() to qemuAgentFSInfoFormat() to follow the naming scheme in qemu_agent.c. Signed-off-by: Roman Bogorodskiy --- src/bhyve/bhyve_driver.c | 2 +- src/hypervisor/qemu_agent.c | 2 +- src/hypervisor/qemu_agent.h | 2 +- src/libvirt_private.syms | 2 +- src/qemu/qemu_driver.c | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/bhyve/bhyve_driver.c b/src/bhyve/bhyve_driver.c index f1ec781173..c46c04f458 100644 --- a/src/bhyve/bhyve_driver.c +++ b/src/bhyve/bhyve_driver.c @@ -2359,7 +2359,7 @@ bhyveDomainGetFSInfo(virDomainPtr dom, if (virDomainObjCheckActive(vm) < 0) goto endjob; =20 - ret =3D virDomainFSInfoFormat(agentinfo, nfs, vm->def, info); + ret =3D qemuAgentFSInfoFormat(agentinfo, nfs, vm->def, info); =20 endjob: virDomainObjEndJob(vm); diff --git a/src/hypervisor/qemu_agent.c b/src/hypervisor/qemu_agent.c index 927aa5e10e..e549947fbf 100644 --- a/src/hypervisor/qemu_agent.c +++ b/src/hypervisor/qemu_agent.c @@ -2651,7 +2651,7 @@ qemuAgentFSInfoToPublic(qemuAgentFSInfo *agent, * -1 otherwise */ int -virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, +qemuAgentFSInfoFormat(qemuAgentFSInfo **agentinfo, int nagentinfo, virDomainDef *vmdef, virDomainFSInfoPtr **info) diff --git a/src/hypervisor/qemu_agent.h b/src/hypervisor/qemu_agent.h index 2ed1e040be..3dbc3baec1 100644 --- a/src/hypervisor/qemu_agent.h +++ b/src/hypervisor/qemu_agent.h @@ -197,7 +197,7 @@ int qemuAgentGetLoadAvg(qemuAgent *agent, double *load15m, bool report_unsupported); =20 -int virDomainFSInfoFormat(qemuAgentFSInfo **agentinfo, +int qemuAgentFSInfoFormat(qemuAgentFSInfo **agentinfo, int nagentinfo, virDomainDef *vmdef, virDomainFSInfoPtr **info); diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index f4c392d893..0aad60fed7 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -1714,6 +1714,7 @@ qemuAgentArbitraryCommand; qemuAgentClose; qemuAgentDiskInfoFree; qemuAgentFSFreeze; +qemuAgentFSInfoFormat; qemuAgentFSInfoFree; qemuAgentFSThaw; qemuAgentFSTrim; @@ -1740,7 +1741,6 @@ qemuAgentSSHGetAuthorizedKeys; qemuAgentSSHRemoveAuthorizedKeys; qemuAgentSuspend; qemuAgentUpdateCPUInfo; -virDomainFSInfoFormat; =20 # hypervisor/virclosecallbacks.h virCloseCallbacksDomainAdd; diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index 99c3d9a4ae..58b68a6e2b 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18794,7 +18794,7 @@ qemuDomainGetFSInfo(virDomainPtr dom, if (virDomainObjCheckActive(vm) < 0) goto endjob; =20 - ret =3D virDomainFSInfoFormat(agentinfo, nfs, vm->def, info); + ret =3D qemuAgentFSInfoFormat(agentinfo, nfs, vm->def, info); =20 endjob: virDomainObjEndJob(vm); --=20 2.52.0