From nobody Thu May 2 13:17:47 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of redhat.com designates 207.211.31.81 as permitted sender) client-ip=207.211.31.81; envelope-from=libvir-list-bounces@redhat.com; helo=us-smtp-delivery-1.mimecast.com; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1574328217; cv=none; d=zoho.com; s=zohoarc; b=WElp51smdscVTilpuLr4R9nW9T0ga8Urcepy1K7VpkXjxFyRGPt+hAoxA7NRxQ6iX+GP6ejyKDHBwuC2NPG644npvfEHuPm/5ukNcEJ4XjumMC3zTLH/gSTBrTuuh4imccXo+XVD+xofN6mSJqc+I+23VBpXxfUOEIyf9VD9hcs= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1574328217; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To; bh=eCmCWlNHHyThI/kf5C3lJ7s6Q24FxI5P/VkWaFz6ECU=; b=HwkFepeNNP1WKvT3+fZXHfzHfK84SCYg6E5FVKiCaQ+B6nN+d6GpMDk49nYa5oyUD/tbpJj4ATJDDL71UBN5Jvji76lq72lUHcaCeYpsU7XFiWUI1piHWLMBaeXGwnn42vCokgjNxsO5S/W0R2VjU1EtlZFaWeDfmRsI+et+KSA= ARC-Authentication-Results: i=1; mx.zoho.com; dkim=pass; spf=pass (zoho.com: domain of redhat.com designates 207.211.31.81 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-1.mimecast.com (us-smtp-1.mimecast.com [207.211.31.81]) by mx.zohomail.com with SMTPS id 1574328217136752.5047149785212; Thu, 21 Nov 2019 01:23:37 -0800 (PST) Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-123-xi7A0mqKMfysPD41bKImqQ-1; Thu, 21 Nov 2019 04:23:33 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C8AFC1005509; Thu, 21 Nov 2019 09:23:25 +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 9FB8D6FDD9; Thu, 21 Nov 2019 09:23:25 +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 48F6A18089CD; Thu, 21 Nov 2019 09:23:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.13]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id xAL9NNWw001779 for ; Thu, 21 Nov 2019 04:23:23 -0500 Received: by smtp.corp.redhat.com (Postfix) id 2E2516FF19; Thu, 21 Nov 2019 09:23:23 +0000 (UTC) Received: from angien.redhat.com (unknown [10.43.2.48]) by smtp.corp.redhat.com (Postfix) with ESMTP id 05E136FDD9; Thu, 21 Nov 2019 09:23:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1574328216; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=eCmCWlNHHyThI/kf5C3lJ7s6Q24FxI5P/VkWaFz6ECU=; b=HyBiSxmn6bWp56j0VbnWLI2FdS+zwGjmCVHlMOZoGk+LSFjr0Z/e8MloTrA87mZx5edfNT mynxN3Xqn3aBBg7OEOS2toywARNJldLcAGbt+JUqz2iRxIU5GzLT0BaF7QZQUxg3Fh9K3o HCIjADhUoqS8cPlq+Bey1ge0fxmRDjI= From: Peter Krempa To: libvir-list@redhat.com Date: Thu, 21 Nov 2019 10:23:15 +0100 Message-Id: <802dfefc1292a2a85b6fed6563d6e8c882f9ee82.1574328077.git.pkrempa@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-loop: libvir-list@redhat.com Cc: =?UTF-8?q?Michal=20Pr=C3=ADvozn=C3=ADk?= , Peter Krempa , =?UTF-8?q?J=C3=A1n=20Tomko?= , Cole Robinson Subject: [libvirt] [PATCH] domcaps: Remove function initializing domain caps as unsupported 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: , Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.13 X-MC-Unique: xi7A0mqKMfysPD41bKImqQ-1 X-Mimecast-Spam-Score: 0 Content-Transfer-Encoding: quoted-printable X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Commit 5751a0b6b1968bb2354b2ac21cc5938b93009590 added a helper function called virDomainCapsFeaturesInitUnsupported which initialized all domain capability features as unsupported. When adding a new feature this would initialize it as unsupported also for hypervisor drivers which the original author possibly didn't intend to modify. To prevent accidental wrong value being reported in such case revert back to initializing individual features in the hypervisor drivers themselves. This is not a straight revert as additonal patches modified how we store the capabilities. Signed-off-by: Peter Krempa Reviewed-by: Cole Robinson --- CCing all people in the original conversation: CC: Cole Robinson CC: J=C3=A1n Tomko CC: Michal Pr=C3=ADvozn=C3=ADk src/bhyve/bhyve_capabilities.c | 4 +++- src/conf/domain_capabilities.c | 15 --------------- src/conf/domain_capabilities.h | 2 -- src/libvirt_private.syms | 1 - src/libxl/libxl_capabilities.c | 5 +++-- src/qemu/qemu_capabilities.c | 3 ++- 6 files changed, 8 insertions(+), 22 deletions(-) diff --git a/src/bhyve/bhyve_capabilities.c b/src/bhyve/bhyve_capabilities.c index f80cf7be62..fb8829d571 100644 --- a/src/bhyve/bhyve_capabilities.c +++ b/src/bhyve/bhyve_capabilities.c @@ -116,7 +116,9 @@ virBhyveDomainCapsFill(virDomainCapsPtr caps, } caps->hostdev.supported =3D VIR_TRISTATE_BOOL_NO; - virDomainCapsFeaturesInitUnsupported(caps); + caps->features[VIR_DOMAIN_CAPS_FEATURE_IOTHREADS] =3D VIR_TRISTATE_BOO= L_NO; + caps->features[VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO] =3D VIR_TRISTATE_BO= OL_NO; + caps->features[VIR_DOMAIN_CAPS_FEATURE_GENID] =3D VIR_TRISTATE_BOOL_NO; caps->gic.supported =3D VIR_TRISTATE_BOOL_NO; return 0; diff --git a/src/conf/domain_capabilities.c b/src/conf/domain_capabilities.c index 0979711fea..fa27e95e1b 100644 --- a/src/conf/domain_capabilities.c +++ b/src/conf/domain_capabilities.c @@ -272,21 +272,6 @@ virDomainCapsEnumClear(virDomainCapsEnumPtr capsEnum) } -/** - * @caps: domain caps - * - * Initializes all features in 'caps' as unsupported. - */ -void -virDomainCapsFeaturesInitUnsupported(virDomainCapsPtr caps) -{ - size_t i; - - for (i =3D 0; i < VIR_DOMAIN_CAPS_FEATURE_LAST; i++) - caps->features[i] =3D VIR_TRISTATE_BOOL_NO; -} - - static int virDomainCapsEnumFormat(virBufferPtr buf, const virDomainCapsEnum *capsEnum, diff --git a/src/conf/domain_capabilities.h b/src/conf/domain_capabilities.h index d69bf8d13e..c8eeb035ac 100644 --- a/src/conf/domain_capabilities.h +++ b/src/conf/domain_capabilities.h @@ -227,8 +227,6 @@ int virDomainCapsEnumSet(virDomainCapsEnumPtr capsEnum, unsigned int *values); void virDomainCapsEnumClear(virDomainCapsEnumPtr capsEnum); -void virDomainCapsFeaturesInitUnsupported(virDomainCapsPtr caps); - char * virDomainCapsFormat(const virDomainCaps *caps); int virDomainCapsDeviceDefValidate(const virDomainCaps *caps, diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms index 3416438841..44201cda14 100644 --- a/src/libvirt_private.syms +++ b/src/libvirt_private.syms @@ -200,7 +200,6 @@ virDomainCapsCPUUsableTypeToString; virDomainCapsDeviceDefValidate; virDomainCapsEnumClear; virDomainCapsEnumSet; -virDomainCapsFeaturesInitUnsupported; virDomainCapsFormat; virDomainCapsNew; virSEVCapabilitiesFree; diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 052fbd4603..c920c2aec5 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -764,8 +764,9 @@ libxlMakeDomainCapabilities(virDomainCapsPtr domCaps, libxlMakeDomainDeviceHostdevCaps(hostdev) < 0) return -1; - virDomainCapsFeaturesInitUnsupported(domCaps); - + domCaps->features[VIR_DOMAIN_CAPS_FEATURE_IOTHREADS] =3D VIR_TRISTATE_= BOOL_NO; + domCaps->features[VIR_DOMAIN_CAPS_FEATURE_VMCOREINFO] =3D VIR_TRISTATE= _BOOL_NO; + domCaps->features[VIR_DOMAIN_CAPS_FEATURE_GENID] =3D VIR_TRISTATE_BOOL= _NO; domCaps->gic.supported =3D VIR_TRISTATE_BOOL_NO; return 0; diff --git a/src/qemu/qemu_capabilities.c b/src/qemu/qemu_capabilities.c index 0a406972e7..d74bcd96b0 100644 --- a/src/qemu/qemu_capabilities.c +++ b/src/qemu/qemu_capabilities.c @@ -5447,6 +5447,8 @@ virQEMUCapsFillDomainFeaturesFromQEMUCaps(virQEMUCaps= Ptr qemuCaps, for (i =3D 0; i < G_N_ELEMENTS(domCapsTuples); i++) { if (virQEMUCapsGet(qemuCaps, domCapsTuples[i].qemucap)) domCaps->features[domCapsTuples[i].domcap] =3D VIR_TRISTATE_BO= OL_YES; + else + domCaps->features[domCapsTuples[i].domcap] =3D VIR_TRISTATE_BO= OL_NO; } } @@ -5735,7 +5737,6 @@ virQEMUCapsFillDomainCaps(virCapsPtr caps, virDomainCapsDeviceVideoPtr video =3D &domCaps->video; virDomainCapsDeviceRNGPtr rng =3D &domCaps->rng; - virDomainCapsFeaturesInitUnsupported(domCaps); virQEMUCapsFillDomainFeaturesFromQEMUCaps(qemuCaps, domCaps); domCaps->maxvcpus =3D virQEMUCapsGetMachineMaxCpus(qemuCaps, --=20 2.23.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list