From nobody Sun Feb 8 05:41:27 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) client-ip=209.132.183.28; envelope-from=libvir-list-bounces@redhat.com; helo=mx1.redhat.com; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of redhat.com designates 209.132.183.28 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com Return-Path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by mx.zohomail.com with SMTPS id 1548335843428732.9060085473043; Thu, 24 Jan 2019 05:17:23 -0800 (PST) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id E00767EBAD; Thu, 24 Jan 2019 13:17:18 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.20]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 940852635A; Thu, 24 Jan 2019 13:17:17 +0000 (UTC) Received: from lists01.pubmisc.prod.ext.phx2.redhat.com (lists01.pubmisc.prod.ext.phx2.redhat.com [10.5.19.33]) by colo-mx.corp.redhat.com (Postfix) with ESMTP id 04D1C180339D; Thu, 24 Jan 2019 13:17:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id x0ODHDLX016776 for ; Thu, 24 Jan 2019 08:17:13 -0500 Received: by smtp.corp.redhat.com (Postfix) id 62B7A2635A; Thu, 24 Jan 2019 13:17:13 +0000 (UTC) Received: from localhost.localdomain.com (ovpn-112-61.ams2.redhat.com [10.36.112.61]) by smtp.corp.redhat.com (Postfix) with ESMTP id 86C1226332; Thu, 24 Jan 2019 13:17:12 +0000 (UTC) From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= To: libvir-list@redhat.com Date: Thu, 24 Jan 2019 13:17:00 +0000 Message-Id: <20190124131707.17976-2-berrange@redhat.com> In-Reply-To: <20190124131707.17976-1-berrange@redhat.com> References: <20190124131707.17976-1-berrange@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-loop: libvir-list@redhat.com Subject: [libvirt] [go PATCH 1/8] Fix GetGuestVcpus to actually return some data X-BeenThere: libvir-list@redhat.com X-Mailman-Version: 2.1.12 Precedence: junk List-Id: Development discussions about the libvirt library & tools List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.84 on 10.5.11.23 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.27]); Thu, 24 Jan 2019 13:17:19 +0000 (UTC) Signed-off-by: Daniel P. Berrang=C3=A9 --- domain.go | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) diff --git a/domain.go b/domain.go index ed10553..07b9697 100644 --- a/domain.go +++ b/domain.go @@ -4522,23 +4522,26 @@ func (d *Domain) SaveFlags(destFile string, destXml= string, flags DomainSaveRest } =20 type DomainGuestVcpus struct { - Vcpus []bool - Online []bool - Offlinable []bool + VcpusSet bool + Vcpus []bool + OnlineSet bool + Online []bool + OfflinableSet bool + Offlinable []bool } =20 -func getDomainGuestVcpusParametersFieldInfo(VcpusSet *bool, Vcpus *string,= OnlineSet *bool, Online *string, OfflinableSet *bool, Offlinable *string) = map[string]typedParamsFieldInfo { +func getDomainGuestVcpusParametersFieldInfo(vcpus *DomainGuestVcpus, Vcpus= *string, Online *string, Offlinable *string) map[string]typedParamsFieldIn= fo { return map[string]typedParamsFieldInfo{ "vcpus": typedParamsFieldInfo{ - set: VcpusSet, + set: &vcpus.VcpusSet, s: Vcpus, }, "online": typedParamsFieldInfo{ - set: OnlineSet, + set: &vcpus.OnlineSet, s: Online, }, "offlinable": typedParamsFieldInfo{ - set: OfflinableSet, + set: &vcpus.OfflinableSet, s: Offlinable, }, } @@ -4607,9 +4610,9 @@ func (d *Domain) GetGuestVcpus(flags uint32) (*Domain= GuestVcpus, error) { return nil, makeNotImplementedError("virDomainGetGuestVcpus") } =20 - var VcpusSet, OnlineSet, OfflinableSet bool + vcpus :=3D &DomainGuestVcpus{} var VcpusStr, OnlineStr, OfflinableStr string - info :=3D getDomainGuestVcpusParametersFieldInfo(&VcpusSet, &VcpusStr, &O= nlineSet, &OnlineStr, &OfflinableSet, &OfflinableStr) + info :=3D getDomainGuestVcpusParametersFieldInfo(vcpus, &VcpusStr, &Onlin= eStr, &OfflinableStr) =20 var cparams C.virTypedParameterPtr var nparams C.uint @@ -4626,7 +4629,29 @@ func (d *Domain) GetGuestVcpus(flags uint32) (*Domai= nGuestVcpus, error) { return nil, gerr } =20 - return &DomainGuestVcpus{}, nil + if vcpus.VcpusSet { + mask, gerr :=3D parseCPUString(VcpusStr) + if gerr !=3D nil { + return nil, gerr + } + vcpus.Vcpus =3D mask + } + if vcpus.OnlineSet { + mask, gerr :=3D parseCPUString(OnlineStr) + if gerr !=3D nil { + return nil, gerr + } + vcpus.Online =3D mask + } + if vcpus.OfflinableSet { + mask, gerr :=3D parseCPUString(OfflinableStr) + if gerr !=3D nil { + return nil, gerr + } + vcpus.Offlinable =3D mask + } + + return vcpus, nil } =20 // See also https://libvirt.org/html/libvirt-libvirt-domain.html#virDomain= SetGuestVcpus --=20 2.20.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list