From nobody Fri Mar 29 08:36:17 2024 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 1539609104862189.7945724282789; Mon, 15 Oct 2018 06:11:44 -0700 (PDT) Received: from smtp.corp.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id 91440C049D7F; Mon, 15 Oct 2018 13:11:42 +0000 (UTC) Received: from colo-mx.corp.redhat.com (colo-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E96AD7A250; Mon, 15 Oct 2018 13:11:41 +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 C672D4BB79; Mon, 15 Oct 2018 13:11:40 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w9FCdXUT022877 for ; Mon, 15 Oct 2018 08:39:33 -0400 Received: by smtp.corp.redhat.com (Postfix) id CA0455D782; Mon, 15 Oct 2018 12:39:33 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 517E45D76E for ; Mon, 15 Oct 2018 12:39:33 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Mon, 15 Oct 2018 14:39:26 +0200 Message-Id: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 1/2] conf: Forbid hugepages and 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: , MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Sender: libvir-list-bounces@redhat.com Errors-To: libvir-list-bounces@redhat.com X-Scanned-By: MIMEDefang 2.79 on 10.5.11.11 X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.31]); Mon, 15 Oct 2018 13:11:43 +0000 (UTC) X-ZohoMail: RDMRC_0 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" https://bugzilla.redhat.com/show_bug.cgi?id=3D1633562 Under we allow users to configure various memory backing related knobs. However, there are some combinations that make no sense. For instance, requesting hugepages and file allocation at the same time. Forbid this configuration then. Signed-off-by: Michal Privoznik --- src/conf/domain_conf.c | 16 ++++++++++++++-- tests/qemuxml2argvdata/hugepages-memaccess2.xml | 1 - 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 9911d56130..ef1d5caa1c 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -4041,7 +4041,7 @@ virDomainDefPostParseMemory(virDomainDefPtr def, } =20 =20 -static void +static int virDomainDefPostParseMemtune(virDomainDefPtr def) { size_t i; @@ -4063,6 +4063,17 @@ virDomainDefPostParseMemtune(virDomainDefPtr def) } } } + + if (def->mem.nhugepages && + def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_NONE && + def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_ANONYMOUS) { + virReportError(VIR_ERR_XML_ERROR, + _("unsupported combination of hugepages and source = type %s"), + virDomainMemorySourceTypeToString(def->mem.source)); + return -1; + } + + return 0; } =20 =20 @@ -5131,7 +5142,8 @@ virDomainDefPostParseCommon(virDomainDefPtr def, if (virDomainDefPostParseMemory(def, data->parseFlags) < 0) return -1; =20 - virDomainDefPostParseMemtune(def); + if (virDomainDefPostParseMemtune(def) < 0) + return -1; =20 if (virDomainDefRejectDuplicateControllers(def) < 0) return -1; diff --git a/tests/qemuxml2argvdata/hugepages-memaccess2.xml b/tests/qemuxm= l2argvdata/hugepages-memaccess2.xml index 205f9efd92..e7f60291be 100644 --- a/tests/qemuxml2argvdata/hugepages-memaccess2.xml +++ b/tests/qemuxml2argvdata/hugepages-memaccess2.xml @@ -8,7 +8,6 @@ - 4 --=20 2.18.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list From nobody Fri Mar 29 08:36:17 2024 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 1539609120141949.1731609982734; Mon, 15 Oct 2018 06:12:00 -0700 (PDT) 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 CD7B63DBCD; Mon, 15 Oct 2018 13:11:57 +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 83FE727BB9; Mon, 15 Oct 2018 13:11:56 +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 B7A0718005B1; Mon, 15 Oct 2018 13:11:55 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id w9FCdYbh022890 for ; Mon, 15 Oct 2018 08:39:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9D6795D773; Mon, 15 Oct 2018 12:39:34 +0000 (UTC) Received: from moe.brq.redhat.com (unknown [10.43.2.192]) by smtp.corp.redhat.com (Postfix) with ESMTP id 241545D76E for ; Mon, 15 Oct 2018 12:39:33 +0000 (UTC) From: Michal Privoznik To: libvir-list@redhat.com Date: Mon, 15 Oct 2018 14:39:27 +0200 Message-Id: In-Reply-To: References: X-Scanned-By: MIMEDefang 2.79 on 10.5.11.15 X-loop: libvir-list@redhat.com Subject: [libvirt] [PATCH 2/2] conf: Forbid hugepages and 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: , MIME-Version: 1.0 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.30]); Mon, 15 Oct 2018 13:11:58 +0000 (UTC) X-ZohoMail: RDMRC_0 RSF_0 Z_629925259 SPT_0 Content-Type: text/plain; charset="utf-8" https://bugzilla.redhat.com/show_bug.cgi?id=3D1633562 Under we allow users to configure various memory backing related knobs. However, there are some combinations that make no sense. For instance, requesting hugepages and 'ondemand' allocation at the same time. Forbid this configuration then. Signed-off-by: Michal Privoznik --- src/conf/domain_conf.c | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index ef1d5caa1c..53cb4209d4 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -4064,13 +4064,22 @@ virDomainDefPostParseMemtune(virDomainDefPtr def) } } =20 - if (def->mem.nhugepages && - def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_NONE && - def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_ANONYMOUS) { - virReportError(VIR_ERR_XML_ERROR, - _("unsupported combination of hugepages and source = type %s"), - virDomainMemorySourceTypeToString(def->mem.source)); - return -1; + if (def->mem.nhugepages) { + if (def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_NONE && + def->mem.source !=3D VIR_DOMAIN_MEMORY_SOURCE_ANONYMOUS) { + virReportError(VIR_ERR_XML_ERROR, + _("unsupported combination of hugepages and sou= rce type %s"), + virDomainMemorySourceTypeToString(def->mem.sour= ce)); + return -1; + } + + if (def->mem.allocation !=3D VIR_DOMAIN_MEMORY_ALLOCATION_NONE && + def->mem.allocation !=3D VIR_DOMAIN_MEMORY_ALLOCATION_IMMEDIAT= E) { + virReportError(VIR_ERR_XML_ERROR, + _("unsupported combination of hugepages and all= ocation %s"), + virDomainMemoryAllocationTypeToString(def->mem.= allocation)); + return -1; + } } =20 return 0; --=20 2.18.1 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list