From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708270; cv=none; d=zohomail.com; s=zohoarc; b=BxYpferGZb9V3D9v+V+/0g3tYnlazDeEg6j/qYRjXGZzZ3xCi6q5JCAyLjHPseXvYoAraN0Ckwa67lijGRSz/0z3fgdLIXjL8krq4APmOWkkLeDEcQdcOv37nHYHeP7ttQsnUWzoB4A9LF8442SQlQFJCTOO2FuVtp8GpCfF6+c= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708270; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=EuPKVq4iFTO9HsYLPQFur7p2GEkcXCnP2axol/M74yk=; b=fv4ofIlbW4LYIOxQz98JVhVT2E+atIVA2z1/h0NRpq3ILkkFVuHoub4xy8aVkl25dx8N4vketmy322MkxKzrEOPeS9OQHZOjcVx9h8spSvO3uncOXqLkFd83SRy9nBOEbc4R3DEsqmFZonsyu7amF8Rg8pvvDWw2yQUiMgN+Sec= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708270275254.83807612685496; Wed, 14 Oct 2020 13:44:30 -0700 (PDT) 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-569-u_kJlJ7BOci_-4rCdyxjNA-1; Wed, 14 Oct 2020 16:44:26 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 1AA31186DD25; Wed, 14 Oct 2020 20:44:19 +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 EB0CA75135; Wed, 14 Oct 2020 20:44:18 +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 B276B5810F; Wed, 14 Oct 2020 20:44:18 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhSp4028597 for ; Wed, 14 Oct 2020 16:43:29 -0400 Received: by smtp.corp.redhat.com (Postfix) id C1FBC10921B5; Wed, 14 Oct 2020 20:43:28 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BCE3F10921A9 for ; Wed, 14 Oct 2020 20:43:26 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 92C6380018B for ; Wed, 14 Oct 2020 20:43:26 +0000 (UTC) Received: from mail-il1-f169.google.com (mail-il1-f169.google.com [209.85.166.169]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-86-FDuJXTJSPW6rR61JPjcZ6g-1; Wed, 14 Oct 2020 16:43:24 -0400 Received: by mail-il1-f169.google.com with SMTP id r10so1012934ilm.11 for ; Wed, 14 Oct 2020 13:43:23 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:22 -0700 (PDT) X-MC-Unique: u_kJlJ7BOci_-4rCdyxjNA-1 X-MC-Unique: FDuJXTJSPW6rR61JPjcZ6g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=EuPKVq4iFTO9HsYLPQFur7p2GEkcXCnP2axol/M74yk=; b=T3qZvQr4kKVgjUMKOe667rfCLAN0YchAL21Z3+6ZwMBSjrEzTsM+xBG1ZMRJbel+To ICA98t0np7iGVNbqGsOXELa0fo+RM/hUqiV4DhogKqpQNJyYTqOuXP3Fxgbt2j2L2siS 8PmUpukD+RSLyUMVpzLfQjMO/B5kzx2Zhvgks8M+6mCoLSOipk50i4USJv+/z9/fvnnR f9ugXW1yrq4kQW3ay1dwpGODfkQiFpaNnvz47FQ+0Pfl6hKi3dyZg9FXN4QmU77k+kZL ZwS8vTiwpW6AVBKWaMlRTZ6XQKlPMovUikaufGyb+DzUwXyoMhmwqK2f/CC++BZwFmvV 622w== X-Gm-Message-State: AOAM531mzsaFGp1Ol2IThpWUX9vUKdm516I7+xwVf4oNV4nDWm/Oz9eo weYQjI0aCcEHeIVFE2Z+18A3mJlVZ2M= X-Google-Smtp-Source: ABdhPJwSa88YmV4ZYCKLiFxJGNRte5QRpHLoHo6yWq//HZiSeVuEF3MkfnvPeH7WkKNdRsoDdZD0dQ== X-Received: by 2002:a92:dec2:: with SMTP id k2mr880229ilp.78.1602708203083; Wed, 14 Oct 2020 13:43:23 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 01/24] qemu_command.c: move wwn validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:44 -0300 Message-Id: <20201014204307.631746-2-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 27 --------------------------- src/qemu/qemu_validate.c | 31 +++++++++++++++++++++++++++++-- tests/qemuxml2argvtest.c | 4 +++- 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 697a2db62b..5a693e143f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1567,14 +1567,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, return NULL; } =20 - if (disk->wwn && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_IDE_DRIVE_WWN)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Setting wwn for ide disk is not supported " - "by this QEMU")); - return NULL; - } - if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) virBufferAddLit(&opt, "ide-cd"); else @@ -1607,25 +1599,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, } } =20 - if (disk->wwn && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_WWN)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Setting wwn for scsi disk is not supported " - "by this QEMU")); - return NULL; - } - - /* Properties wwn, vendor and product were introduced in the - * same QEMU release (1.2.0). - */ - if ((disk->vendor || disk->product) && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_WWN)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Setting vendor or product for scsi disk is n= ot " - "supported by this QEMU")); - return NULL; - } - controllerModel =3D qemuDomainFindSCSIControllerModel(def, &disk->= info); if (controllerModel < 0) return NULL; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index bc3043bb3f..e747ce2cb0 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2066,13 +2066,40 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDo= mainDiskDef *disk, _("Only ide and scsi disk support wwn")); return -1; } + + if (disk->bus =3D=3D VIR_DOMAIN_DISK_BUS_IDE && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_IDE_DRIVE_WWN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Setting wwn for ide disk is not supported " + "by this QEMU")); + return -1; + } + + if (disk->bus !=3D VIR_DOMAIN_DISK_BUS_SCSI && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_WWN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Setting wwn for scsi disk is not supported " + "by this QEMU")); + return -1; + } } =20 - if ((disk->vendor || disk->product) && - disk->bus !=3D VIR_DOMAIN_DISK_BUS_SCSI) { + if (disk->vendor || disk->product) { + if (disk->bus !=3D VIR_DOMAIN_DISK_BUS_SCSI) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("Only scsi disk supports vendor and product")= ); return -1; + } + + /* Properties wwn, vendor and product were introduced in the + * same QEMU release (1.2.0). + */ + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_WWN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Setting vendor or product for scsi disk is n= ot " + "supported by this QEMU")); + return -1; + } } =20 if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_LUN) { diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 8aa791d9f7..cd15ce5138 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2252,7 +2252,9 @@ mymain(void) DO_TEST_PARSE_ERROR("mach-virt-serial-invalid-machine", NONE); =20 DO_TEST("disk-ide-split", NONE); - DO_TEST("disk-ide-wwn", QEMU_CAPS_IDE_DRIVE_WWN); + DO_TEST("disk-ide-wwn", + QEMU_CAPS_IDE_DRIVE_WWN, + QEMU_CAPS_SCSI_DISK_WWN); =20 DO_TEST("disk-geometry", NONE); DO_TEST("disk-blockio", QEMU_CAPS_BLOCKIO); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708283; cv=none; d=zohomail.com; s=zohoarc; b=HzNJpTfrL4NhOj3nKOWdtfxX6Fx+stSk0dNjvkvojM+N4fRNOyEdjz4XkGubFKzX5w+t1hJ7I2FVKDCgqHCeAuLL/jasjFeXz1nwjpEX+c1NSzreLz/6+ah5+LgvyvLNDGWPDIH8ywSzMTU5ak1agGxlUjmGnJ3u0xwKhCuST9I= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708283; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Q6hvAzltDbF8yrv3Vh0gXx5vjNxzSMR5Ty5kCUYIq2g=; b=VQVwkaQ/RcRLW1tHacYQ4a/Ixy/rUgpDe27xWS/8fRgzOkYCv4TSn8FClF44hav9NXob5DCM3fZn6QKpI/Ol3prbyDYupzlQdwA7ssLbOz/4Ka+AMAu0VjtdpoZYIGlOGzl3/yMhjIPWEKAQXR02uD9mqPsOvBOhsoWVgT+H5YE= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708283531498.0378188219846; Wed, 14 Oct 2020 13:44:43 -0700 (PDT) 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-426-fLeA-BSmN2W0r6-kb037nA-1; Wed, 14 Oct 2020 16:44:40 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 0E542107AFB7; Wed, 14 Oct 2020 20:44:34 +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 902975C1BD; Wed, 14 Oct 2020 20:44:33 +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 5A818181A71E; Wed, 14 Oct 2020 20:44:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhU1R028607 for ; Wed, 14 Oct 2020 16:43:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3E0F11711D7; Wed, 14 Oct 2020 20:43:30 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 373451711D8 for ; Wed, 14 Oct 2020 20:43:28 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E5AC8182360B for ; Wed, 14 Oct 2020 20:43:27 +0000 (UTC) Received: from mail-io1-f54.google.com (mail-io1-f54.google.com [209.85.166.54]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-308-o3rJ2RumPNCI0c5aenJVvA-1; Wed, 14 Oct 2020 16:43:25 -0400 Received: by mail-io1-f54.google.com with SMTP id n6so902671ioc.12 for ; Wed, 14 Oct 2020 13:43:25 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:24 -0700 (PDT) X-MC-Unique: fLeA-BSmN2W0r6-kb037nA-1 X-MC-Unique: o3rJ2RumPNCI0c5aenJVvA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Q6hvAzltDbF8yrv3Vh0gXx5vjNxzSMR5Ty5kCUYIq2g=; b=oOo9c4ZnwRvCqvL4Mk9ix4dziBi8y8ef0UZv5nP8N7QadrvQM5Qm3Qi6ovQ3riq1gV XLux6oMoGisXEVtpfGJQpYyzhHTJbknNP9l0D/aeglvI5l8J4ffx7YDGqLApNTnlGwTY XjfxzhFE4OX7eu9+IaFnSjKqYIbvQAJKybtZQoawJZrY+x2x30EjQJi5N6FCuJIkNbrQ qdW0FXVjWcczCQn5D23XqFDY/m3xycK/2jC0pbB71YNj+UyXRBMq3WW+pITNurlLce8/ UeUCysEhuMGvcnQsnx9LQEPCC+apKdvu0D9iiJ8hWopuVJPxzyAEFSTDK20PoZaDzfkD S/vA== X-Gm-Message-State: AOAM5335b2eHVps+aHHV4Y3wO53VxC4IuCRVgOkpnsq42Q2Kf0LHDw9Q Er0+JCpW8dfBfxdtPQ4dhdAHAk3WAgs= X-Google-Smtp-Source: ABdhPJx6w+ZK4BhuT44A1A4ojjjIbUbO6J258sVrnwqPgjttdSh3H4e7WlO+rbjJlohK5NhKQ2ik4w== X-Received: by 2002:a02:6045:: with SMTP id d5mr1096834jaf.144.1602708204629; Wed, 14 Oct 2020 13:43:24 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 02/24] qemu_command.c: move LUN and IDE checks to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:45 -0300 Message-Id: <20201014204307.631746-3-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.16 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 15 --------------- src/qemu/qemu_validate.c | 14 ++++++++++++++ tests/qemuxml2xmltest.c | 12 +++++++++--- 3 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 5a693e143f..b8b5ac1246 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1561,12 +1561,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, =20 switch ((virDomainDiskBus) disk->bus) { case VIR_DOMAIN_DISK_BUS_IDE: - if (disk->info.addr.drive.target !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("target must be 0 for ide controller")); - return NULL; - } - if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) virBufferAddLit(&opt, "ide-cd"); else @@ -1590,15 +1584,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, break; =20 case VIR_DOMAIN_DISK_BUS_SCSI: - if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_LUN) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_BLOCK)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support scsi-block for= " - "lun passthrough")); - return NULL; - } - } - controllerModel =3D qemuDomainFindSCSIControllerModel(def, &disk->= info); if (controllerModel < 0) return NULL; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index e747ce2cb0..10c770d318 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2112,6 +2112,15 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, return -1; } =20 + if (disk->bus =3D=3D VIR_DOMAIN_DISK_BUS_SCSI && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_BLOCK)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support scsi-block for " + "lun passthrough")); + return -1; + } + + if (disk->copy_on_read =3D=3D VIR_TRISTATE_SWITCH_ON) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("copy_on_read is not compatible with 'lun' di= sk '%s'"), @@ -2165,6 +2174,11 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, _("Only 1 IDE controller is supported")); return -1; } + if (disk->info.addr.drive.target !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("target must be 0 for ide controller")); + return -1; + } break; =20 case VIR_DOMAIN_DISK_BUS_FDC: diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 2bf8dd5b14..d8040e8871 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -344,7 +344,8 @@ mymain(void) DO_TEST_CAPS_VER("disk-cache", "2.12.0"); DO_TEST_CAPS_LATEST("disk-cache"); DO_TEST("disk-network-nbd", NONE); - DO_TEST("disk-network-iscsi", QEMU_CAPS_VIRTIO_SCSI); + DO_TEST("disk-network-iscsi", QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_SCSI_BLOCK); DO_TEST("disk-network-gluster", NONE); DO_TEST("disk-network-rbd", NONE); DO_TEST("disk-network-source-auth", NONE); @@ -355,7 +356,9 @@ mymain(void) DO_TEST("disk-nvme", QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_QCOW2_LUKS); DO_TEST_CAPS_LATEST("disk-scsi"); DO_TEST("disk-virtio-scsi-reservations", - QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_PR_MANAGER_HELPER); + QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_PR_MANAGER_HELPER, + QEMU_CAPS_SCSI_BLOCK); DO_TEST("controller-virtio-scsi", QEMU_CAPS_VIRTIO_SCSI); DO_TEST("disk-virtio-s390-zpci", QEMU_CAPS_DEVICE_ZPCI, @@ -660,7 +663,10 @@ mymain(void) DO_TEST("numad-static-vcpu-no-numatune", NONE); =20 DO_TEST("disk-scsi-lun-passthrough-sgio", - QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK= _WWN); + QEMU_CAPS_SCSI_LSI, + QEMU_CAPS_VIRTIO_SCSI, + QEMU_CAPS_SCSI_DISK_WWN, + QEMU_CAPS_SCSI_BLOCK); DO_TEST("disk-scsi-disk-vpd", QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_SCSI, QEMU_CAPS_SCSI_DISK= _WWN); DO_TEST("disk-source-pool", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708280; cv=none; d=zohomail.com; s=zohoarc; b=k64L3WlW0JCwNwd6ltnNmgE0F0PXDu22V0L67gwyrkjMp0dxNxGmKuFea0S/XFLD6wSNVyRvMdtPOvAfnesrIj1MYVOV4oUjXGZm3v9VUdVUaWebPox9oWKjOeuZCvVnTNdYvG8OqpPw1vboBHl6pKNuSkeL3sRw0XVQn2alxQ8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708280; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=E87HZUVdA+8ddkojenqhNrXMxQ1wmcb+uT5bNLxoFMA=; b=MrzyLmpsnr/fHTTULhxYiet49+EqjxSARfOIFgbMmFsG+4xUtCP8c0reNILJ277I94lRWao8gxCXWVpxtcpR8wxA0atATH/akFYFAA6CSzmTpn78EpBzd/qPIVhiT3ooGdj1QjSxGQtvQlqGFuF8LkUNBHhA5KGYm6pLBy/TRCo= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708280678793.5063275059597; Wed, 14 Oct 2020 13:44:40 -0700 (PDT) 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-325-onEB5pIdM56jmjIR2YGVrA-1; Wed, 14 Oct 2020 16:44:37 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 194EE186DD27; Wed, 14 Oct 2020 20:44:31 +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 EB7D35C1C2; Wed, 14 Oct 2020 20:44:30 +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 B4CDD181A270; Wed, 14 Oct 2020 20:44:30 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhUYk028606 for ; Wed, 14 Oct 2020 16:43:30 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3E40B1711DA; Wed, 14 Oct 2020 20:43:30 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3708A151125 for ; Wed, 14 Oct 2020 20:43:29 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0A7C480CDC0 for ; Wed, 14 Oct 2020 20:43:29 +0000 (UTC) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-563-_Y0R1OQ9PHa8MZWGhrxvPw-1; Wed, 14 Oct 2020 16:43:26 -0400 Received: by mail-io1-f65.google.com with SMTP id d20so918646iop.10 for ; Wed, 14 Oct 2020 13:43:26 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:25 -0700 (PDT) X-MC-Unique: onEB5pIdM56jmjIR2YGVrA-1 X-MC-Unique: _Y0R1OQ9PHa8MZWGhrxvPw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=E87HZUVdA+8ddkojenqhNrXMxQ1wmcb+uT5bNLxoFMA=; b=X0D1+JuIr85s6bM+93QLhrQtmV9/Okdhw0fdZ9y9kJf38N+EGKfji46u6XqczYEdFO GCHy3DH5fMBDtxoS2CfdX0okyuRG/o7ke4w/DT4GovNkemTGKtS9NrHdojpzJ64C2XgN ZKGZ9PDG4QUUt8GQys6UEnFwxWuYsDuut3JUykJjzRxgXYFFhLxaVwGCkYpKL+FKhe4x fFpEjIGaYTIaFTBc2UNnYP0FB1NHhhuhW22eJa0osJJiJDgAKH9DFg/JTkGn06HhhDpl 5kE6ZLSXJGeavmlhlerF1G+Rgfo52T6FAb77N22DsiAkt1K8zFyFfnDvUE5WaNfLrdFq YdMQ== X-Gm-Message-State: AOAM530XXjwD5vNcG5x0yUCME03cvx7695YZJ5Kr4ioYWwkH1zg6zJ39 1KwfQHwZxJcsCH2SKtgp9/fa5gD6O1s= X-Google-Smtp-Source: ABdhPJxGNpUapyXwN3AgZpWckzQ7c6UFdBCAEK6CZKpI92TYOvkepNi7HQNeidhgunwOHmWZEK6xaA== X-Received: by 2002:a6b:e707:: with SMTP id b7mr964617ioh.136.1602708206018; Wed, 14 Oct 2020 13:43:26 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 03/24] qemu_command.c: move LSILOGIC controller validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:46 -0300 Message-Id: <20201014204307.631746-4-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.16 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 24 ----------------------- src/qemu/qemu_validate.c | 41 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 40 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index b8b5ac1246..9ec5ace1c7 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1616,35 +1616,11 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, return NULL; =20 if (controllerModel =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOG= IC) { - if (disk->info.addr.drive.target !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("target must be 0 for controller " - "model 'lsilogic'")); - return NULL; - } - virBufferAsprintf(&opt, ",bus=3D%s.%d,scsi-id=3D%d", contAlias, disk->info.addr.drive.bus, disk->info.addr.drive.unit); } else { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)) { - if (disk->info.addr.drive.target > 7) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support target " - "greater than 7")); - return NULL; - } - - if (disk->info.addr.drive.bus !=3D 0 && - disk->info.addr.drive.unit !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU only supports both bus and= " - "unit equal to 0")); - return NULL; - } - } - virBufferAsprintf(&opt, ",bus=3D%s.0,channel=3D%d,scsi-id=3D%d= ,lun=3D%d", contAlias, disk->info.addr.drive.bus, diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 10c770d318..5ad13d9fd6 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2004,8 +2004,12 @@ qemuValidateDomainDeviceDefDiskSerial(const char *va= lue) =20 static int qemuValidateDomainDeviceDefDiskFrontend(const virDomainDiskDef *disk, + const virDomainDef *def, virQEMUCapsPtr qemuCaps) { + virDomainDeviceInfoPtr diskInfo; + int cModel; + if (disk->geometry.cylinders > 0 && disk->geometry.heads > 0 && disk->geometry.sectors > 0) { @@ -2146,6 +2150,9 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDoma= inDiskDef *disk, =20 switch (disk->bus) { case VIR_DOMAIN_DISK_BUS_SCSI: + diskInfo =3D (virDomainDeviceInfoPtr)&disk->info; + cModel =3D qemuDomainFindSCSIControllerModel(def, diskInfo); + if (disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("unexpected address type for scsi disk")); @@ -2160,6 +2167,38 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, "%s", _("SCSI controller only supports 1 bus")); return -1; } + + /* We allow hotplug/hotunplug disks without a controller, + * hence we don't error out if cModel is < 0. These + * validations were originally made under the assumption of + * a controller being found though. */ + if (cModel > 0) { + if (cModel =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC) { + if (disk->info.addr.drive.target !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("target must be 0 for controller " + "model 'lsilogic'")); + return -1; + } + } else { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_DISK_CHANNEL)= ) { + if (disk->info.addr.drive.target > 7) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support target= " + "greater than 7")); + return -1; + } + + if (disk->info.addr.drive.bus !=3D 0 && + disk->info.addr.drive.unit !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU only supports both bus= and " + "unit equal to 0")); + return -1; + } + } + } + } break; =20 case VIR_DOMAIN_DISK_BUS_IDE: @@ -2433,7 +2472,7 @@ qemuValidateDomainDeviceDefDisk(const virDomainDiskDe= f *disk, int idx; int partition; =20 - if (qemuValidateDomainDeviceDefDiskFrontend(disk, qemuCaps) < 0) + if (qemuValidateDomainDeviceDefDiskFrontend(disk, def, qemuCaps) < 0) return -1; =20 if (qemuValidateDomainDeviceDefDiskBlkdeviotune(disk, def, qemuCaps) <= 0) --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708286; cv=none; d=zohomail.com; s=zohoarc; b=S2asfxDDyUzb1M+wzWSV/7ir0amBaSSehlR4+QUZ5pE931CfweuQxCjqo+mvBDQrxgaROndT7DnGP8YYVcrrPeszjUaUwxDaiDSGJf4un+OU63wow1fpFbdlQisLPSpXz6LXvOC2UVgmzuBocGBHbttejCtmscqHFteyP0KSDmc= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708286; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=9RXcLaKDq8qbvuQlLI6yAnxv175GJk0nIvfEVWSH3Hg=; b=cni6TdLS0ZKbgn4L81IsLrkztUlqd2hd5DDOn1K1JFGGwsNpSi9p4t7cUvz3EM9LKzNn3fCJYKik8Mz5HcFzeyy2zmNel728FxoZz8PZOx5BG1xDSlmW3hmVmdEMMZjgJ8ffnTObzmBjoC35DmBD6X+B1+xGQ74UWD54DVXfYSc= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 160270828621552.27884534445104; Wed, 14 Oct 2020 13:44:46 -0700 (PDT) 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-126-R5uxZS2LMdOuZc4DZVBX8A-1; Wed, 14 Oct 2020 16:44:42 -0400 Received: from smtp.corp.redhat.com (int-mx07.intmail.prod.int.phx2.redhat.com [10.5.11.22]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 734D31007471; Wed, 14 Oct 2020 20:44:36 +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 5110610027AB; Wed, 14 Oct 2020 20:44:36 +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 E1BFB181A870; Wed, 14 Oct 2020 20:44:35 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhUqv028632 for ; Wed, 14 Oct 2020 16:43:31 -0400 Received: by smtp.corp.redhat.com (Postfix) id D7B132166BB3; Wed, 14 Oct 2020 20:43:30 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D28C82166B27 for ; Wed, 14 Oct 2020 20:43:30 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id AB6DD8007DF for ; Wed, 14 Oct 2020 20:43:30 +0000 (UTC) Received: from mail-io1-f42.google.com (mail-io1-f42.google.com [209.85.166.42]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-124-_lyLPSBPP32jq2d2OdTWlg-1; Wed, 14 Oct 2020 16:43:28 -0400 Received: by mail-io1-f42.google.com with SMTP id n6so902967ioc.12 for ; Wed, 14 Oct 2020 13:43:28 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:27 -0700 (PDT) X-MC-Unique: R5uxZS2LMdOuZc4DZVBX8A-1 X-MC-Unique: _lyLPSBPP32jq2d2OdTWlg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=9RXcLaKDq8qbvuQlLI6yAnxv175GJk0nIvfEVWSH3Hg=; b=ft470RJ3sAdO8dC1pW7+LLQptiOAQcuUsNcISBMw7jXsJQYG06XkMNR7TnuBAopxRN 9+B0rzf6kIHoY7k9RzfA/6aoFzC6G+HyuXHMSdechGZc7o8r3QVZ+Eb8HrpH8jko5eUv 4rewN0Yg2iRBnJZZc8NSi59Nqsp7vezjIgrxxFbbCGjStm0TjqvRJiPCKpDk48lQvBCd MxLjQGzEYMrs/ev85NgBCyjzVieSFdNZ33Lndf9RY8szJ3rSmOGmlxs5Q4iBduFM+AXW Mkr6YKBOTVFz5pOKcLCUsYm1PtdU2OhJ/y2fMq5fJ3igro0eTQdS49hqqmf3cjtbuufk EkBw== X-Gm-Message-State: AOAM5309YvK/KyUTCsM3dhKyjKmPrmz0QlS/Ot3ZQQSIvQ5GOjITM2VK 8dq/8j5yD1zokFn3mv/IlgFxN7qJDAg= X-Google-Smtp-Source: ABdhPJz+S+jw52Ohw7e61uiCVWJQgFaPIZWGAsukIrTQLgf2kVan4VdQ9Eqr0qEf0dgOocmR8+AVpA== X-Received: by 2002:a6b:e51a:: with SMTP id y26mr967874ioc.86.1602708207510; Wed, 14 Oct 2020 13:43:27 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 04/24] qemu_command.c: move DISK_BUS_SATA validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:47 -0300 Message-Id: <20201014204307.631746-5-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.84 on 10.5.11.22 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 Content-Type: text/plain; charset="utf-8" A few tweaks were made during the move: - the error messages were changed to mention 'sata controller' instead of 'ide controller'; - a check for address type 'drive' was added like it is done with other bus types. The error message of qemuxml2argdata was updated to reflect that now, instead of erroring it out from the common code in virDomainDiskDefValidate(), we're failing earlier with a different error message. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 11 ----------- src/qemu/qemu_validate.c | 19 +++++++++++++++++++ .../disk-sata-incompatible-address.err | 2 +- 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9ec5ace1c7..b2c6bd43a2 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1634,17 +1634,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, break; =20 case VIR_DOMAIN_DISK_BUS_SATA: - if (disk->info.addr.drive.bus !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("bus must be 0 for ide controller")); - return NULL; - } - if (disk->info.addr.drive.target !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("target must be 0 for ide controller")); - return NULL; - } - if (disk->device =3D=3D VIR_DOMAIN_DISK_DEVICE_CDROM) virBufferAddLit(&opt, "ide-cd"); else diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 5ad13d9fd6..289b99eea7 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2245,6 +2245,25 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, } break; =20 + case VIR_DOMAIN_DISK_BUS_SATA: + if (disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_DRIVE) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("unexpected address type for sata disk")); + return -1; + } + + if (disk->info.addr.drive.bus !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("bus must be 0 for sata controller")); + return -1; + } + if (disk->info.addr.drive.target !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("target must be 0 for sata controller")); + return -1; + } + break; + case VIR_DOMAIN_DISK_BUS_VIRTIO: case VIR_DOMAIN_DISK_BUS_XEN: case VIR_DOMAIN_DISK_BUS_SD: diff --git a/tests/qemuxml2argvdata/disk-sata-incompatible-address.err b/te= sts/qemuxml2argvdata/disk-sata-incompatible-address.err index cdb176b7d6..09395bcd6b 100644 --- a/tests/qemuxml2argvdata/disk-sata-incompatible-address.err +++ b/tests/qemuxml2argvdata/disk-sata-incompatible-address.err @@ -1 +1 @@ -unsupported configuration: Invalid address type 'pci' for the disk 'sda' w= ith the bus type 'sata' +internal error: unexpected address type for sata disk --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708273; cv=none; d=zohomail.com; s=zohoarc; b=OkQrrYTEgzZKX8HGEM/7thKEYPuWJrmnCKWAbrL4p0juOqgWIPA0/lHlraggmrL6fe+3q7goVJ1ynn8Cs7wXEVRB/4V11lhEacqFq2xo0PnJNYpjKgpBH9UzRKU93Bd/yAQuOxrDw0QKFfj8VlUqw68f6YDgnzLmLFK3MN3vdAQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708273; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=BOcGASYaeGPzKxpY8KB5+7sJSQKIxPpixfjkUnGQzEY=; b=AebB1KpAo/LCdGVpAUvWbh2S4vgGGUPjlzgW0N0b4WdapHPiLFkSqyFiFI1F+l13ko3uRBveuXMKxLB7osHJg7o7Qbxy2GlzEIY89gRe5EfutbyJff/D25sAB7zUTwMigfd4y2UGEbcgVem7NhetoB1NOyNtNer3r+eG8uC5PLk= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 160270827318221.082514827738237; Wed, 14 Oct 2020 13:44:33 -0700 (PDT) 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-183-8O2mQBl1PS2Ku4Soyh4pPA-1; Wed, 14 Oct 2020 16:44:29 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B502F57052; Wed, 14 Oct 2020 20:44:22 +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 92F7760C07; Wed, 14 Oct 2020 20:44:22 +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 62DED18095FF; Wed, 14 Oct 2020 20:44:22 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhYql028655 for ; Wed, 14 Oct 2020 16:43:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id 51838207B2D4; Wed, 14 Oct 2020 20:43:34 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4C496200A795 for ; Wed, 14 Oct 2020 20:43:32 +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-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 14B058007DF for ; Wed, 14 Oct 2020 20:43:32 +0000 (UTC) Received: from mail-io1-f53.google.com (mail-io1-f53.google.com [209.85.166.53]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-281-L05GuHCNNvG41-XOtyJ76Q-1; Wed, 14 Oct 2020 16:43:29 -0400 Received: by mail-io1-f53.google.com with SMTP id l8so905230ioh.11 for ; Wed, 14 Oct 2020 13:43:29 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:28 -0700 (PDT) X-MC-Unique: 8O2mQBl1PS2Ku4Soyh4pPA-1 X-MC-Unique: L05GuHCNNvG41-XOtyJ76Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=BOcGASYaeGPzKxpY8KB5+7sJSQKIxPpixfjkUnGQzEY=; b=LSzXZnrzHdGTvtjINchcs/WA5BiRTVrMnAcNRPPOW6bGBZ6t37fTreoWsAFyDAkb6Q el7eIvg1IIO7R8aX9b79MLgppt8zGZaaDv7mobRLfScrQ0tv2WbotIiHJNrEn3wCPM0X Q7kclxTkCwCos4fy3PLexlROuScFDriU9OiF+kI3IgYOTniJKeaR01USMFcBoEcczyqu wDkHGt8wyuC+8eGjtb0RnkTPmioJcui6el013YuGZ5+QUMsy9vXoH6DMjCFmq+gjBrFp hADBjSSC0EBm+gqMjf4lOtfCDA54zqs/DAvjHBObO+Wnbyv/fsiIV49LqxEjpQZOACdT p4Sw== X-Gm-Message-State: AOAM530OqSGoCaTQPbkp9lMqRKK9lYuKbZJOMAomyJI8YEt4egTdKsVj V6cRs+BHX0SLhBgwoLZJKYrXxGOPHmU= X-Google-Smtp-Source: ABdhPJx2nlcVVa2C6jUOMl7p8fPP6w5xohdMa8x/oeZFwIuql2J9AnFQ9S5c+pxxaXsS9eI/sb8thg== X-Received: by 2002:a05:6638:1651:: with SMTP id a17mr1083015jat.39.1602708209049; Wed, 14 Oct 2020 13:43:29 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 05/24] qemu_command.c: move DISK_BUS_VIRTIO validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:48 -0300 Message-Id: <20201014204307.631746-6-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.12 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 7 ------- src/qemu/qemu_validate.c | 10 ++++++++++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index b2c6bd43a2..a5abd814a2 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1683,13 +1683,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, } =20 if (disk->queues) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_NUM_QUEUES)= ) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("num-queues property isn't supported by t= his " - "QEMU binary")); - return NULL; - } - virBufferAsprintf(&opt, ",num-queues=3D%u", disk->queues); } =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 289b99eea7..4a74265ced 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2265,6 +2265,16 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, break; =20 case VIR_DOMAIN_DISK_BUS_VIRTIO: + if (disk->queues) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_BLK_NUM_QUEUES)= ) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("num-queues property isn't supported by t= his " + "QEMU binary")); + return -1; + } + } + break; + case VIR_DOMAIN_DISK_BUS_XEN: case VIR_DOMAIN_DISK_BUS_SD: break; --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708289; cv=none; d=zohomail.com; s=zohoarc; b=h81PvxAbLcbCGuhqeJkCWxKsaS+qYNBu4Z8IeeTnsRRIocTxDc76ehPQzRdmC4VuHsDZqndzaOz6vee8ens7u2TCV0SFJkLTTpxuPxduEeZMvu8/r9zPKMwV0SXQL+5xEdTvSkTP2N5+3Q5ArMXbmJJoh48NpnT6pNF2GFITEgg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708289; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=KUFo9/RT9IiucCMlQwJJKbS63AB5WV5BwO1tdFdCzPw=; b=geCSj7YUG68EAPQw5TgowG4gGczv9bUQD4wMujTPMRlTDFom1wWJ2XR/iNdFGJ7HTLK0HTHfSyp/ykDrhzp8IEuBE0NUoqMRcu3AtRj+Y1zNH7hrrEkHCQwTCEPMcGW+m8VkdFu7qEXWauULh3ZRjBzEwcPIO5iu3Lf7e9MDnig= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708289424978.6116274237525; Wed, 14 Oct 2020 13:44:49 -0700 (PDT) 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-418-l9OSS6pOOwm275RXgN7P8w-1; Wed, 14 Oct 2020 16:44:46 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id E7443876ED1; Wed, 14 Oct 2020 20:44:38 +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 C019B5577F; Wed, 14 Oct 2020 20:44:38 +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 8D7B6181A884; Wed, 14 Oct 2020 20:44:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhYr4028650 for ; Wed, 14 Oct 2020 16:43:34 -0400 Received: by smtp.corp.redhat.com (Postfix) id EF29E1711D8; Wed, 14 Oct 2020 20:43:33 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E845A151125 for ; Wed, 14 Oct 2020 20:43:33 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C1F92811E82 for ; Wed, 14 Oct 2020 20:43:33 +0000 (UTC) Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-28-vNrs4-ewOlSL2Bkz6P077w-1; Wed, 14 Oct 2020 16:43:31 -0400 Received: by mail-io1-f41.google.com with SMTP id m17so994820ioo.1 for ; Wed, 14 Oct 2020 13:43:31 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:30 -0700 (PDT) X-MC-Unique: l9OSS6pOOwm275RXgN7P8w-1 X-MC-Unique: vNrs4-ewOlSL2Bkz6P077w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=KUFo9/RT9IiucCMlQwJJKbS63AB5WV5BwO1tdFdCzPw=; b=K9e8/5GpfxHxVxsw3QpFgWev1m6Wyeo+ksVpUy2msYVgeK5rjDGXhtwLwhupzMXHHB jCg3OC+D8FCYiQpYCzI+Ty/uyHlOiJGF9W3TxBoO0+nUuP1UXjY1wQwy4UO2t7omoT2n a0ywboA+t2Hi5ksh324ZB7L1usC0Mem9ZrJ6KAsEGNvBWz2uQKZcItnvFTqgmiEtnGsL G5DrmjpdVluBErI0PQz+Z1y6DYNik9TFKL6Da8LdDF+D1MZH4Ey8AEDw7GW+5zJKzujG jmoLj0cYQfm11PGQAkO5Pco8Ma24dJ/KRzDwrWtLCRMN3CpMu9DueRuWqFIjCLdphIkw D/2Q== X-Gm-Message-State: AOAM531Ft+9RpnAsL/Nz6OID+hRuQ2Awy4h9y5mFG4T12EFcJkb3wnvK fhGRdN04zvYPIDTW09802oOMSxARu8M= X-Google-Smtp-Source: ABdhPJxg6UNfhTGgpxVsMXZLH4rjvv1iNPE+O/i5LJ9gm2Hvq4BTajd1D/RyyHmIExitYBVTkdTxIA== X-Received: by 2002:a05:6638:2412:: with SMTP id z18mr1095225jat.56.1602708210593; Wed, 14 Oct 2020 13:43:30 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 06/24] qemu_command.c: move DISK_BUS_USB validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:49 -0300 Message-Id: <20201014204307.631746-7-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 20 -------------------- src/qemu/qemu_validate.c | 25 +++++++++++++++++++++++++ tests/qemuxml2argvtest.c | 6 +++--- tests/qemuxml2xmltest.c | 4 ++-- 4 files changed, 30 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a5abd814a2..06ac175b67 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -1693,19 +1693,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, break; =20 case VIR_DOMAIN_DISK_BUS_USB: - if (disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && - disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB) { - virReportError(VIR_ERR_INTERNAL_ERROR, "%s", - _("unexpected address type for usb disk")); - return NULL; - } - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support '-device " - "usb-storage'")); - return NULL; - - } virBufferAddLit(&opt, "usb-storage"); =20 if (qemuBuildDeviceAddressStr(&opt, def, &disk->info, qemuCaps) < = 0) @@ -1772,13 +1759,6 @@ qemuBuildDiskDeviceStr(const virDomainDef *def, virBufferAddLit(&opt, ",removable=3Don"); else virBufferAddLit(&opt, ",removable=3Doff"); - } else { - if (disk->removable !=3D VIR_TRISTATE_SWITCH_ABSENT) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support setting the " - "removable flag of USB storage devices")); - return NULL; - } } } =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 4a74265ced..beaa1aedce 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -2275,6 +2275,31 @@ qemuValidateDomainDeviceDefDiskFrontend(const virDom= ainDiskDef *disk, } break; =20 + case VIR_DOMAIN_DISK_BUS_USB: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_STORAGE)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support '-device " + "usb-storage'")); + return -1; + } + + if (disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE && + disk->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_USB) { + virReportError(VIR_ERR_INTERNAL_ERROR, "%s", + _("unexpected address type for usb disk")); + return -1; + } + + if (disk->removable !=3D VIR_TRISTATE_SWITCH_ABSENT && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_STORAGE_REMOVABLE)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support setting the " + "removable flag of USB storage devices")); + return -1; + } + + break; + case VIR_DOMAIN_DISK_BUS_XEN: case VIR_DOMAIN_DISK_BUS_SD: break; diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index cd15ce5138..cf1d3c7ded 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -1220,14 +1220,14 @@ mymain(void) DO_TEST_PARSE_ERROR("disk-device-lun-type-invalid", QEMU_CAPS_VIRTIO_SCSI); DO_TEST_CAPS_LATEST_PARSE_ERROR("disk-attaching-partition-nosupport"); - DO_TEST_FAILURE("disk-usb-nosupport", NONE); + DO_TEST_PARSE_ERROR("disk-usb-nosupport", NONE); DO_TEST("disk-usb-device", QEMU_CAPS_DEVICE_USB_STORAGE); DO_TEST("disk-usb-device-removable", QEMU_CAPS_DEVICE_USB_STORAGE, QEMU_CAPS_USB_STORAGE_REMOVABLE); - DO_TEST_FAILURE("disk-usb-pci", - QEMU_CAPS_DEVICE_USB_STORAGE); + DO_TEST_PARSE_ERROR("disk-usb-pci", + QEMU_CAPS_DEVICE_USB_STORAGE); DO_TEST_CAPS_LATEST("disk-scsi"); DO_TEST_CAPS_VER("disk-scsi-device-auto", "1.5.3"); DO_TEST_CAPS_LATEST("disk-scsi-device-auto"); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index d8040e8871..f4a5aa18f7 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -328,9 +328,9 @@ mymain(void) DO_TEST_CAPS_LATEST("disk-aio-io_uring"); DO_TEST("disk-cdrom", NONE); DO_TEST_CAPS_LATEST("disk-cdrom-empty-network-invalid"); - DO_TEST("disk-cdrom-bus-other", NONE); + DO_TEST("disk-cdrom-bus-other", QEMU_CAPS_DEVICE_USB_STORAGE); DO_TEST("disk-floppy", NONE); - DO_TEST("disk-usb-device", NONE); + DO_TEST("disk-usb-device", QEMU_CAPS_DEVICE_USB_STORAGE); DO_TEST("disk-virtio", NONE); DO_TEST("floppy-drive-fat", NONE); DO_TEST("disk-virtio-queues", QEMU_CAPS_VIRTIO_BLK_NUM_QUEUES); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708310; cv=none; d=zohomail.com; s=zohoarc; b=k5ku2foP+Gbb7S5Q30TbGL/H7RanZrwvTQ0pX+9mkC0e+vXdbUF3fWz1tLoVsip0PAhYmpSaPF/Z6K/9Qg4iZ7uaGvNZq0TA4MVd+oIjWi/DoAdzadwnPfJ5VjRAHlrSAgeTN7YWne8DflmpVVXZVh0KFYp1LjI7JtgMWVXcq2w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708310; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=YbkeYcP+DAaM2I+vrtsrWZa2dz4nbHdQ62yGl7rpMhk=; b=hN0KGqgXXid7MXCXE+1/CFVPS0wa38FGgL/giP90hqQ3nmm8CgtsscTMxpjwZmGhmMdNzSga+rIbB9jss1kil1y4gSYJoqvmDE842jNUzpv9wL3QKq1/xdrRR33foBwzx7vZYOK2KD0RlNPyChjIjW/QoMiOcOXN/EYPGyze2L0= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708310370950.2408711434473; Wed, 14 Oct 2020 13:45:10 -0700 (PDT) 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-557-lWmA6l2JPCCiypcYLu8LOg-1; Wed, 14 Oct 2020 16:44:48 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id BE31F5708F; Wed, 14 Oct 2020 20:44:41 +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 948321992D; Wed, 14 Oct 2020 20:44: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 615BA181A899; Wed, 14 Oct 2020 20:44:41 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhZWV028668 for ; Wed, 14 Oct 2020 16:43:35 -0400 Received: by smtp.corp.redhat.com (Postfix) id A48421067DB4; Wed, 14 Oct 2020 20:43:35 +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 A05F910921B9 for ; Wed, 14 Oct 2020 20:43:35 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7A40B1021F73 for ; Wed, 14 Oct 2020 20:43:35 +0000 (UTC) Received: from mail-io1-f43.google.com (mail-io1-f43.google.com [209.85.166.43]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-278-49Oy1sTWOpagnrPjpz6TGg-1; Wed, 14 Oct 2020 16:43:33 -0400 Received: by mail-io1-f43.google.com with SMTP id q25so963151ioh.4 for ; Wed, 14 Oct 2020 13:43:33 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:31 -0700 (PDT) X-MC-Unique: lWmA6l2JPCCiypcYLu8LOg-1 X-MC-Unique: 49Oy1sTWOpagnrPjpz6TGg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=YbkeYcP+DAaM2I+vrtsrWZa2dz4nbHdQ62yGl7rpMhk=; b=FHaKks8gck71CUxxTIwq5Xn4EK2l8/6Rf7+DgS8nhtNeeqEx3/myXelwgWJqYz4nDw xeUY8i4A4ZdaYoEwO6GFxQ6nQJBAr5ZsjI1J7s+AFEsDqznS5q90ot1FCWfYvWXhVDVK bBKKNGMSeevIFrHsVyTJfQdcb/ZWWdhF/j2rQcSHzSrhiJM5G34f0q6VacXmnXkN8IEC NKRM6fJ31glQ/jh05oxUxt8hSJGY2wMXn8jyy/9OlUYubJ1YwBgjHG3ExQ3py7PjkGM5 AJvfW/l/wUMH9mJ6ii4sUWsJ7Ziob2eA0QRo4qNXucCF67AHiuHf5lAwwDV5MTNCV7OH luuQ== X-Gm-Message-State: AOAM5316v0LJ0cnpcPoPl9GHz6mD6CuMeAb5XFuGJmpptsFUdNZJjtWQ ikb9xMPDunnI8OGiDhSBNeOBi+5EIJ8= X-Google-Smtp-Source: ABdhPJyquFw+YP8jGhCKKK63ynXxYJAABq9cXbHdf3GU/tVSfDWp7Th9loYH+ziU8ZP6caOJG0fd5g== X-Received: by 2002:a6b:6b09:: with SMTP id g9mr917221ioc.203.1602708212123; Wed, 14 Oct 2020 13:43:32 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 07/24] qemu_command.c: move QEMU_CAPS_VIRTIO_TX_ALG check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:50 -0300 Message-Id: <20201014204307.631746-8-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.84 on 10.5.11.23 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 4 ---- src/qemu/qemu_validate.c | 8 ++++++++ tests/qemuxml2xmltest.c | 4 ++-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 06ac175b67..1629fac659 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3330,10 +3330,6 @@ qemuBuildNicDevStr(virDomainDefPtr def, net->driver.virtio.txmode); return NULL; } - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio-net-pci 'tx' option not supported in = this QEMU binary")); - return NULL; } } if (usingVirtio) { diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index beaa1aedce..c874a05f5b 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1253,6 +1253,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNe= tDef *net, } =20 if (virDomainNetIsVirtioModel(net)) { + if (net->driver.virtio.txmode && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_TX_ALG)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtio-net-pci 'tx' option not supported in " + "this QEMU binary")); + return -1; + } + if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queu= e_size - 1)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("rx_queue_size has to be a power of two")); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index f4a5aa18f7..c1b70025b1 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -467,7 +467,7 @@ mymain(void) DO_TEST("net-user", NONE); DO_TEST("net-user-addr", NONE); DO_TEST("net-virtio", NONE); - DO_TEST("net-virtio-device", NONE); + DO_TEST("net-virtio-device", QEMU_CAPS_VIRTIO_TX_ALG); DO_TEST("net-virtio-disable-offloads", NONE); DO_TEST("net-eth", NONE); DO_TEST("net-eth-ifname", NONE); @@ -795,7 +795,7 @@ mymain(void) DO_TEST("numad-auto-memory-vcpu-no-cpuset-and-placement", NONE); DO_TEST("numad-auto-memory-vcpu-cpuset", NONE); DO_TEST("usb-ich9-ehci-addr", NONE); - DO_TEST("disk-copy_on_read", NONE); + DO_TEST("disk-copy_on_read", QEMU_CAPS_VIRTIO_TX_ALG); DO_TEST_CAPS_LATEST("tpm-passthrough"); DO_TEST_CAPS_LATEST("tpm-passthrough-crb"); DO_TEST_CAPS_LATEST("tpm-emulator"); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708294; cv=none; d=zohomail.com; s=zohoarc; b=PrP0KfR+L7hydmQTim8x39i5YuPKOhF2BfVYCG/vEDawTprRytBsavDzDsaWEAyMEjlvblMNXkTiDjsC5UyhHUlI+Cot3Vr8fzqo4wrOnJZtsS8G56oQNQ7QHiVdwrJIVFMDSrsdxTOsHYcd7jRFK34nP1atbkgy0Q5qcVYfl9s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708294; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=Awi3Nwjz9YwCtg9rOfizLcVyh6gOBc3K2Lit0Yg09nc=; b=b5keGHg2qGL08554kBEsp9Rx+NI30BIV4/KhOGml1cWVh/XKvY/yd2fHcV7AkX+eo2rXF/qph/37ANwdohmQhQ1YvO76UVL55jAlhSkl+PiVrU/P/s4/kcNaNZFiVs3DaF0ZE2yjGSoUmpCugpbWGZpu22Xu1UcYYsNK9+WbwHw= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708294742432.19734287136873; Wed, 14 Oct 2020 13:44:54 -0700 (PDT) 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-587-Y5JsimAcPm6ayU8nbkqp4A-1; Wed, 14 Oct 2020 16:44:50 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 48F7C879535; Wed, 14 Oct 2020 20:44:44 +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 2728619C59; Wed, 14 Oct 2020 20:44:44 +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 E7DDC181A8C0; Wed, 14 Oct 2020 20:44:43 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKha6N028682 for ; Wed, 14 Oct 2020 16:43:37 -0400 Received: by smtp.corp.redhat.com (Postfix) id CE5ED1092196; Wed, 14 Oct 2020 20:43:36 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CA5D01067DB4 for ; Wed, 14 Oct 2020 20:43:36 +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-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B255D182360B for ; Wed, 14 Oct 2020 20:43:36 +0000 (UTC) Received: from mail-io1-f46.google.com (mail-io1-f46.google.com [209.85.166.46]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-159-Ps56THfZPTCKaVK59rEX1w-1; Wed, 14 Oct 2020 16:43:34 -0400 Received: by mail-io1-f46.google.com with SMTP id q25so963285ioh.4 for ; Wed, 14 Oct 2020 13:43:34 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:33 -0700 (PDT) X-MC-Unique: Y5JsimAcPm6ayU8nbkqp4A-1 X-MC-Unique: Ps56THfZPTCKaVK59rEX1w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Awi3Nwjz9YwCtg9rOfizLcVyh6gOBc3K2Lit0Yg09nc=; b=Txkm9AJt+zzhldh/0UdcB0olVH5vlkUFvSVE2MH1hhRmNYxQOlMKHhzp3BUIVesIIO h7BLV70Hj7tnQ2KYYPmiRo7HtN1dO9JePwx9KbzmOydz8qAceZCoR9TcL2x/4w90Ggx+ CZsPGvVTgp764q/y1xplAdDEZF9YuWcUSiuLPPdqU/rQz0zXPQGM+/AYuemZ3SspTo+7 Xbjsl21wfIb5X9cTGnkUR4kXgpJV0Hv+IB3GMa2t7eiBx57ABx0MsXRnO640ACJCG33j 2OAmGMMb7eeOREYLCDfyRZ26OE7SQn++3FEdfJU+ssTx6+6hE/Q7bZl0CdIRApCrTzfH 8A7A== X-Gm-Message-State: AOAM5330bJJhTQd4stz0M4lG441zOy4/cGf7LTwaYQCq94Jn5ud9hHkM Edxq41RsdNdDxoYcaDASw2LLqy4rzyA= X-Google-Smtp-Source: ABdhPJxFGCEJVWG5Av/aotnm2czNon1EjQqEhoi9kn2NKaehLRbK5FuE+kdEN+dMJTZ6xtXaDECpUw== X-Received: by 2002:a6b:1505:: with SMTP id 5mr959792iov.3.1602708213606; Wed, 14 Oct 2020 13:43:33 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 08/24] qemu_command.c: move QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:51 -0300 Message-Id: <20201014204307.631746-9-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.84 on 10.5.11.23 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 10 +++------- src/qemu/qemu_validate.c | 8 ++++++++ .../net-virtio-rxqueuesize-invalid-size.err | 2 +- tests/qemuxml2xmltest.c | 3 ++- 4 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 1629fac659..acbd5b1234 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3401,14 +3401,10 @@ qemuBuildNicDevStr(virDomainDefPtr def, virBufferAsprintf(&buf, ",mq=3Don,vectors=3D%zu", 2 * vhostfdS= ize + 2); } } - if (usingVirtio && net->driver.virtio.rx_queue_size) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE))= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio rx_queue_size option is not supported= with this QEMU binary")); - return NULL; - } + + if (usingVirtio && net->driver.virtio.rx_queue_size) virBufferAsprintf(&buf, ",rx_queue_size=3D%u", net->driver.virtio.= rx_queue_size); - } + if (usingVirtio && net->driver.virtio.tx_queue_size) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE))= { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index c874a05f5b..7be5420af1 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1261,6 +1261,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNe= tDef *net, return -1; } =20 + if (net->driver.virtio.rx_queue_size && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE))= { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtio rx_queue_size option is not supported= " + "with this QEMU binary")); + return -1; + } + if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queu= e_size - 1)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("rx_queue_size has to be a power of two")); diff --git a/tests/qemuxml2argvdata/net-virtio-rxqueuesize-invalid-size.err= b/tests/qemuxml2argvdata/net-virtio-rxqueuesize-invalid-size.err index c7f8d7b471..fcb5fc866f 100644 --- a/tests/qemuxml2argvdata/net-virtio-rxqueuesize-invalid-size.err +++ b/tests/qemuxml2argvdata/net-virtio-rxqueuesize-invalid-size.err @@ -1 +1 @@ -unsupported configuration: rx_queue_size has to be a power of two +unsupported configuration: virtio rx_queue_size option is not supported wi= th this QEMU binary diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index c1b70025b1..19beb85f96 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -474,7 +474,8 @@ mymain(void) DO_TEST("net-eth-hostip", NONE); DO_TEST("net-eth-unmanaged-tap", NONE); DO_TEST("net-virtio-network-portgroup", NONE); - DO_TEST("net-virtio-rxtxqueuesize", NONE); + DO_TEST("net-virtio-rxtxqueuesize", + QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE); DO_TEST("net-virtio-teaming", QEMU_CAPS_VIRTIO_NET_FAILOVER, QEMU_CAPS_DEVICE_VFIO_PCI); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708296; cv=none; d=zohomail.com; s=zohoarc; b=SeM8f6u6ybn/Vw84KcSNHPShAqFY5GKhf2TtvIddAbC3O8MaEMla1thBa0kaVJGjxz9BvX4aoegwUO5Y49qxQWwDerOK7eYvBiseZIPKUAI4tJPSyJQ35GSp00tBF5Aw0Sb8ZkL45uPuP14DBEXxMYYqnFHTi9u6n9athSDmnYQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708296; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=O1ULfoZN7//onue06l3kLXvb80y3ojAsog6P1N/PFFg=; b=bz2gtiWKCWLSNOQmurCvxCPIe3Ow3ocPm1KOaQ+LGXSRzaR21qvC4CgHwEM5h3h7huJSqoIWmcLuSl4NbS9SoGhyAVeNvRPCaTBBxZwAqAbkBm65pjAPjcyBRIPJKtSGAh78IspjHhnPIpODsZb6HzQaoB38ydmUwalc1GCGCNs= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 160270829674255.262154759948544; Wed, 14 Oct 2020 13:44:56 -0700 (PDT) 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-108-RXJhji6bNuuzHjY_zGmQ0g-1; Wed, 14 Oct 2020 16:44:53 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 72D8B107B476; Wed, 14 Oct 2020 20:44:47 +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 5361876677; Wed, 14 Oct 2020 20:44:47 +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 233075813B; Wed, 14 Oct 2020 20:44:47 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKheel028710 for ; Wed, 14 Oct 2020 16:43:40 -0400 Received: by smtp.corp.redhat.com (Postfix) id 694701711D8; Wed, 14 Oct 2020 20:43:40 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 6413E1711D7 for ; Wed, 14 Oct 2020 20:43:40 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 3DD64800186 for ; Wed, 14 Oct 2020 20:43:40 +0000 (UTC) Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-94-93pGV8clPvGEA0q-iok-2g-1; Wed, 14 Oct 2020 16:43:36 -0400 Received: by mail-io1-f67.google.com with SMTP id r4so999738ioh.0 for ; Wed, 14 Oct 2020 13:43:36 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:34 -0700 (PDT) X-MC-Unique: RXJhji6bNuuzHjY_zGmQ0g-1 X-MC-Unique: 93pGV8clPvGEA0q-iok-2g-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=O1ULfoZN7//onue06l3kLXvb80y3ojAsog6P1N/PFFg=; b=EKWBohGkQWd2JVjS/UbpNWIJNoWKBeyzklhN3+u7uGrZ3QxrUg8ISheFizOzF49iJf QunjSsLQ5rPh8Jfvkj718tQInBcJTMPFOnQ2PDHE1JL+qHx/4E2lpIWTdDNCBcorCH3p A1RCkf1UEYAHVkGzwzKw18SufjzesQOn8b1ec9ULmPqZ7/o3TmUWoBV4SmyoOGr0KkH9 hAFjfd1q3TD9IRCNDC0iBa0GQl7vYAtvFn8xRYILtA2zTQxYXYzl80pbic/GRaS0qTFH pSvnzkEjpzUBZ9BvSRXLvUcG4RGwvkeHI2sbCEfJ3ppRr41Yi8V5gUqCly/iXpRLrSKU mXvQ== X-Gm-Message-State: AOAM53216PHXA04eI+RTJRaf8QIIAk3OI+07DbvzLX1dsp1ndi1gKBUE EfQFBwvFbP66UUwZAcnLyHz1XmfrKDw= X-Google-Smtp-Source: ABdhPJxoP+LUGxkpDHmZGVAmFwDzS3NWg8MRPzUxIDiMF9yTAAWYwKG4CYsCKuCdfGFzXKB64xqPpA== X-Received: by 2002:a6b:4014:: with SMTP id k20mr922141ioa.177.1602708215210; Wed, 14 Oct 2020 13:43:35 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 09/24] qemu_command.c: move QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:52 -0300 Message-Id: <20201014204307.631746-10-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.11 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 8 +------- src/qemu/qemu_validate.c | 8 ++++++++ tests/qemuxml2xmltest.c | 3 ++- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index acbd5b1234..9f45faa490 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3405,14 +3405,8 @@ qemuBuildNicDevStr(virDomainDefPtr def, if (usingVirtio && net->driver.virtio.rx_queue_size) virBufferAsprintf(&buf, ",rx_queue_size=3D%u", net->driver.virtio.= rx_queue_size); =20 - if (usingVirtio && net->driver.virtio.tx_queue_size) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE))= { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("virtio tx_queue_size option is not supported= with this QEMU binary")); - return NULL; - } + if (usingVirtio && net->driver.virtio.tx_queue_size) virBufferAsprintf(&buf, ",tx_queue_size=3D%u", net->driver.virtio.= tx_queue_size); - } =20 if (usingVirtio && net->mtu) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_HOST_MTU)) { diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 7be5420af1..9623ebed96 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1269,6 +1269,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNe= tDef *net, return -1; } =20 + if (net->driver.virtio.tx_queue_size && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE))= { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("virtio tx_queue_size option is not supported= " + "with this QEMU binary")); + return -1; + } + if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queu= e_size - 1)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("rx_queue_size has to be a power of two")); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 19beb85f96..e85f2188db 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -475,7 +475,8 @@ mymain(void) DO_TEST("net-eth-unmanaged-tap", NONE); DO_TEST("net-virtio-network-portgroup", NONE); DO_TEST("net-virtio-rxtxqueuesize", - QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE); + QEMU_CAPS_VIRTIO_NET_RX_QUEUE_SIZE, + QEMU_CAPS_VIRTIO_NET_TX_QUEUE_SIZE); DO_TEST("net-virtio-teaming", QEMU_CAPS_VIRTIO_NET_FAILOVER, QEMU_CAPS_DEVICE_VFIO_PCI); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708300; cv=none; d=zohomail.com; s=zohoarc; b=S3uDXG8GSvV8+yywpKK5m9ezyLU9b/GE5o4zal7MNksplSjjkhpDWSh5o3f7dFBS1IXL46nqlsXn97149oIzwU2aGsYdxgUOhdyu95G7nFPhiv2ih61PAtG2Z1KPlbvJ0rZ382YV4Irl5vIXTOCL2cS3NHmjI7jmm29ddi+3Or8= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708300; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=nHbu/nqQ9a+ABIX4cn79AHBPd6SS9iOnS4MoseqZ9M0=; b=fBCWRVwOgIMrjSgoqVYph2RMKASUnOV7aZf2Z3lfMU4ITI69Yqi6PibnheNFcLMi3b/FUgYJfA6IBdCLYAkPvUQF4jJ5jYqTiw5o+/U+p72xJlVDhfoid4SgyO5M0bLmEL8Z8kQgVrJb85CjlB4yk3+qMSKfoA+uRuqiqu2JipM= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708300672801.0573998258404; Wed, 14 Oct 2020 13:45:00 -0700 (PDT) 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-499-xPYmoV4wPaSbhN0GzehOvA-1; Wed, 14 Oct 2020 16:44:57 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 3D7D8107B478; Wed, 14 Oct 2020 20:44:50 +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 16F145577F; Wed, 14 Oct 2020 20:44:50 +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 CFBA492F38; Wed, 14 Oct 2020 20:44:49 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKheP4028709 for ; Wed, 14 Oct 2020 16:43:40 -0400 Received: by smtp.corp.redhat.com (Postfix) id 625B22166BB3; Wed, 14 Oct 2020 20:43:40 +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 5D3812166B27 for ; Wed, 14 Oct 2020 20:43:40 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4317D1021F73 for ; Wed, 14 Oct 2020 20:43:40 +0000 (UTC) Received: from mail-il1-f193.google.com (mail-il1-f193.google.com [209.85.166.193]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-3-EAB7nvXuOm-HWV8HHduwIg-1; Wed, 14 Oct 2020 16:43:37 -0400 Received: by mail-il1-f193.google.com with SMTP id r10so1014082ilm.11 for ; Wed, 14 Oct 2020 13:43:37 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:36 -0700 (PDT) X-MC-Unique: xPYmoV4wPaSbhN0GzehOvA-1 X-MC-Unique: EAB7nvXuOm-HWV8HHduwIg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=nHbu/nqQ9a+ABIX4cn79AHBPd6SS9iOnS4MoseqZ9M0=; b=tWB/Rvn0HKutCBXOy8cwBLYNe86fN/kCel0XCYZwe4gwadQ5EcL78Knhzhbkw72Q68 dpLU54/vjCyh/NxcLSxQADolBmg6xS4rpIvSN3xTf6NslR7cwYTs6M18PKuV4ZcucXmk CJRbFweNBy9aCGhOuK+3yuYSorWgjrxlci8pd1y/Lzugzgs8CrQ1gV/PunCMWUN3xyOr vS3Un7EC2dc4ItigOlJtNJ4w0EQlkBPaa/JXA0iSWZM8+IEvMzz1WZzcl2LCJTH9yBtN LGm2SSOqGgSbiQOSUiMuX3PY51ah8kT5q7orsQGhzWjnMwgY1++sp3/mus1z00ml/gR2 tw1w== X-Gm-Message-State: AOAM530xZQvFvRSi4XyVLf7JVZpiZer6V+a4b94LKoaIT1IQJGIoVFu+ KLCeeVuHKj5eefC4v+jPQvtlupLbKMc= X-Google-Smtp-Source: ABdhPJyw4gvrN+whB/wrwvyRPk2Lk+yefsqozfvKRN23VzQAXxrw80I5wtz83tGX5AVGkxsVMvXhSg== X-Received: by 2002:a92:8404:: with SMTP id l4mr880121ild.134.1602708216626; Wed, 14 Oct 2020 13:43:36 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 10/24] qemu_command.c: move QEMU_CAPS_VIRTIO_NET_HOST_MTU check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:53 -0300 Message-Id: <20201014204307.631746-11-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 9 ++------- src/qemu/qemu_validate.c | 8 ++++++++ tests/qemuxml2xmltest.c | 2 +- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 9f45faa490..62b8df1a13 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3408,14 +3408,9 @@ qemuBuildNicDevStr(virDomainDefPtr def, if (usingVirtio && net->driver.virtio.tx_queue_size) virBufferAsprintf(&buf, ",tx_queue_size=3D%u", net->driver.virtio.= tx_queue_size); =20 - if (usingVirtio && net->mtu) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_HOST_MTU)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("setting MTU is not supported with this QEMU = binary")); - return NULL; - } + if (usingVirtio && net->mtu) virBufferAsprintf(&buf, ",host_mtu=3D%u", net->mtu); - } + if (usingVirtio && net->teaming.type =3D=3D VIR_DOMAIN_NET_TEAMING_TYP= E_PERSISTENT) virBufferAddLit(&buf, ",failover=3Don"); =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 9623ebed96..ebc70aaf00 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1277,6 +1277,14 @@ qemuValidateDomainDeviceDefNetwork(const virDomainNe= tDef *net, return -1; } =20 + if (net->mtu && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_HOST_MTU)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("setting MTU is not supported with this " + "QEMU binary")); + return -1; + } + if (net->driver.virtio.rx_queue_size & (net->driver.virtio.rx_queu= e_size - 1)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("rx_queue_size has to be a power of two")); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index e85f2188db..a9037101de 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -499,7 +499,7 @@ mymain(void) DO_TEST("watchdog", NONE); DO_TEST("net-bandwidth", QEMU_CAPS_DEVICE_VGA, QEMU_CAPS_VNC); DO_TEST("net-bandwidth2", QEMU_CAPS_DEVICE_VGA, QEMU_CAPS_VNC); - DO_TEST("net-mtu", NONE); + DO_TEST("net-mtu", QEMU_CAPS_VIRTIO_NET_HOST_MTU); DO_TEST("net-coalesce", NONE); DO_TEST("net-many-models", NONE); =20 --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708301; cv=none; d=zohomail.com; s=zohoarc; b=iv0f61AKfo2R1q2DuJSXRAgzSkCIGl4iMVlQCtQbai/CC0FzeFOeXmYCNpZzXNGsfFzxBcyFCSTDVug66KJ19ZgqkBd37xl/kl6fAaPRGm4XV62Yj+s8LgSXED+WwZrX5HRFjhSMySIet9NhSI7S9I36QEBLAcSuh9D/4H/a0Hk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708301; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=UPnaNcaEk4bBWCy5M36ju2Id28jEvaAy76i3/D9ZA9I=; b=C42Ckud+lOmccaYU5bAVDRtWUah2HDwwq98Nb+tsRqRfpJu3jv20BIXCTHrV5FMwCHmHOF1BrSLckdSwg6mMJzwjv2ksE75TgjLgZjR3+SjETHkvAtBQHbKqxLiN5lCYuWvjE2++gdYF9DzICUfTpRoOoMVJQUOjHYqrFDZUIfg= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708301793798.5071273509599; Wed, 14 Oct 2020 13:45:01 -0700 (PDT) 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-399-Bm7D8mMTM-SucrL7bt_4iA-1; Wed, 14 Oct 2020 16:44:58 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id C547787952D; Wed, 14 Oct 2020 20:44:52 +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 9E1B75577F; Wed, 14 Oct 2020 20:44:52 +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 6D96B1826D39; Wed, 14 Oct 2020 20:44:52 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhf1e028722 for ; Wed, 14 Oct 2020 16:43:41 -0400 Received: by smtp.corp.redhat.com (Postfix) id A00EC2166BB3; Wed, 14 Oct 2020 20:43:41 +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 9B05E2166B27 for ; Wed, 14 Oct 2020 20:43:41 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8163C1021F84 for ; Wed, 14 Oct 2020 20:43:41 +0000 (UTC) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-303-_E4q8kEkMra1cB4_3SHipA-1; Wed, 14 Oct 2020 16:43:39 -0400 Received: by mail-io1-f65.google.com with SMTP id 67so933365iob.8 for ; Wed, 14 Oct 2020 13:43:38 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:37 -0700 (PDT) X-MC-Unique: Bm7D8mMTM-SucrL7bt_4iA-1 X-MC-Unique: _E4q8kEkMra1cB4_3SHipA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=UPnaNcaEk4bBWCy5M36ju2Id28jEvaAy76i3/D9ZA9I=; b=nm/7ai6EaAPiDs0Huw6v6oOxrBYkln3kNCQS9TAEXYR9gdfqmABpmAB8osToaMHZBB bNy4r99OjOMl9m/0HCsTxleZGKbGkvLpDxuEIKRJv3gi+xTsy+nTOjgmhhe9bEHjTrH2 J6sL5lIOGuq2O7OwgJMF7ceh5+FyyPC0GkGQLAgYnfwuaBH/k7mbvvY5fVP99QEJZwAt jqRi358ItqF4H6m3Obo8NRCNJA9LeTH4JDM4u9MAZowm9SizarZLWDjUzHLtqpQ5sxr/ CePv2tn3GVeNXyB+6WkV/IW099VAoBT20U4qwO8Idxwz7/e7kNoNACbqdQxcaxIcIbm+ Xu8g== X-Gm-Message-State: AOAM530OupFzixqEq3TSKGA68OzbWGg2ucw5oaTLoIKrUaTJlIyn7Bzc DCUmtgs/ia/YTgzbG9Me7sMMsGEKv48= X-Google-Smtp-Source: ABdhPJy0WHEjtLUHE6Jk3601aMc1jVdD2lhU36rZaRtFIsqEBie+UTmCRuX3Lj+Yj6/PiB7HxU+dhg== X-Received: by 2002:a5d:8e12:: with SMTP id e18mr858723iod.99.1602708218216; Wed, 14 Oct 2020 13:43:38 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 11/24] qemu_command.c: reduce qemuBuildNicDevStr() if clauses Date: Wed, 14 Oct 2020 17:42:54 -0300 Message-Id: <20201014204307.631746-12-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.6 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" We have a lot of "if (usingVirtio)" checks being done while constructing the NIC command line. Let's put all of them in a single "if". Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 50 ++++++++++++++++++++--------------------- 1 file changed, 25 insertions(+), 25 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 62b8df1a13..a4f1cbce11 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3306,8 +3306,9 @@ qemuBuildNicDevStr(virDomainDefPtr def, virBufferAddStr(&buf, virDomainNetGetModelString(net)); } =20 - if (usingVirtio && net->driver.virtio.txmode) { - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_TX_ALG)) { + if (usingVirtio) { + if (net->driver.virtio.txmode && + virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_TX_ALG)) { virBufferAddLit(&buf, ",tx=3D"); switch (net->driver.virtio.txmode) { case VIR_DOMAIN_NET_VIRTIO_TX_MODE_IOTHREAD: @@ -3331,8 +3332,6 @@ qemuBuildNicDevStr(virDomainDefPtr def, return NULL; } } - } - if (usingVirtio) { qemuBuildIoEventFdStr(&buf, net->driver.virtio.ioeventfd, qemuCaps= ); if (net->driver.virtio.event_idx && virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_NET_EVENT_IDX)) { @@ -3387,32 +3386,33 @@ qemuBuildNicDevStr(virDomainDefPtr def, virBufferAsprintf(&buf, ",guest_ufo=3D%s", virTristateSwitchTypeToString(net->driver.vi= rtio.guest.ufo)); } - } - if (usingVirtio && vhostfdSize > 1) { - if (net->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { - /* ccw provides a one to one relation of fds to queues and - * does not support the vectors option - */ - virBufferAddLit(&buf, ",mq=3Don"); - } else { - /* As advised at https://www.linux-kvm.org/page/Multiqueue - * we should add vectors=3D2*N+2 where N is the vhostfdSize - */ - virBufferAsprintf(&buf, ",mq=3Don,vectors=3D%zu", 2 * vhostfdS= ize + 2); + + if (vhostfdSize > 1) { + if (net->info.type =3D=3D VIR_DOMAIN_DEVICE_ADDRESS_TYPE_CCW) { + /* ccw provides a one to one relation of fds to queues and + * does not support the vectors option + */ + virBufferAddLit(&buf, ",mq=3Don"); + } else { + /* As advised at https://www.linux-kvm.org/page/Multiqueue + * we should add vectors=3D2*N+2 where N is the vhostfdSize + */ + virBufferAsprintf(&buf, ",mq=3Don,vectors=3D%zu", 2 * vhos= tfdSize + 2); + } } - } =20 - if (usingVirtio && net->driver.virtio.rx_queue_size) - virBufferAsprintf(&buf, ",rx_queue_size=3D%u", net->driver.virtio.= rx_queue_size); + if (net->driver.virtio.rx_queue_size) + virBufferAsprintf(&buf, ",rx_queue_size=3D%u", net->driver.vir= tio.rx_queue_size); =20 - if (usingVirtio && net->driver.virtio.tx_queue_size) - virBufferAsprintf(&buf, ",tx_queue_size=3D%u", net->driver.virtio.= tx_queue_size); + if (net->driver.virtio.tx_queue_size) + virBufferAsprintf(&buf, ",tx_queue_size=3D%u", net->driver.vir= tio.tx_queue_size); =20 - if (usingVirtio && net->mtu) - virBufferAsprintf(&buf, ",host_mtu=3D%u", net->mtu); + if (net->mtu) + virBufferAsprintf(&buf, ",host_mtu=3D%u", net->mtu); =20 - if (usingVirtio && net->teaming.type =3D=3D VIR_DOMAIN_NET_TEAMING_TYP= E_PERSISTENT) - virBufferAddLit(&buf, ",failover=3Don"); + if (net->teaming.type =3D=3D VIR_DOMAIN_NET_TEAMING_TYPE_PERSISTEN= T) + virBufferAddLit(&buf, ",failover=3Don"); + } =20 virBufferAsprintf(&buf, ",netdev=3Dhost%s", net->info.alias); virBufferAsprintf(&buf, ",id=3D%s", net->info.alias); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708276; cv=none; d=zohomail.com; s=zohoarc; b=jru903Th7kKVkydCXVCuxJhr3lZqAUst2POKBF8f2vDGm8hR5kXni9H9oSaT389bGkP+8KeZ7/Qut7BND8u4M1gdjI7a//Wgi+6X/9o6Il+IXohislhKtgzM/b287Jqwt7qT8+gf7FqiY2CcMnUSQeacgPlQknx5BSWZh59k4+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708276; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=FeSq+aNBytkK2J7tLCctC9qpF1rn7o5DPBsofRprxB4=; b=IHJ+dTHxzpbBcfxwFjCNyOVLWfheOvnggUK1+H2sr58X9DPyn8uD00uGaQY0RmGKTTMVGSCONYRRWe3Rb47+kWasnCk6ur+D4rQBhL3qiQuQkHkjBCRnvUy7mHbNQVJL2qxFrfYzdPe0r2S3IqV3ET+NZilfwUxAqiqGbnx7m/8= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708276010650.9193819430558; Wed, 14 Oct 2020 13:44:36 -0700 (PDT) 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-155-o7RfPUayOTORQfoR4M2Jig-1; Wed, 14 Oct 2020 16:44:31 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B904257059; Wed, 14 Oct 2020 20:44:25 +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 9304B75131; Wed, 14 Oct 2020 20:44: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 5C13458116; Wed, 14 Oct 2020 20:44:25 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhhSx028737 for ; Wed, 14 Oct 2020 16:43:43 -0400 Received: by smtp.corp.redhat.com (Postfix) id 586E71092196; Wed, 14 Oct 2020 20:43:43 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 544891067DB4 for ; Wed, 14 Oct 2020 20:43:43 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2B77785829D for ; Wed, 14 Oct 2020 20:43:43 +0000 (UTC) Received: from mail-io1-f51.google.com (mail-io1-f51.google.com [209.85.166.51]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-456-9w8ZdSBAOmmxLakIw1QKTQ-1; Wed, 14 Oct 2020 16:43:40 -0400 Received: by mail-io1-f51.google.com with SMTP id g7so893551iov.13 for ; Wed, 14 Oct 2020 13:43:40 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:39 -0700 (PDT) X-MC-Unique: o7RfPUayOTORQfoR4M2Jig-1 X-MC-Unique: 9w8ZdSBAOmmxLakIw1QKTQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=FeSq+aNBytkK2J7tLCctC9qpF1rn7o5DPBsofRprxB4=; b=j2sGuvKnkCor/cKuYwYVef/03yiqE8gCDc/LoxMuG0dWsIFdt0ocqRERSgeYxNqwIU 6csrpku4Y10GQM8CnKgFidt0JmAfXSgf4UAyKyZVPwhwKEE6X4OpZELXtAMB2JgCU4dv ywhnGfyVwDv44f8i85ZLJ3Ck/C3zKXjlJbYoX+FTAAK3HpRNRbQfPMu5ZREnq4vEWyQD aCKVSQplP7rZcbXuCEctg1dO/hcUkSXuH+9zO+wafYA/nfCdfvM7DLXdxIQBVRHNddJf ZWkis/FsErN6lplsxx20o2ZBTDNMnJpk4ll/0x4PkXcG+FIInkVdiCbLBnqM8w8Cr7Zk RkZA== X-Gm-Message-State: AOAM530mKYgsWP0oY6arS+BhMdzYPuoUOU8Y+1//K1GL9a1bMgb0MViE xYmCsvnLOLOwi/Wz78LBJJ4gd6/RZuo= X-Google-Smtp-Source: ABdhPJwF98WkCfRhvYYz0MTxAl5neg2J5eQYFSkRAFgTMF9vZkD6MJPz5iYX/s2g0s0cLbQTAh6szQ== X-Received: by 2002:a6b:7f43:: with SMTP id m3mr964094ioq.114.1602708219869; Wed, 14 Oct 2020 13:43:39 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 12/24] qemu_command.c: move QEMU_CAPS_DEVICE_USB_KBD check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:55 -0300 Message-Id: <20201014204307.631746-13-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 6 ------ src/qemu/qemu_validate.c | 9 +++++++++ tests/qemuhotplugtest.c | 1 + 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index a4f1cbce11..f9387a65e0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3823,12 +3823,6 @@ qemuBuildUSBInputDevStr(const virDomainDef *def, virBufferAsprintf(&buf, "usb-tablet,id=3D%s", dev->info.alias); break; case VIR_DOMAIN_INPUT_TYPE_KBD: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_KBD)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("usb keyboard is not supported by this " - "QEMU binary")); - return NULL; - } virBufferAsprintf(&buf, "usb-kbd,id=3D%s", dev->info.alias); break; } diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index ebc70aaf00..5de468af60 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -3993,6 +3993,15 @@ qemuValidateDomainDeviceDefInput(const virDomainInpu= tDef *input, return -1; } =20 + if (input->bus =3D=3D VIR_DOMAIN_INPUT_BUS_USB && + input->type =3D=3D VIR_DOMAIN_INPUT_TYPE_KBD && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_USB_KBD)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("usb keyboard is not supported by this " + "QEMU binary")); + return -1; + } + if (input->bus !=3D VIR_DOMAIN_INPUT_BUS_VIRTIO) return 0; =20 diff --git a/tests/qemuhotplugtest.c b/tests/qemuhotplugtest.c index 2d12cacf28..0948c8792d 100644 --- a/tests/qemuhotplugtest.c +++ b/tests/qemuhotplugtest.c @@ -89,6 +89,7 @@ qemuHotplugCreateObjects(virDomainXMLOptionPtr xmlopt, virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SPICE_FILE_XFER_DISABLE); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_PR_MANAGER_HELPER); virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_SCSI_BLOCK); + virQEMUCapsSet(priv->qemuCaps, QEMU_CAPS_DEVICE_USB_KBD); =20 if (qemuTestCapsCacheInsert(driver.qemuCapsCache, priv->qemuCaps) < 0) return -1; --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708306; cv=none; d=zohomail.com; s=zohoarc; b=IIor3zFWosRA6S3q9CgUsoMRmhh1gfqCdyP4HRHIJN2OPOcDl05FcveeHpGGE5w4gznB3q7IXQQUJ5sqhxuNBtynEy3qUsJP7NokZC3Fvcz+BXKv3P8FfaKbg6xsgGciZt5SQTI8Du2IZDnt3dhwjuZnuQ/7bcv9HWmD2+LK5Tk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708306; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=HcYo/8VuepAcpLx67qwoVPFM5i60wB3zAA81i9B5WI8=; b=kOpwVIve7x0lNIv95AGegLxAnAec6lpWaF4fytcWAfb7q8wAK5KsB0eCAobY8Gcyz6OWZZgJeoQ+JM3V2IJ5E2zxCuGuYT4dCg8dxKlwfy0eS9tLC+/HTE9F2iQgvydNcip+q8JRvQzT1ifzn2Hjd1dPgcW4O1sdOYfY6iAQnvs= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 160270830642561.95067963097722; Wed, 14 Oct 2020 13:45:06 -0700 (PDT) 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-277-bcKqMJqFPHeQfY2pYFA-EQ-1; Wed, 14 Oct 2020 16:45:03 -0400 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 7B780186DD2F; Wed, 14 Oct 2020 20:44:55 +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 582916EF71; Wed, 14 Oct 2020 20:44:55 +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 2392292F3A; Wed, 14 Oct 2020 20:44:55 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhklu028769 for ; Wed, 14 Oct 2020 16:43:47 -0400 Received: by smtp.corp.redhat.com (Postfix) id D2D0E1067DB4; Wed, 14 Oct 2020 20:43:46 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id CD39910921B5 for ; Wed, 14 Oct 2020 20:43:44 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id B4AA480CDC0 for ; Wed, 14 Oct 2020 20:43:44 +0000 (UTC) Received: from mail-io1-f50.google.com (mail-io1-f50.google.com [209.85.166.50]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-90-48X-MlckMiGXY4f6I0FeVQ-1; Wed, 14 Oct 2020 16:43:42 -0400 Received: by mail-io1-f50.google.com with SMTP id u19so976285ion.3 for ; Wed, 14 Oct 2020 13:43:42 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:41 -0700 (PDT) X-MC-Unique: bcKqMJqFPHeQfY2pYFA-EQ-1 X-MC-Unique: 48X-MlckMiGXY4f6I0FeVQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=HcYo/8VuepAcpLx67qwoVPFM5i60wB3zAA81i9B5WI8=; b=iBMW27ujR4CEVKhuKJP9v/U0fnLsJ4r+lLf08h2By/KpqpqJSzHpiPQXXyvLNmvSeU Z1XilnC+2w5Uz0GZ0AEnngsu/+ueXAkIN8XoKGx2yDZzfhRLAjMhg7yfKCd/KxECF370 8v2Pm1f6ffItBHM0JcA8cenYnG84vhnRz/LPQb+U0N1ULRVXeB4WB3rvSR4b3SWgRWxs 5WA3VOpFJOUSRT4iUfP4Rs4qbak+xCHKBxxAyRYOkDnixKkq9f6AGcPyUI0Bkc/qRREI IHGbV9jENtVWrjKls/sBNyWBffJ9S3LRij9zT3d/DCsUoKDJHqa8ORfp0KY5lM6CDIMf CqOw== X-Gm-Message-State: AOAM531c9CB/ZFXziXXXpbqN7OHWgQySlVgTrYIfW5I2pMvX6NqJK5OJ wdLHxI08VcMYdRH+OhNNf4SwaogZfsc= X-Google-Smtp-Source: ABdhPJxofjzkPX5yyeG4UxfD2xcMZBV5a9aXzUSiWy9KpLO++w90iriKUemb34cVlJYZs26XfkzGGw== X-Received: by 2002:a6b:ef0e:: with SMTP id k14mr932167ioh.131.1602708221412; Wed, 14 Oct 2020 13:43:41 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 13/24] qemu_command.c: move QEMU_CAPS_DEVICE_VHOST_SCSI check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:56 -0300 Message-Id: <20201014204307.631746-14-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 6 ------ src/qemu/qemu_validate.c | 8 ++++++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f9387a65e0..29bfa665c4 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -4461,12 +4461,6 @@ qemuBuildSCSIVHostHostdevDevStr(const virDomainDef *= def, g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainHostdevSubsysSCSIVHostPtr hostsrc =3D &dev->source.subsys.u.s= csi_host; =20 - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VHOST_SCSI)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("This QEMU doesn't support vhost-scsi devices")); - return NULL; - } - if (qemuBuildVirtioDevStr(&buf, "vhost-scsi", qemuCaps, VIR_DOMAIN_DEVICE_HOSTDEV, dev) < 0) { return NULL; diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 5de468af60..1895ad857b 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1895,6 +1895,14 @@ qemuValidateDomainDeviceDefHostdev(const virDomainHo= stdevDef *hostdev, "supported by vhost SCSI devices")); return -1; } + + if (hostdev->source.subsys.u.scsi_host.protocol =3D=3D + VIR_DOMAIN_HOSTDEV_SUBSYS_SCSI_HOST_PROTOCOL_TYPE_VHOST && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VHOST_SCSI)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("This QEMU doesn't support vhost-scsi devices")); + return -1; + } break; case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV: return qemuValidateDomainMdevDef(hostdev, def, qemuCaps); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708277; cv=none; d=zohomail.com; s=zohoarc; b=j3rp0ouLSEr5d6L/6jpeol4FCQ/tI3/uvOC6WYa6VeS2WbkU14NTHiMfaa4aOPF2lbiR1Okq8t7ZV5zVSGtkMtfVegyGEKMHp9Avzm4/kIjxd8oY8LnVTMdR9KOWmV+DHNv6yM2NzGxTbV/Vz/tKyiee+hfSBbVMZh5IYTeHZKA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708277; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=3yeB72eEiVqaxuxck0VC0dkQTMUdssZ6GuxaiVC1nKw=; b=Js7cafi1e5nHcQSncDoeUNQilKF5n2NFvAAILGodBUHhwRu+vzSMgssQ+Tv7PHqhGmW/gw0CxmP/ART0qrDDl28QHyXx7T4QqhKSFKbUODPCL/fiJ8gJEhnd3yAxuuiuzadbAsI2TIDD2U70nnxFHIyWmWlU7GKDzHwGy9gx9Xw= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708277122642.1936433640085; Wed, 14 Oct 2020 13:44:37 -0700 (PDT) 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-406-Z2ZTdM-gNiWXsjmE7pNCWA-1; Wed, 14 Oct 2020 16:44:33 -0400 Received: from smtp.corp.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 75B8057058; Wed, 14 Oct 2020 20:44:28 +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 54F4660C07; Wed, 14 Oct 2020 20:44:28 +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 2162358135; Wed, 14 Oct 2020 20:44:28 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhnaK028788 for ; Wed, 14 Oct 2020 16:43:49 -0400 Received: by smtp.corp.redhat.com (Postfix) id E5E3E151125; Wed, 14 Oct 2020 20:43:48 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E01BC1711DD for ; Wed, 14 Oct 2020 20:43:46 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 81765805F53 for ; Wed, 14 Oct 2020 20:43:46 +0000 (UTC) Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-166-UOgcDzIqNfmhONTRF9WYjg-1; Wed, 14 Oct 2020 16:43:44 -0400 Received: by mail-io1-f67.google.com with SMTP id k21so929034ioa.9 for ; Wed, 14 Oct 2020 13:43:43 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:42 -0700 (PDT) X-MC-Unique: Z2ZTdM-gNiWXsjmE7pNCWA-1 X-MC-Unique: UOgcDzIqNfmhONTRF9WYjg-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=3yeB72eEiVqaxuxck0VC0dkQTMUdssZ6GuxaiVC1nKw=; b=LOWOrN2OO0dQRZzbeaC3RbiQCGNw82jZd6+18Lg43xr6Yg83VhedMO2ZS4TzaSMY2j dDqOtU3+1HenLBId52adtiRTNJqwT04KoI85VPfQ8DwajtU3J1+NPWONfK2Kk6NbhCDJ D8DCE53fdq0UUZoX7zqLQgc8W+g2mr25xNbSsdKNhIwiBIXjNf8cNux/eHzqIHmJzPx3 gHtXdxHiIXVWk1ChMPhayO+Le6TDZyzkXestdsPM9DiAc25p6f711fiUWV4AyuPz3vcC y7ZH/2bIBkCTJyVnX/BnwQK9D/rA7lbGe1mHP8Gg11j5dELTmZn8B0XQzeO7y3SzeQ+s D/xw== X-Gm-Message-State: AOAM530D7N/UXgHKj8PXQYl6z6yHB156H7NnbUnIPZF2UkhjR1jMNIY/ AY4qUvefxtT4ijQfdZKe7wD2W6Zz1XM= X-Google-Smtp-Source: ABdhPJy+/zBc1kWbXqjBbhEFYHvzXT1qoZkW+E9D5kbUmjJPaF234/mKyj37qu0yfwMwSJ/g6A/ATw== X-Received: by 2002:a5e:8b0b:: with SMTP id g11mr994948iok.140.1602708223069; Wed, 14 Oct 2020 13:43:43 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 14/24] qemu_command.c: move RNG backend validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:57 -0300 Message-Id: <20201014204307.631746-15-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.12 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 28 ++-------------------------- src/qemu/qemu_command.h | 1 - src/qemu/qemu_hotplug.c | 2 +- src/qemu/qemu_validate.c | 38 ++++++++++++++++++++++++++++++++++++-- tests/qemuxml2xmltest.c | 9 ++++++--- 5 files changed, 45 insertions(+), 33 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 29bfa665c4..f350800ff0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5342,7 +5342,6 @@ qemuBuildRNGBackendChrdevStr(virLogManagerPtr logMana= ger, =20 int qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, - virQEMUCapsPtr qemuCaps, virJSONValuePtr *props) { g_autofree char *objAlias =3D NULL; @@ -5352,13 +5351,6 @@ qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, =20 switch ((virDomainRNGBackend) rng->backend) { case VIR_DOMAIN_RNG_BACKEND_RANDOM: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_RANDOM)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support the rng-random " - "backend")); - return -1; - } - if (qemuMonitorCreateObjectProps(props, "rng-random", objAlias, "s:filename", rng->source.file, NULL) < 0) @@ -5367,13 +5359,6 @@ qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, break; =20 case VIR_DOMAIN_RNG_BACKEND_EGD: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_EGD)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support the rng-egd " - "backend")); - return -1; - } - if (!(charBackendAlias =3D qemuAliasChardevFromDevAlias(rng->info.= alias))) return -1; =20 @@ -5385,13 +5370,6 @@ qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, break; =20 case VIR_DOMAIN_RNG_BACKEND_BUILTIN: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_BUILTIN)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("this qemu doesn't support the rng-builtin " - "backend")); - return -1; - } - if (qemuMonitorCreateObjectProps(props, "rng-builtin", objAlias, NULL) < 0) return -1; @@ -5399,9 +5377,7 @@ qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, break; =20 case VIR_DOMAIN_RNG_BACKEND_LAST: - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("unknown rng-random backend")); - return -1; + break; } =20 return 0; @@ -5478,7 +5454,7 @@ qemuBuildRNGCommandLine(virLogManagerPtr logManager, if (chardev) virCommandAddArgList(cmd, "-chardev", chardev, NULL); =20 - if (qemuBuildRNGBackendProps(rng, qemuCaps, &props) < 0) + if (qemuBuildRNGBackendProps(rng, &props) < 0) return -1; =20 rc =3D virQEMUBuildObjectCommandlineFromJSON(&buf, props); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 8a30f2852c..12014b1451 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -167,7 +167,6 @@ char *qemuBuildRNGDevStr(const virDomainDef *def, virDomainRNGDefPtr dev, virQEMUCapsPtr qemuCaps); int qemuBuildRNGBackendProps(virDomainRNGDefPtr rng, - virQEMUCapsPtr qemuCaps, virJSONValuePtr *props); =20 /* Current, best practice */ diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 79fc8baa5c..fdb3801af0 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2264,7 +2264,7 @@ qemuDomainAttachRNGDevice(virQEMUDriverPtr driver, if (!(devstr =3D qemuBuildRNGDevStr(vm->def, rng, priv->qemuCaps))) goto cleanup; =20 - if (qemuBuildRNGBackendProps(rng, priv->qemuCaps, &props) < 0) + if (qemuBuildRNGBackendProps(rng, &props) < 0) goto cleanup; =20 if (!(charAlias =3D qemuAliasChardevFromDevAlias(rng->info.alias))) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 1895ad857b..c97b4770b8 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1646,9 +1646,43 @@ static int qemuValidateDomainRNGDef(const virDomainRNGDef *def, virQEMUCapsPtr qemuCaps) { - if (def->backend =3D=3D VIR_DOMAIN_RNG_BACKEND_EGD && - qemuValidateDomainChrSourceDef(def->source.chardev, qemuCaps) < 0) + switch ((virDomainRNGBackend) def->backend) { + case VIR_DOMAIN_RNG_BACKEND_RANDOM: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_RANDOM)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("this qemu doesn't support the rng-random " + "backend")); + return -1; + } + break; + + case VIR_DOMAIN_RNG_BACKEND_EGD: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_EGD)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("this qemu doesn't support the rng-egd " + "backend")); + return -1; + } + + if (qemuValidateDomainChrSourceDef(def->source.chardev, qemuCaps) = < 0) + return -1; + + break; + + case VIR_DOMAIN_RNG_BACKEND_BUILTIN: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_RNG_BUILTIN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("this qemu doesn't support the rng-builtin " + "backend")); + return -1; + } + break; + + case VIR_DOMAIN_RNG_BACKEND_LAST: + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("unknown rng-random backend")); return -1; + } =20 if (qemuValidateDomainVirtioOptions(def->virtio, qemuCaps) < 0) return -1; diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index a9037101de..2213dc8615 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -682,9 +682,11 @@ mymain(void) DO_TEST_CAPS_ARCH_LATEST("disk-arm-virtio-sd", "aarch64"); =20 DO_TEST("virtio-rng-random", - QEMU_CAPS_DEVICE_VIRTIO_RNG); + QEMU_CAPS_DEVICE_VIRTIO_RNG, + QEMU_CAPS_OBJECT_RNG_RANDOM); DO_TEST("virtio-rng-egd", - QEMU_CAPS_DEVICE_VIRTIO_RNG); + QEMU_CAPS_DEVICE_VIRTIO_RNG, + QEMU_CAPS_OBJECT_RNG_EGD); DO_TEST_CAPS_LATEST("virtio-rng-builtin"); =20 DO_TEST("pseries-nvram", @@ -1124,7 +1126,8 @@ mymain(void) DO_TEST_CAPS_LATEST("disk-network-http"); =20 DO_TEST("chardev-label", - QEMU_CAPS_DEVICE_VIRTIO_RNG); + QEMU_CAPS_DEVICE_VIRTIO_RNG, + QEMU_CAPS_OBJECT_RNG_EGD); =20 DO_TEST("cpu-numa1", NONE); DO_TEST("cpu-numa2", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708308; cv=none; d=zohomail.com; s=zohoarc; b=k0DUaT4ZrrHmdjBSv/VoQW5G11tiowskeYrjpCeH7jImzSgdQwVN4GGbNnQ1pYs4MhFwazmxJp2fNQooglzXzKffijtWg82RaiMY2DfU3pohhKbuA6+SJQPVCA/6zg60qTeBhm++HR43Lzh4TiCGyK9xclae/gxskVz3/C2TSUY= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708308; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=TeT40pwJErUPN9ew0oBsrkSAwbaVuozRSGRT4unhmwQ=; b=dVBM1sXm6VZPfpbhqnV+6nxiXgr9qMDUZY9uFYPbYG/bOmT0Z+SDBf+KCxIbG6PSGJIxkeG8Br8PUKPT5GuTEEvK3DZXIAOlXF/LrMquvz+edZsrDw73CkYVKaxE0r86ov5HnaBR3sgwjddo9T7zxCUhDVo8H81VRHhJeko/8Go= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 16027083081831000.8591130003844; Wed, 14 Oct 2020 13:45:08 -0700 (PDT) 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-430-xkOwRJNzNBGoyVcvW6G-fg-1; Wed, 14 Oct 2020 16:45:04 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2BBE964099; Wed, 14 Oct 2020 20:44:58 +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 04FCB5577F; Wed, 14 Oct 2020 20:44:58 +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 C91EA1826D3E; Wed, 14 Oct 2020 20:44:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhmTH028782 for ; Wed, 14 Oct 2020 16:43:48 -0400 Received: by smtp.corp.redhat.com (Postfix) id 1DBF41092196; Wed, 14 Oct 2020 20:43:48 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast01.extmail.prod.ext.rdu2.redhat.com [10.11.55.17]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 19DFB1067DB4 for ; Wed, 14 Oct 2020 20:43:48 +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-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 0211F85829D for ; Wed, 14 Oct 2020 20:43:48 +0000 (UTC) Received: from mail-il1-f177.google.com (mail-il1-f177.google.com [209.85.166.177]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-479-sl_5ZTxYOOex6QB8LZK33Q-1; Wed, 14 Oct 2020 16:43:45 -0400 Received: by mail-il1-f177.google.com with SMTP id p9so1100211ilr.1 for ; Wed, 14 Oct 2020 13:43:45 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:44 -0700 (PDT) X-MC-Unique: xkOwRJNzNBGoyVcvW6G-fg-1 X-MC-Unique: sl_5ZTxYOOex6QB8LZK33Q-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=TeT40pwJErUPN9ew0oBsrkSAwbaVuozRSGRT4unhmwQ=; b=U5u9TuJSx++Usyu5HydsLtIYAXsB/Xuq0F9isLMHRTcU9dQGMLbXp6HaWqL5NwELB5 /tZk6ZODcB3MJxTVtvCeDnWmPwwnlNJ7VXXnVCawytVmNPmFwKoL6grx5Y5YRQ8djH4T vZArSjYQk2YlZQsFFjzOexCUAO1boxqX60muVXJDgUpgQXUTmXAt6cp9HlUmZhXhNlJH iPYeYaf68UzM/bHEkOK2YcVkcmaaCC6dRFQPII2jG7RavIa21pvdVbWW/96GvgF0rIIB etI5m1W1TfCEbmFWD3fVUd65sT6mohYBo/kbmeAggEKUDMD5tXuBrXMdVoXITjrdyvix aTuA== X-Gm-Message-State: AOAM533x0+AdWpR6Q4U23Az7lZ+Q7y8rwnhiQtHR/DY2M7kV2OAoiISq KYVchNqZbcbibztwi/oOPHs6X3si4E8= X-Google-Smtp-Source: ABdhPJzKflw/+LEdRG1rUDn7tny28IAmZ8ZCVxT8PyLQ92sYOpfGc1iLXAuP+7vfzjqTeiaKbjzCYw== X-Received: by 2002:a92:5e18:: with SMTP id s24mr864718ilb.48.1602708224686; Wed, 14 Oct 2020 13:43:44 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 15/24] qemu_command.c: move QEMU_CAPS_FW_CFG validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:58 -0300 Message-Id: <20201014204307.631746-16-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 9 +-------- src/qemu/qemu_validate.c | 7 +++++++ tests/qemuxml2xmltest.c | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index f350800ff0..87d76827e8 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -5758,7 +5758,6 @@ qemuBuildSmbiosCommandLine(virCommandPtr cmd, =20 static int qemuBuildSysinfoCommandLine(virCommandPtr cmd, - virQEMUCapsPtr qemuCaps, const virDomainDef *def) { size_t i; @@ -5771,12 +5770,6 @@ qemuBuildSysinfoCommandLine(virCommandPtr cmd, if (def->sysinfo[i]->type !=3D VIR_SYSINFO_FWCFG) continue; =20 - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_FW_CFG)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("fw_cfg is not supported with this QEMU")); - return -1; - } - for (j =3D 0; j < def->sysinfo[i]->nfw_cfgs; j++) { const virSysinfoFWCfgDef *f =3D &def->sysinfo[i]->fw_cfgs[j]; g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; @@ -9928,7 +9921,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildSmbiosCommandLine(cmd, driver, def) < 0) return NULL; =20 - if (qemuBuildSysinfoCommandLine(cmd, qemuCaps, def) < 0) + if (qemuBuildSysinfoCommandLine(cmd, def) < 0) return NULL; =20 if (qemuBuildVMGenIDCommandLine(cmd, def) < 0) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index c97b4770b8..6200d40f28 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -782,6 +782,13 @@ qemuValidateDomainDefSysinfo(const virSysinfoDef *def, { size_t i; =20 + if (def->type =3D=3D VIR_SYSINFO_FWCFG && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_FW_CFG)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("fw_cfg is not supported with this QEMU")); + return -1; + } + for (i =3D 0; i < def->nfw_cfgs; i++) { const virSysinfoFWCfgDef *f =3D &def->fw_cfgs[i]; =20 diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 2213dc8615..6c551f18ab 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1153,7 +1153,7 @@ mymain(void) QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORB= ELL); DO_TEST("smbios", NONE); DO_TEST("smbios-multiple-type2", NONE); - DO_TEST("smbios-type-fwcfg", NONE); + DO_TEST("smbios-type-fwcfg", QEMU_CAPS_FW_CFG); =20 DO_TEST_CAPS_LATEST("os-firmware-bios"); DO_TEST_CAPS_LATEST("os-firmware-efi"); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708311; cv=none; d=zohomail.com; s=zohoarc; b=NbFm2gtk5kz8PwczT9P8tkncI9gLqSCznJKJE8kO+IK/ZwHCPoeyve1RGYpy9oPYrr42s1wd+1fscSt36OS3iHm9KXrEEQ5xlM7C2BM6ijhGhNWyQGOsLcggS4hOyLgHVIf8U4oTUFMgKEFZJAqT8IPwYLDJBNIV0b+4v1PM+M4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708311; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=7j1g9Wk4BS32R8SGFXIjwEomQPEckNm9KHxtUlvuznU=; b=mNpmMT3U6AloWpPexE3EzJns/C0jroRJRRJwTF7W6FDEqk0famPc7lXV9HoSp9uW90X8hM2K3gIiDo59n9g17OoMQHZ9fdv3IYVIBa8TwwwPyTokkpWHX0lO55gb6utur8MWfH8WjDrrIrMI0PUu7gpNR9J8WE7xOsRfIQnmksQ= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 16027083112661016.8605943281906; Wed, 14 Oct 2020 13:45:11 -0700 (PDT) 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-529-qknmHi6pOyOG_A_su9dTfw-1; Wed, 14 Oct 2020 16:45:07 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 55841835B77; Wed, 14 Oct 2020 20:45:01 +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 35A3C78800; Wed, 14 Oct 2020 20:45:01 +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 F355F18327AB; Wed, 14 Oct 2020 20:45:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhnhr028798 for ; Wed, 14 Oct 2020 16:43:50 -0400 Received: by smtp.corp.redhat.com (Postfix) id BA5AA1711D8; Wed, 14 Oct 2020 20:43:49 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id B50A0151125 for ; Wed, 14 Oct 2020 20:43:49 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 8EFD9800161 for ; Wed, 14 Oct 2020 20:43:49 +0000 (UTC) Received: from mail-il1-f194.google.com (mail-il1-f194.google.com [209.85.166.194]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-338-s3hdAj8lMOe4JyGbGyK-1w-1; Wed, 14 Oct 2020 16:43:47 -0400 Received: by mail-il1-f194.google.com with SMTP id l16so994707ilt.13 for ; Wed, 14 Oct 2020 13:43:47 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:45 -0700 (PDT) X-MC-Unique: qknmHi6pOyOG_A_su9dTfw-1 X-MC-Unique: s3hdAj8lMOe4JyGbGyK-1w-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=7j1g9Wk4BS32R8SGFXIjwEomQPEckNm9KHxtUlvuznU=; b=IQT1cURwWaWQ+lyik26i4Hq2wROcmccm0vjilZ+FK88C5nTiyKxn+s30hOVYrFPK2z 1kuh44T3tyBs1r5WqBTS7U+da2qituzEu08xbsR1uXfEzNAzKplMA9X3ey5UJtanuHCA q8RGMZVf1hHNuGBQFMOR9cSZiz2AYndlnWXCNXGoa3mnMSl9B7pBQdbIMSCeEBS99FFt qpgLpNA6F7QuugkiuFAyj487C0mlVfP8a5SqcPfezSaU/zwxLkF7fkGVmzFp7ukhihs0 2RatRvCIsU+VoruimFxoG1RZXDoquXSd/2ssXjhaPjLLu4CIThycQBnCNhuMW0Spg/Ky r0aQ== X-Gm-Message-State: AOAM530qhslfA55wp71QfimERXShqFFofbKGBDTB56coikdsbZx1xQo3 /+vBd2fnic5tUvbJpYtFeUbOiGPGh5s= X-Google-Smtp-Source: ABdhPJyMyB81acOgMupo3A2f83TdAZv2HT7zgILlJm7Dm0MA3nGDH6EUsUdwkuTheGZtcE5avXr/LQ== X-Received: by 2002:a92:d281:: with SMTP id p1mr778537ilp.188.1602708226129; Wed, 14 Oct 2020 13:43:46 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 16/24] qemu_command.c: move CPU mode check to qemu_validate.c Date: Wed, 14 Oct 2020 17:42:59 -0300 Message-Id: <20201014204307.631746-17-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.11 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 Content-Type: text/plain; charset="utf-8" All but VIR_CPU_MODE_HOST_MODEL were moved. 'host_model' mode has nuances that forbid the verification to be moved to parse time. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 20 ++++---------- src/qemu/qemu_validate.c | 56 ++++++++++++++++++++++++++++++++++++++++ tests/qemuxml2argvtest.c | 6 ++--- 3 files changed, 64 insertions(+), 18 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 87d76827e8..34d57606f0 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -6243,13 +6243,6 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, =20 if (def->os.arch =3D=3D VIR_ARCH_ARMV7L && driver->hostarch =3D=3D VIR_ARCH_AARCH64) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_AARCH64_OFF)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("QEMU binary does not support CPU " - "host-passthrough for armv7l on " - "aarch64 host")); - return -1; - } virBufferAddLit(buf, ",aarch64=3Doff"); } =20 @@ -6257,19 +6250,16 @@ qemuBuildCpuModelArgStr(virQEMUDriverPtr driver, if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) { virBufferAsprintf(buf, ",migratable=3D%s", virTristateSwitchTypeToString(cpu->migra= table)); - } else if (ARCH_IS_X86(def->os.arch) && - cpu->migratable =3D=3D VIR_TRISTATE_SWITCH_OFF) { - /* This is the default on x86 */ - } else { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Migratable attribute for host-passthroug= h " - "CPU is not supported by QEMU binary")); - return -1; } } break; =20 case VIR_CPU_MODE_HOST_MODEL: + /* HOST_MODEL is a valid CPU mode for domain XMLs of all archs, me= aning + * that we can't move this validation to parse time. By the time w= e reach + * this point, all non-PPC64 archs must have translated the CPU mo= del to + * something else and set the CPU mode to MODE_CUSTOM. + */ if (ARCH_IS_PPC64(def->os.arch)) { virBufferAddLit(buf, "host"); if (cpu->model && diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 6200d40f28..7e6313b5c8 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -352,6 +352,59 @@ qemuValidateDomainDefFeatures(const virDomainDef *def, } =20 =20 +static int +qemuValidateDomainDefCpu(virQEMUDriverPtr driver, + const virDomainDef *def, + virQEMUCapsPtr qemuCaps) +{ + virCPUDefPtr cpu =3D def->cpu; + + if (!cpu) + return 0; + + if (!cpu->model && cpu->mode =3D=3D VIR_CPU_MODE_CUSTOM) + return 0; + + switch ((virCPUMode) cpu->mode) { + case VIR_CPU_MODE_HOST_PASSTHROUGH: + if (def->os.arch =3D=3D VIR_ARCH_ARMV7L && + driver->hostarch =3D=3D VIR_ARCH_AARCH64) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_AARCH64_OFF)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("QEMU binary does not support CPU " + "host-passthrough for armv7l on " + "aarch64 host")); + return -1; + } + } + + if (cpu->migratable && + cpu->migratable !=3D VIR_TRISTATE_SWITCH_OFF && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_CPU_MIGRATABLE)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Migratable attribute for host-passthrough " + "CPU is not supported by QEMU binary")); + return -1; + } + break; + + case VIR_CPU_MODE_HOST_MODEL: + /* qemu_command.c will error out if cpu->mode is HOST_MODEL for + * every arch but PPC64. However, we can't move this validation + * here because non-PPC64 archs will translate HOST_MODEL to + * something else during domain start, changing cpu->mode to + * CUSTOM. + */ + break; + case VIR_CPU_MODE_CUSTOM: + case VIR_CPU_MODE_LAST: + break; + } + + return 0; +} + + static int qemuValidateDomainDefClockTimers(const virDomainDef *def, virQEMUCapsPtr qemuCaps) @@ -935,6 +988,9 @@ qemuValidateDomainDef(const virDomainDef *def, } } =20 + if (qemuValidateDomainDefCpu(driver, def, qemuCaps) < 0) + return -1; + if (qemuDomainDefValidateMemoryHotplug(def, qemuCaps, NULL) < 0) return -1; =20 diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index cf1d3c7ded..5076d774f8 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2891,9 +2891,9 @@ mymain(void) QEMU_CAPS_DEVICE_VIRTIO_MMIO, QEMU_CAPS_DEVICE_PL011, QEMU_CAPS_KVM, QEMU_CAPS_CPU_AARCH64_OFF); - DO_TEST_FAILURE("aarch64-kvm-32-on-64", - QEMU_CAPS_DEVICE_VIRTIO_MMIO, - QEMU_CAPS_KVM); + DO_TEST_PARSE_ERROR("aarch64-kvm-32-on-64", + QEMU_CAPS_DEVICE_VIRTIO_MMIO, + QEMU_CAPS_KVM); DO_TEST("aarch64-pci-serial", QEMU_CAPS_DEVICE_PCI_SERIAL, QEMU_CAPS_CHARDEV_LOGFILE, --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708305; cv=none; d=zohomail.com; s=zohoarc; b=Ohz9Mg+HnSwKJV/mHHKJm4V/XhSjhBMPOIBzysqaoX/XW2xlN3IiY/ZSh0IEiA8PpNXpNIvlXguTJGD7ipXew6A/fba32pF2tlIE8qVqXB//4jbSszlEOBYvkQSxxpaXO+aOuyP2Nm4Ar1kebDqW6e4x0KnYC19dW/aqacqu5uI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708305; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=6geIV7VuBZmzCBHTlxlzhIz7NePa3vRL5ipYZPV/4bI=; b=L8RI/uhyIQVCzTQD5O79EPtkeMqNtyC2BKGplBbYNGe6tyhjPvhjt75uZCJ62JbDd22sBQqxdu8AqKErcY2fIjGOPQZarx66vgJiYQb2xLsImQvxeOXM1jY9bQSwQntJVXE2fgMqaau8nOLgmmQGXqmWCT8Cd4bwtNgJ0ux0a9A= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708305070984.9211953049074; Wed, 14 Oct 2020 13:45:05 -0700 (PDT) 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-210-pvTeZJYKNMaNsn6WKN0Sig-1; Wed, 14 Oct 2020 16:44:36 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5C5538030D7; Wed, 14 Oct 2020 20:44:31 +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 39D2F5C1C2; Wed, 14 Oct 2020 20:44:31 +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 0A175181A272; Wed, 14 Oct 2020 20:44:31 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhpNb028808 for ; Wed, 14 Oct 2020 16:43:51 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3EB40151125; Wed, 14 Oct 2020 20:43:51 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 399E91711DB for ; Wed, 14 Oct 2020 20:43:51 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 2082B1823614 for ; Wed, 14 Oct 2020 20:43:51 +0000 (UTC) Received: from mail-il1-f172.google.com (mail-il1-f172.google.com [209.85.166.172]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-343-xMzvt4lGPPeJrXgE6KcfGw-1; Wed, 14 Oct 2020 16:43:48 -0400 Received: by mail-il1-f172.google.com with SMTP id j8so1107043ilk.0 for ; Wed, 14 Oct 2020 13:43:48 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:47 -0700 (PDT) X-MC-Unique: pvTeZJYKNMaNsn6WKN0Sig-1 X-MC-Unique: xMzvt4lGPPeJrXgE6KcfGw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=6geIV7VuBZmzCBHTlxlzhIz7NePa3vRL5ipYZPV/4bI=; b=rBBzos/K20Gy1Co0+cm5i9PIuLfvYmA5H3pgKoZjnIyqnlPDRLgTiobDRlV4wvCOEE EUCale2O52lDYAf2TVMgbS7l038j6lPYCjZNHL2+N+/Ra2a6hRJmw9KTJfIqn0Y7QPoa 5SLSnYWa+0g2qroy4umHIZiXWolJhKkVhYSLhL1QdW7teU/J86UFLFvv03hEtYSZx9AD iptvL1Tm2i3LJME8Oi4laK1DLPtEFm8j8Q0PXzNQqz84CXgPpR9lv1Me9/yJEpYFeuFu IK0SrJiqrpy8vzzsTFddk4oY76MtX14VDd0Gx/G+CB8RFMd1feuryyHCP9sTj/EznV5I KRAg== X-Gm-Message-State: AOAM532B2moxbH1faQbs4kyLz2fzhMuIwnc/hxP09NXhmKN5rjwVFccn D3ZcrI2DDPDFwRSTVditcZ7TTXLQbH0= X-Google-Smtp-Source: ABdhPJx9ho9cmRuqnk8U6k+zzSX85vKo+2ssWX5jIq8xvdEqSFbn6izCmiBZpxUwjrUS+L4JMcvNwA== X-Received: by 2002:a92:cc0b:: with SMTP id s11mr799265ilp.51.1602708227659; Wed, 14 Oct 2020 13:43:47 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 17/24] qemu_command.c: move NUMA memory backing check to qemu_validate.c Date: Wed, 14 Oct 2020 17:43:00 -0300 Message-Id: <20201014204307.631746-18-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.16 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 5 ----- src/qemu/qemu_validate.c | 15 +++++++++++++++ tests/qemuxml2xmltest.c | 2 +- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 34d57606f0..225d1d7491 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7291,11 +7291,6 @@ qemuBuildNumaCommandLine(virQEMUDriverConfigPtr cfg, if (rc =3D=3D 0) needBackend =3D true; } - } else if (needBackend) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("NUMA without specified memory backing is not " - "supported with this QEMU binary")); - goto cleanup; } =20 if (!needBackend && diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 7e6313b5c8..9bb7cddb40 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -701,6 +701,7 @@ qemuValidateDomainDefNuma(const virDomainDef *def, bool hasMemoryCap =3D virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY= _RAM) || virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_F= ILE) || virQEMUCapsGet(qemuCaps, QEMU_CAPS_OBJECT_MEMORY_M= EMFD); + bool needBacking =3D false; =20 if (virDomainNumatuneHasPerNodeBinding(def->numa) && !hasMemoryCap) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -752,6 +753,20 @@ qemuValidateDomainDefNuma(const virDomainDef *def, return -1; } =20 + if (virDomainNumaHasHMAT(def->numa) || + !virQEMUCapsGetMachineNumaMemSupported(qemuCaps, + def->virtType, + def->os.machine)) { + needBacking =3D true; + } + + if (needBacking && !hasMemoryCap) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("NUMA without specified memory backing is not " + "supported with this QEMU binary")); + return -1; + } + return 0; } =20 diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 6c551f18ab..93287d0a55 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1141,7 +1141,7 @@ mymain(void) DO_TEST("numatune-memnode-no-memory", QEMU_CAPS_OBJECT_MEMORY_FILE); DO_TEST("numatune-distances", QEMU_CAPS_NUMA, QEMU_CAPS_NUMA_DIST); DO_TEST("numatune-no-vcpu", QEMU_CAPS_NUMA); - DO_TEST("numatune-hmat", QEMU_CAPS_NUMA_HMAT); + DO_TEST("numatune-hmat", QEMU_CAPS_NUMA_HMAT, QEMU_CAPS_OBJECT_MEMORY_= RAM); =20 DO_TEST("bios-nvram", NONE); DO_TEST("bios-nvram-os-interleave", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708283; cv=none; d=zohomail.com; s=zohoarc; b=QPHZYvjSP1uruwj6qchpE4WEpRr3nXvcnbIgPwrf8M3ZocdtuNANjv53NAa1L23Fxg5PgZcpVnFAT6yCZCUDCa5EcfVxoAIRFPM5yxwr6Q2M4wOtcbPAjQYpoEMSLtlJ0mXBsrPXPaUyZiMjCGo9e2t+KjyFtbzqET9ICRfL8Wk= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708283; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=aujKdcG8mtTNRbziTR96ewQP/OOrliifbwtrxrZ1MNU=; b=KADwmmnfJBA595rU74T3p676TVZEm0jFKil1VjdmjoFssNUIbLgmpPdJir+D3cX3EzDY++fpP1r4Napi9Kcx5sTzDzYHl58kvPfy6/rUCMOqsvboGipYsRKB2tOrU47zfqE5A2J/vOs2wAN/cmJbFk3SqD/kVhkJPwkbxyOMFo8= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708283244162.69895571961456; Wed, 14 Oct 2020 13:44:43 -0700 (PDT) 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-24-oujLx7ojNjSy95JP0Gk2XA-1; Wed, 14 Oct 2020 16:44:40 -0400 Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.phx2.redhat.com [10.5.11.14]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id ED7FE107AFB6; Wed, 14 Oct 2020 20:44:33 +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 CA8685D9E8; Wed, 14 Oct 2020 20:44:33 +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 95ACA58137; Wed, 14 Oct 2020 20:44:33 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhqVN028818 for ; Wed, 14 Oct 2020 16:43:52 -0400 Received: by smtp.corp.redhat.com (Postfix) id 133501067DB4; Wed, 14 Oct 2020 20:43:52 +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 0F18110921B5 for ; Wed, 14 Oct 2020 20:43:52 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [207.211.31.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id EC0E01021F73 for ; Wed, 14 Oct 2020 20:43:51 +0000 (UTC) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-199-o5ugppH8PcO65TP4LbWYDw-1; Wed, 14 Oct 2020 16:43:49 -0400 Received: by mail-io1-f65.google.com with SMTP id d20so920886iop.10 for ; Wed, 14 Oct 2020 13:43:49 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:48 -0700 (PDT) X-MC-Unique: oujLx7ojNjSy95JP0Gk2XA-1 X-MC-Unique: o5ugppH8PcO65TP4LbWYDw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aujKdcG8mtTNRbziTR96ewQP/OOrliifbwtrxrZ1MNU=; b=IXFdaWkBMzqYlMNl7WLafsBG5ur4lNybstFJ7yliU0XoIHoKUVWzhqLgpEKfnWrK8F S4o/awB7HSKj1RlHbvFET4k+KbvEqNHfE7C/4I6yMNeN4s3ZU99iE/m4uovzvGqBElmW GJC0fcycclhO4qWrnGZrKtiwVCvOkny76D3wwCSXS5ZTM0g4JOFLNj5dGiGwLielOJgp 2KlXVzJvpsL21x+mJ2hh5LvHd7UvR6OOxbKy14GJpJIt1MnLkolbmrB06XAaLPBPowE3 0G9FNMdJkjg6RbwviLWnaDTwfEqXJjaODiBLM+K7mo2493oU7WTwsDN/UJV6tAxnzBi5 LZjA== X-Gm-Message-State: AOAM5326RpsDSbSUzhh/CqZL4cHno6lQer9a3906jh50GpvVH7fmfR/N hyNxCH5K0oc5CsidCzDNAWuqCWfuuJ8= X-Google-Smtp-Source: ABdhPJy3E/3EvcBitIvzvGV6+RKyQNC8qg7v8WeyXPAOP9JmZiJXe6d3a+XArtGeV8mF2jc+pF+Q+g== X-Received: by 2002:a05:6638:1651:: with SMTP id a17mr1083693jat.39.1602708229133; Wed, 14 Oct 2020 13:43:49 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 18/24] qemu_command.c: move SHMEM validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:43:01 -0300 Message-Id: <20201014204307.631746-19-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.14 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 18 ----------------- src/qemu/qemu_validate.c | 43 +++++++++++++++++++++++++++++++++++++++- tests/qemuxml2argvtest.c | 2 +- tests/qemuxml2xmltest.c | 2 +- 4 files changed, 44 insertions(+), 21 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 225d1d7491..7008f14028 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -8410,13 +8410,6 @@ qemuBuildShmemDevLegacyStr(virDomainDefPtr def, { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("ivshmem device is not supported " - "with this QEMU binary")); - return NULL; - } - virBufferAddLit(&buf, "ivshmem"); virBufferAsprintf(&buf, ",id=3D%s", shmem->info.alias); =20 @@ -8450,17 +8443,6 @@ qemuBuildShmemDevStr(virDomainDefPtr def, { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; =20 - if ((shmem->model =3D=3D VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_PLAIN && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN)) || - (shmem->model =3D=3D VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_DOORBELL && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL))) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("shmem model '%s' is not supported " - "by this QEMU binary"), - virDomainShmemModelTypeToString(shmem->model)); - return NULL; - } - virBufferAdd(&buf, virDomainShmemModelTypeToString(shmem->model), -1); virBufferAsprintf(&buf, ",id=3D%s", shmem->info.alias); =20 diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 9bb7cddb40..65d6e18fe5 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4401,6 +4401,44 @@ qemuValidateDomainDeviceDefMemory(virDomainMemoryDef= Ptr mem, } =20 =20 +static int +qemuValidateDomainDeviceDefShmem(virDomainShmemDefPtr shmem, + virQEMUCapsPtr qemuCaps) +{ + switch (shmem->model) { + case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("ivshmem device is not supported " + "with this QEMU binary")); + return -1; + } + break; + + case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_PLAIN: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("shmem model '%s' is not supported " + "by this QEMU binary"), + virDomainShmemModelTypeToString(shmem->model)); + return -1; + } + break; + + case VIR_DOMAIN_SHMEM_MODEL_IVSHMEM_DOORBELL: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("shmem model '%s' is not supported " + "by this QEMU binary"), + virDomainShmemModelTypeToString(shmem->model)); + return -1; + } + } + + return 0; +} + + int qemuValidateDomainDeviceDef(const virDomainDeviceDef *dev, const virDomainDef *def, @@ -4515,8 +4553,11 @@ qemuValidateDomainDeviceDef(const virDomainDeviceDef= *dev, ret =3D qemuValidateDomainDeviceDefMemory(dev->data.memory, qemuCa= ps); break; =20 - case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_SHMEM: + ret =3D qemuValidateDomainDeviceDefShmem(dev->data.shmem, qemuCaps= ); + break; + + case VIR_DOMAIN_DEVICE_LEASE: case VIR_DOMAIN_DEVICE_PANIC: case VIR_DOMAIN_DEVICE_AUDIO: case VIR_DOMAIN_DEVICE_NONE: diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index 5076d774f8..fdcfadf4c8 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2945,7 +2945,7 @@ mymain(void) DO_TEST("shmem-plain-doorbell", QEMU_CAPS_DEVICE_IVSHMEM, QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORBELL); - DO_TEST_FAILURE("shmem", NONE); + DO_TEST_PARSE_ERROR("shmem", NONE); DO_TEST_FAILURE("shmem-invalid-size", QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST_FAILURE("shmem-invalid-address", diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 93287d0a55..a897dfe17a 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1148,7 +1148,7 @@ mymain(void) =20 DO_TEST("tap-vhost", NONE); DO_TEST("tap-vhost-incorrect", NONE); - DO_TEST("shmem", NONE); + DO_TEST("shmem", QEMU_CAPS_DEVICE_IVSHMEM); DO_TEST("shmem-plain-doorbell", QEMU_CAPS_DEVICE_IVSHMEM_PLAIN, QEMU_CAPS_DEVICE_IVSHMEM_DOORB= ELL); DO_TEST("smbios", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708286; cv=none; d=zohomail.com; s=zohoarc; b=chiJ++A0hmzns7f45G48zN8xdJyf2uoldhkBED59/g7YByxzQW5/QvIxMPjsA4rGXubne1aAReUjgeGA8ipKIGoTUUP4n9YR+mA3LvH0VtIq2jJp+W6OzkioGDD6TrPTYbGt7zi4ItaooUi6QvxD0iZfYn4Q2nc/1SdwSrHZMsQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708286; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=RJ+Ylon9xyY8pu9+dyKOMMRKOBJifr54H/KoFaC7VhM=; b=ToBFZGBXW+cMe/P5rMm1YjWwd+hSgmNfYWVKE6EneaKLSEm7+yQ0nbSxfItOgc1eZ8j173pz/KhrT0TG93z+eh0ggFeSX+iBd3Dl6D4LoNAE2tCy9jYLTG20528UCsF+llVPqZd4A0d8rQr18Y87bA3nCvrXtssgtoYGL5RBN5E= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708286989288.00065086817517; Wed, 14 Oct 2020 13:44:46 -0700 (PDT) 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-295-RfaSiqemObCnveQ1BJAgnw-1; Wed, 14 Oct 2020 16:44:43 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id B1CE78030DF; Wed, 14 Oct 2020 20:44:36 +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 8E55A75132; Wed, 14 Oct 2020 20:44:36 +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 5DB805813C; Wed, 14 Oct 2020 20:44:36 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhtd7028840 for ; Wed, 14 Oct 2020 16:43:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id 9E9CB10921A9; Wed, 14 Oct 2020 20:43:55 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast05.extmail.prod.ext.rdu2.redhat.com [10.11.55.21]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 9A0751067DB4 for ; Wed, 14 Oct 2020 20:43:55 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 740D2805C1E for ; Wed, 14 Oct 2020 20:43:55 +0000 (UTC) Received: from mail-il1-f178.google.com (mail-il1-f178.google.com [209.85.166.178]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-198-UB4EnywJM-q7HJESxzvFCw-1; Wed, 14 Oct 2020 16:43:51 -0400 Received: by mail-il1-f178.google.com with SMTP id y16so1049372ila.7 for ; Wed, 14 Oct 2020 13:43:51 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:50 -0700 (PDT) X-MC-Unique: RfaSiqemObCnveQ1BJAgnw-1 X-MC-Unique: UB4EnywJM-q7HJESxzvFCw-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=RJ+Ylon9xyY8pu9+dyKOMMRKOBJifr54H/KoFaC7VhM=; b=seGHvr62uul/4YxJqmc+mykid4kEE2rZ3/MGAp8udUcYhJZ7gco8LOTlHx1eXcdxYy OTWvVCyObW5UncMcqZZY6+JMLSHCSa/Xu0LGliQVlTJ9ESnIM6oMhZ5YEch7Mq/1Cij4 cU4Olf9E/ha3QrCi4bFrXVnB/a2iQSktHI4+TlSNME+3domPpHJc2lhU8JmOcC3jUyO2 Rd7HHslTQbjYsTaIixb3zhlVfdU89hHrZbPKpU3iPN3q+eVfH57/a3pDyMJsfJiOfjDc IdF0DpQqc1f5Nk6uzHqPccab9PS2tPId3Ow4edlrgpllHrILNB4gMUIAWQRwBJJe+YXb 1HUQ== X-Gm-Message-State: AOAM531KELATcVvNMU/NwKRWt3IcnvfNpNNrYa240N9KWoQm+5cfkQbI Vm+f10X3VJX5ln2V5r3gs/At3M82bRI= X-Google-Smtp-Source: ABdhPJy2kL6da8DeQRoQR+gTNnqcdOd4dBN/J/2B22nydbNh5FHwBSlYgIM1evnuReA66JdcgDJB5g== X-Received: by 2002:a92:cecf:: with SMTP id z15mr844539ilq.14.1602708230655; Wed, 14 Oct 2020 13:43:50 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 19/24] qemu_command.c: move usb_redir validations to qemu_validate.c Date: Wed, 14 Oct 2020 17:43:02 -0300 Message-Id: <20201014204307.631746-20-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 21 --------------------- src/qemu/qemu_validate.c | 29 ++++++++++++++++++++++++++--- tests/qemuxml2xmltest.c | 10 +++++++--- 3 files changed, 33 insertions(+), 27 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 7008f14028..16bb8dbdbe 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -8925,31 +8925,10 @@ qemuBuildRedirdevDevStr(const virDomainDef *def, g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; virDomainRedirFilterDefPtr redirfilter =3D def->redirfilter; =20 - if (dev->bus !=3D VIR_DOMAIN_REDIRDEV_BUS_USB) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("Redirection bus %s is not supported by QEMU"), - virDomainRedirdevBusTypeToString(dev->bus)); - return NULL; - } - - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_REDIR)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("USB redirection is not supported " - "by this version of QEMU")); - return NULL; - } - virBufferAsprintf(&buf, "usb-redir,chardev=3Dchar%s,id=3D%s", dev->info.alias, dev->info.alias); =20 if (redirfilter && redirfilter->nusbdevs) { - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_REDIR_FILTER)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("USB redirection filter is not " - "supported by this version of QEMU")); - return NULL; - } - virBufferAddLit(&buf, ",filter=3D"); =20 for (i =3D 0; i < redirfilter->nusbdevs; i++) { diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 65d6e18fe5..7969571b4a 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -1770,11 +1770,34 @@ qemuValidateDomainRNGDef(const virDomainRNGDef *def, =20 =20 static int -qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *def, +qemuValidateDomainRedirdevDef(const virDomainRedirdevDef *dev, + const virDomainDef *def, virQEMUCapsPtr qemuCaps) { - if (qemuValidateDomainChrSourceDef(def->source, qemuCaps) < 0) + if (qemuValidateDomainChrSourceDef(dev->source, qemuCaps) < 0) + return -1; + + if (dev->bus !=3D VIR_DOMAIN_REDIRDEV_BUS_USB) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Redirection bus %s is not supported by QEMU"), + virDomainRedirdevBusTypeToString(dev->bus)); return -1; + } + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_REDIR)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("USB redirection is not supported " + "by this version of QEMU")); + return -1; + } + + if (def->redirfilter && def->redirfilter->nusbdevs && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_USB_REDIR_FILTER)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("USB redirection filter is not " + "supported by this version of QEMU")); + return -1; + } =20 return 0; } @@ -4483,7 +4506,7 @@ qemuValidateDomainDeviceDef(const virDomainDeviceDef = *dev, break; =20 case VIR_DOMAIN_DEVICE_REDIRDEV: - ret =3D qemuValidateDomainRedirdevDef(dev->data.redirdev, qemuCaps= ); + ret =3D qemuValidateDomainRedirdevDef(dev->data.redirdev, def, qem= uCaps); break; =20 case VIR_DOMAIN_DEVICE_WATCHDOG: diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index a897dfe17a..7160653471 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -631,9 +631,13 @@ mymain(void) QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE, QEMU_CAPS_PIIX3_USB_UHCI); DO_TEST("usb-port-missing", QEMU_CAPS_USB_HUB); - DO_TEST("usb-redir", NONE); - DO_TEST("usb-redir-filter", NONE); - DO_TEST("usb-redir-filter-version", NONE); + DO_TEST("usb-redir", QEMU_CAPS_USB_REDIR); + DO_TEST("usb-redir-filter", + QEMU_CAPS_USB_REDIR, + QEMU_CAPS_USB_REDIR_FILTER); + DO_TEST("usb-redir-filter-version", + QEMU_CAPS_USB_REDIR, + QEMU_CAPS_USB_REDIR_FILTER); DO_TEST_CAPS_LATEST("blkdeviotune"); DO_TEST_CAPS_LATEST("blkdeviotune-max"); DO_TEST_CAPS_LATEST("blkdeviotune-group-num"); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708253; cv=none; d=zohomail.com; s=zohoarc; b=F9OQzpnmiFmoDqLFZLW049gT1H4swlENbOxG9A8qJvTZl4dw79YXRgRDJGcQGssYkZyMO4fzoE+kFgf1vWJts398txe5LxVoqPrGXPMWgNseAnMvkrDgqlalblwjnMrX2r3vTF0ePLErN6balkcdaK0Yked+gekd3h6pwRSse7Y= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708253; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=iKib7gSGpUGIDFqsrbaNTT7Z8dCY2m3wz0WrHkVHlAc=; b=i9OZswIVPo6uJUI6YI/lS+aRBx90VLYzupY/xUFiBKWiQ2PH1Sy4qJIPE4ZrYTocPWSyFr8zVtM8rFo6CDKyDcjlme52lYgoiq0FPZXqAThZ4tscFtjuY1/MwHX78E8+XnlhGP/Y8rB0utZJpMdzIg2j/cSvPrOPcaaKXpXHRkk= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708253588489.7111332216898; Wed, 14 Oct 2020 13:44:13 -0700 (PDT) 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-578-hqDdwCE1OM-BmkTboTtdCA-1; Wed, 14 Oct 2020 16:44:09 -0400 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 mimecast-mx01.redhat.com (Postfix) with ESMTPS id 5886B835B58; Wed, 14 Oct 2020 20:44:03 +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 76EA019C4F; Wed, 14 Oct 2020 20:44:01 +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 0355218199F6; Wed, 14 Oct 2020 20:44:00 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhvFJ028854 for ; Wed, 14 Oct 2020 16:43:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id 471191711D8; Wed, 14 Oct 2020 20:43:57 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast02.extmail.prod.ext.rdu2.redhat.com [10.11.55.18]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 416D8151125 for ; Wed, 14 Oct 2020 20:43:57 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-delivery-1.mimecast.com [205.139.110.120]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CC34780018B for ; Wed, 14 Oct 2020 20:43:56 +0000 (UTC) Received: from mail-io1-f65.google.com (mail-io1-f65.google.com [209.85.166.65]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-394-DLynj7yPOJad2bFO9MgYyQ-1; Wed, 14 Oct 2020 16:43:53 -0400 Received: by mail-io1-f65.google.com with SMTP id y20so965739iod.5 for ; Wed, 14 Oct 2020 13:43:53 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:51 -0700 (PDT) X-MC-Unique: hqDdwCE1OM-BmkTboTtdCA-1 X-MC-Unique: DLynj7yPOJad2bFO9MgYyQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=iKib7gSGpUGIDFqsrbaNTT7Z8dCY2m3wz0WrHkVHlAc=; b=JWiivAQu51iyHyxp8ROmSrGBBYfDfjVJwqEhRILsFkG/EpWZHZ71t83QaYiw0urDcz wg85GGhjeFjZLU/uF99fySHNZZAdykX73SLaKqkqeG7BlF/uuWvKEViEnGO0dDlbOzEp tnDHCFY1xmLD/3XpPovoAtsp2fae8b05sNwGWekuEX6FoY0Ek8pRsBgTH2ry94wDGyCz lxtt3fq/bUQwr+4d/zYbF/upnP7kWsfzpP1FXPtPTNvyoW2cnLU9mqnCyayD9ttCAp7T BskflDPv1noTcyXPnRjNZm5DF+9M/yaMlAT11g0Wv1z5kSoVQEvyazScaQ1ClkGxHpdb 8CNw== X-Gm-Message-State: AOAM532goE4hgod0/QsYp8jMIElWYUHoNNO0elC/XLGPowb3+NtR5tMz +KG6+e9yfH5Dd+kH8OJ7Z0mszIXbwjo= X-Google-Smtp-Source: ABdhPJyHbwdUFtj8o3l0uampX+/goC6PhXp9g86vwALVAwS66YbsICcGiwxx0LVQN7jJCLYCj95eGQ== X-Received: by 2002:a05:6638:92a:: with SMTP id 10mr1082479jak.125.1602708232286; Wed, 14 Oct 2020 13:43:52 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 20/24] qemu_command.c: move 'panic' validation to qemu_validate.c Date: Wed, 14 Oct 2020 17:43:03 -0300 Message-Id: <20201014204307.631746-21-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.84 on 10.5.11.23 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 78 +-------------- src/qemu/qemu_validate.c | 96 +++++++++++++++++++ .../pseries-panic-address.err | 2 +- tests/qemuxml2argvtest.c | 10 +- tests/qemuxml2xmltest.c | 8 +- 5 files changed, 111 insertions(+), 83 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 16bb8dbdbe..ed14e1d01f 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -9325,78 +9325,13 @@ qemuBuildVMCoreInfoCommandLine(virCommandPtr cmd, =20 static int qemuBuildPanicCommandLine(virCommandPtr cmd, - const virDomainDef *def, - virQEMUCapsPtr qemuCaps) + const virDomainDef *def) { size_t i; =20 for (i =3D 0; i < def->npanics; i++) { switch ((virDomainPanicModel) def->panics[i]->model) { - case VIR_DOMAIN_PANIC_MODEL_S390: - /* For s390 guests, the hardware provides the same - * functionality as the pvpanic device. The address - * cannot be configured by the user */ - if (!ARCH_IS_S390(def->os.arch)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("only S390 guests support " - "panic device of model 's390'")); - return -1; - } - if (def->panics[i]->info.type !=3D - VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("setting the panic device address is not " - "supported for model 's390'")); - return -1; - } - break; - - case VIR_DOMAIN_PANIC_MODEL_HYPERV: - /* Panic with model 'hyperv' is not a device, it should - * be configured in cpu commandline. The address - * cannot be configured by the user */ - if (!ARCH_IS_X86(def->os.arch)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("only i686 and x86_64 guests support " - "panic device of model 'hyperv'")); - return -1; - } - if (def->panics[i]->info.type !=3D - VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("setting the panic device address is not " - "supported for model 'hyperv'")); - return -1; - } - break; - - case VIR_DOMAIN_PANIC_MODEL_PSERIES: - /* For pSeries guests, the firmware provides the same - * functionality as the pvpanic device. The address - * cannot be configured by the user */ - if (!qemuDomainIsPSeries(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("only pSeries guests support panic device= " - "of model 'pseries'")); - return -1; - } - if (def->panics[i]->info.type !=3D - VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("setting the panic device address is not " - "supported for model 'pseries'")); - return -1; - } - break; - case VIR_DOMAIN_PANIC_MODEL_ISA: - if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_PANIC)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("the QEMU binary does not support the " - "ISA panic device")); - return -1; - } - switch (def->panics[i]->info.type) { case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_ISA: virCommandAddArg(cmd, "-device"); @@ -9407,14 +9342,11 @@ qemuBuildPanicCommandLine(virCommandPtr cmd, case VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE: virCommandAddArgList(cmd, "-device", "pvpanic", NULL); break; - - default: - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("panic is supported only " - "with ISA address type")); - return -1; } =20 + case VIR_DOMAIN_PANIC_MODEL_S390: + case VIR_DOMAIN_PANIC_MODEL_HYPERV: + case VIR_DOMAIN_PANIC_MODEL_PSERIES: /* default model value was changed before in post parse */ case VIR_DOMAIN_PANIC_MODEL_DEFAULT: case VIR_DOMAIN_PANIC_MODEL_LAST: @@ -10017,7 +9949,7 @@ qemuBuildCommandLine(virQEMUDriverPtr driver, if (qemuBuildSeccompSandboxCommandLine(cmd, cfg, qemuCaps) < 0) return NULL; =20 - if (qemuBuildPanicCommandLine(cmd, def, qemuCaps) < 0) + if (qemuBuildPanicCommandLine(cmd, def) < 0) return NULL; =20 for (i =3D 0; i < def->nshmems; i++) { diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 7969571b4a..a5e3849ae5 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -878,6 +878,99 @@ qemuValidateDomainDefSysinfo(const virSysinfoDef *def, } =20 =20 +static int +qemuValidateDomainDefPanic(const virDomainDef *def, + virQEMUCapsPtr qemuCaps) +{ + size_t i; + + for (i =3D 0; i < def->npanics; i++) { + switch ((virDomainPanicModel) def->panics[i]->model) { + case VIR_DOMAIN_PANIC_MODEL_S390: + /* For s390 guests, the hardware provides the same + * functionality as the pvpanic device. The address + * cannot be configured by the user */ + if (!ARCH_IS_S390(def->os.arch)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("only S390 guests support " + "panic device of model 's390'")); + return -1; + } + if (def->panics[i]->info.type !=3D + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("setting the panic device address is not " + "supported for model 's390'")); + return -1; + } + break; + + case VIR_DOMAIN_PANIC_MODEL_HYPERV: + /* Panic with model 'hyperv' is not a device, it should + * be configured in cpu commandline. The address + * cannot be configured by the user */ + if (!ARCH_IS_X86(def->os.arch)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("only i686 and x86_64 guests support " + "panic device of model 'hyperv'")); + return -1; + } + if (def->panics[i]->info.type !=3D + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("setting the panic device address is not " + "supported for model 'hyperv'")); + return -1; + } + break; + + case VIR_DOMAIN_PANIC_MODEL_PSERIES: + /* For pSeries guests, the firmware provides the same + * functionality as the pvpanic device. The address + * cannot be configured by the user */ + if (!qemuDomainIsPSeries(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("only pSeries guests support panic device= " + "of model 'pseries'")); + return -1; + } + if (def->panics[i]->info.type !=3D + VIR_DOMAIN_DEVICE_ADDRESS_TYPE_NONE) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("setting the panic device address is not " + "supported for model 'pseries'")); + return -1; + } + break; + + case VIR_DOMAIN_PANIC_MODEL_ISA: + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_PANIC)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("the QEMU binary does not support the " + "ISA panic device")); + return -1; + } + + if (def->panics[i]->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_T= YPE_NONE && + def->panics[i]->info.type !=3D VIR_DOMAIN_DEVICE_ADDRESS_T= YPE_ISA) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("panic is supported only " + "with ISA address type")); + return -1; + } + break; + + /* default model value was changed before in post parse */ + case VIR_DOMAIN_PANIC_MODEL_DEFAULT: + case VIR_DOMAIN_PANIC_MODEL_LAST: + break; + } + } + + return 0; +} + + int qemuValidateDomainDef(const virDomainDef *def, void *opaque) @@ -1112,6 +1205,9 @@ qemuValidateDomainDef(const virDomainDef *def, return -1; } =20 + if (qemuValidateDomainDefPanic(def, qemuCaps) < 0) + return -1; + return 0; } =20 diff --git a/tests/qemuxml2argvdata/pseries-panic-address.err b/tests/qemux= ml2argvdata/pseries-panic-address.err index c7a512c51e..63afb4ff00 100644 --- a/tests/qemuxml2argvdata/pseries-panic-address.err +++ b/tests/qemuxml2argvdata/pseries-panic-address.err @@ -1 +1 @@ -unsupported configuration: 'spapr-vty' is not supported in this QEMU binary +unsupported configuration: setting the panic device address is not support= ed for model 'pseries' diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c index fdcfadf4c8..73e3a91282 100644 --- a/tests/qemuxml2argvtest.c +++ b/tests/qemuxml2argvtest.c @@ -2064,8 +2064,8 @@ mymain(void) DO_TEST("pseries-panic-no-address", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE, QEMU_CAPS_DEVICE_SPAPR_VTY); - DO_TEST_FAILURE("pseries-panic-address", - QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE); + DO_TEST_PARSE_ERROR("pseries-panic-address", + QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE); =20 DO_TEST("pseries-phb-simple", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE); @@ -2377,9 +2377,9 @@ mymain(void) DO_TEST("s390-panic-no-address", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); - DO_TEST_FAILURE("s390-panic-address", - QEMU_CAPS_CCW, - QEMU_CAPS_VIRTIO_S390); + DO_TEST_PARSE_ERROR("s390-panic-address", + QEMU_CAPS_CCW, + QEMU_CAPS_VIRTIO_S390); DO_TEST("s390-panic-missing", QEMU_CAPS_CCW, QEMU_CAPS_VIRTIO_S390); diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 7160653471..1cd57c6bc1 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1116,12 +1116,12 @@ mymain(void) QEMU_CAPS_DEVICE_QXL, QEMU_CAPS_Q35_PCI_HOLE64_SIZE); =20 - DO_TEST("panic", NONE); - DO_TEST("panic-isa", NONE); + DO_TEST("panic", QEMU_CAPS_DEVICE_PANIC); + DO_TEST("panic-isa", QEMU_CAPS_DEVICE_PANIC); DO_TEST("panic-pseries", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST_BRIDGE); - DO_TEST("panic-double", NONE); - DO_TEST("panic-no-address", NONE); + DO_TEST("panic-double", QEMU_CAPS_DEVICE_PANIC); + DO_TEST("panic-no-address", QEMU_CAPS_DEVICE_PANIC); =20 DO_TEST("disk-backing-chains", NONE); DO_TEST("disk-backing-chains-index", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708289; cv=none; d=zohomail.com; s=zohoarc; b=PZMlLo1FBOxV8rwYiVIUdJEbdr+BfsSOiScFGhP6HBypzZCXfyjwoR0NyclKC37qgInruEJffSvpmZrB56JcqzivvvgwDxtVqdsBTb2HkUp/8k9Tl4wdYTfIw6UYyERelc3e5FcX9V8JWy1Koq1NWoBC2uMMiqlQx96dOKI7jVg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708289; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=MhRcS3MWaAKPsftZnKpR84okNFVNWyQKbhfv8zDEzpk=; b=bJT3wbKr915dSHsUNOK/E7zi6HezllcP1f+M///otyoC1FqGCqyXPqokuxm8DtmiTo56rdcWYGbzad5gLwnGbDfJhCQSPz7Epulb8pJE6YdlIyj+PG/Lfkggj0fD4WL+TF8DgiVD2Py/HbGHtgJa5k6/RToORRZ/qyehWk/7DDY= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708289396911.0030288796196; Wed, 14 Oct 2020 13:44:49 -0700 (PDT) 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-489-p91YQxxcMli5Lsk9GISc3Q-1; Wed, 14 Oct 2020 16:44:45 -0400 Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.phx2.redhat.com [10.5.11.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 2D58F8015B1; Wed, 14 Oct 2020 20:44:39 +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 0B9B575132; Wed, 14 Oct 2020 20:44:39 +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 C9D375811A; Wed, 14 Oct 2020 20:44:38 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhwTo028863 for ; Wed, 14 Oct 2020 16:43:58 -0400 Received: by smtp.corp.redhat.com (Postfix) id 505E01092196; Wed, 14 Oct 2020 20:43:58 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast03.extmail.prod.ext.rdu2.redhat.com [10.11.55.19]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 4C6301067DB4 for ; Wed, 14 Oct 2020 20:43:58 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 26A73811E82 for ; Wed, 14 Oct 2020 20:43:58 +0000 (UTC) Received: from mail-il1-f193.google.com (mail-il1-f193.google.com [209.85.166.193]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-108-4q7TIQEWN6S26upGJTp0CA-1; Wed, 14 Oct 2020 16:43:54 -0400 Received: by mail-il1-f193.google.com with SMTP id y16so1049610ila.7 for ; Wed, 14 Oct 2020 13:43:54 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:53 -0700 (PDT) X-MC-Unique: p91YQxxcMli5Lsk9GISc3Q-1 X-MC-Unique: 4q7TIQEWN6S26upGJTp0CA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=MhRcS3MWaAKPsftZnKpR84okNFVNWyQKbhfv8zDEzpk=; b=sPRa1zhf1wuO5N7QaXWVw1b9aC90qFWFD7bj51T3tB2wQz/HdrHeJycP2lniX1ZE2r I95cGW3TZOFFog6t6iCTRVfoutF8rFF1oIuXZlxvsSJ23IdbH7e9CG36PXCCjgP60COG McSZm3vUjShqDeiNOI5Ygggz8uiaxnvaVJ/DrFuNTIKdD/bQCwsIUBa31FDImpNZcvQo 4NOb7/oM8hUzdWXAEne+XqqGUFEVF66mq65ajG7fvFI8exvcaIvDc6EJbATv1Lq/qgo9 q9Y/xH+6apAVsRz8z9bJfYAZQsHCkd7nypDEYS2xgWvPTUwiol3L2RkbCo2jWXkV/sFs 4IpQ== X-Gm-Message-State: AOAM530vHL+sLRoEpoyPB/VDBLlvh0XAVMMFQKnB9oqyjmH6vmCtZAWC TzGgwGn2xYoEfqzM6xLRxDjtgmmDbXk= X-Google-Smtp-Source: ABdhPJz/UxXZ5p2Cuo9Ulb4lM2XBEDKK8QekM9KdH1h0Dz1Pd7pBLD63QNDI/+XNwiAGFeUFbUr9cg== X-Received: by 2002:a92:5e18:: with SMTP id s24mr865036ilb.48.1602708233744; Wed, 14 Oct 2020 13:43:53 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 21/24] qemu_command.c: move QEMU_CAPS_DEVICE_NVDIMM_UNARMED check to qemu_validate.c Date: Wed, 14 Oct 2020 17:43:04 -0300 Message-Id: <20201014204307.631746-22-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.15 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_command.c | 11 ++--------- src/qemu/qemu_command.h | 3 +-- src/qemu/qemu_hotplug.c | 2 +- src/qemu/qemu_validate.c | 19 ++++++++++++++----- tests/qemuxml2xmltest.c | 3 ++- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index ed14e1d01f..faa64c28b6 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -3199,8 +3199,7 @@ qemuBuildMemoryDimmBackendStr(virBufferPtr buf, =20 =20 char * -qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, - qemuDomainObjPrivatePtr priv) +qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem) { g_auto(virBuffer) buf =3D VIR_BUFFER_INITIALIZER; const char *device; @@ -3236,12 +3235,6 @@ qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, } =20 if (mem->readonly) { - if (!virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_DEVICE_NVDIMM_UN= ARMED)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("nvdimm readonly property is not availabl= e " - "with this QEMU binary")); - return NULL; - } virBufferAddLit(&buf, "unarmed=3Don,"); } =20 @@ -7415,7 +7408,7 @@ qemuBuildMemoryDeviceCommandLine(virCommandPtr cmd, virCommandAddArg(cmd, "-object"); virCommandAddArgBuffer(cmd, &buf); =20 - if (!(dimmStr =3D qemuBuildMemoryDeviceStr(def->mems[i], priv))) + if (!(dimmStr =3D qemuBuildMemoryDeviceStr(def->mems[i]))) return -1; =20 virCommandAddArgList(cmd, "-device", dimmStr, NULL); diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h index 12014b1451..d452905fdf 100644 --- a/src/qemu/qemu_command.h +++ b/src/qemu/qemu_command.h @@ -154,8 +154,7 @@ int qemuBuildMemoryBackendProps(virJSONValuePtr *backen= dProps, const virDomainMemoryDef *mem, bool force); =20 -char *qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem, - qemuDomainObjPrivatePtr priv); +char *qemuBuildMemoryDeviceStr(virDomainMemoryDefPtr mem); =20 /* Current, best practice */ char *qemuBuildPCIHostdevDevStr(const virDomainDef *def, diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index fdb3801af0..f76e773f64 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -2384,7 +2384,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver, =20 objalias =3D g_strdup_printf("mem%s", mem->info.alias); =20 - if (!(devstr =3D qemuBuildMemoryDeviceStr(mem, priv))) + if (!(devstr =3D qemuBuildMemoryDeviceStr(mem))) goto cleanup; =20 if (qemuBuildMemoryBackendProps(&props, objalias, cfg, diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index a5e3849ae5..0f4cb3c983 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -4509,11 +4509,20 @@ static int qemuValidateDomainDeviceDefMemory(virDomainMemoryDefPtr mem, virQEMUCapsPtr qemuCaps) { - if (mem->model =3D=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_NVDIMM)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("nvdimm isn't supported by this QEMU binary")); - return -1; + if (mem->model =3D=3D VIR_DOMAIN_MEMORY_MODEL_NVDIMM) { + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_NVDIMM)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("nvdimm isn't supported by this QEMU binary")= ); + return -1; + } + + if (mem->readonly && + !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_NVDIMM_UNARMED)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("nvdimm readonly property is not available " + "with this QEMU binary")); + return -1; + } } =20 return 0; diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c index 1cd57c6bc1..c11f09e04a 100644 --- a/tests/qemuxml2xmltest.c +++ b/tests/qemuxml2xmltest.c @@ -1284,7 +1284,8 @@ mymain(void) DO_TEST("memory-hotplug-nvdimm-label", QEMU_CAPS_DEVICE_NVDIMM); DO_TEST("memory-hotplug-nvdimm-align", QEMU_CAPS_DEVICE_NVDIMM); DO_TEST("memory-hotplug-nvdimm-pmem", QEMU_CAPS_DEVICE_NVDIMM); - DO_TEST("memory-hotplug-nvdimm-readonly", QEMU_CAPS_DEVICE_NVDIMM); + DO_TEST("memory-hotplug-nvdimm-readonly", QEMU_CAPS_DEVICE_NVDIMM, + QEMU_CAPS_DEVICE_NVDIMM_UNAR= MED); DO_TEST("memory-hotplug-nvdimm-ppc64", QEMU_CAPS_DEVICE_SPAPR_PCI_HOST= _BRIDGE, QEMU_CAPS_DEVICE_NVDIMM); DO_TEST("net-udp", NONE); --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708316; cv=none; d=zohomail.com; s=zohoarc; b=VspB/N7Q92evY8jyYKZWgqxKCn+KgA6BZrEkM49NrOxOz/MgkT1Sps7Q8SJhrHGYvPXRNce8DhWamLMXn03V7/beDYrRK7h4LEGIxzkPoxZ8GINWlBebQ8uGCVBJMyfx6t6xzdiXbykD4MqIiwXS/2bDw9WwcnhZRyL2cyPoe9M= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708316; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=1tTTEKNIBITVAyyvbe1qQor6CTabOkEk/Z3QhG3HBFQ=; b=CQiQA53JN1LJXRY4VQzqqL323ad6WLvRQZmN4AlW67bC9n4frh8fj407lMUrR+zx51Qmw58Jilt9tEW3fLOOcg+Rw+s9JjXMRUe+Tmsdds0iMqE2VuGjuBzn5rPX0ylrCf7lWyX4M8i/godl+wwyDfj0Rmw1gc4yL19HuZnxX2Q= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708316394326.2491670202111; Wed, 14 Oct 2020 13:45:16 -0700 (PDT) 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-132-8qVUuVHsPbegPaUcqW3rpA-1; Wed, 14 Oct 2020 16:45:11 -0400 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id 05FB564094; Wed, 14 Oct 2020 20:45:05 +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 876065C22B; Wed, 14 Oct 2020 20:45:04 +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 4C1411800B6C; Wed, 14 Oct 2020 20:45:04 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx05.intmail.prod.int.rdu2.redhat.com [10.11.54.5]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKhxeu028872 for ; Wed, 14 Oct 2020 16:43:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id 3BBCF151125; Wed, 14 Oct 2020 20:43:59 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 353371711D8 for ; Wed, 14 Oct 2020 20:43:59 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [207.211.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1CF90182360B for ; Wed, 14 Oct 2020 20:43:59 +0000 (UTC) Received: from mail-io1-f67.google.com (mail-io1-f67.google.com [209.85.166.67]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-457-vluXNK4dP1OO2Yi_zgc8mQ-1; Wed, 14 Oct 2020 16:43:57 -0400 Received: by mail-io1-f67.google.com with SMTP id r4so1001618ioh.0 for ; Wed, 14 Oct 2020 13:43:56 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:54 -0700 (PDT) X-MC-Unique: 8qVUuVHsPbegPaUcqW3rpA-1 X-MC-Unique: vluXNK4dP1OO2Yi_zgc8mQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=1tTTEKNIBITVAyyvbe1qQor6CTabOkEk/Z3QhG3HBFQ=; b=txLRBURx4Kl2/lJaqmtZJP/f3GSHjm0N6YAMfztQZDaPewt9DhnJbYXw1/VQ8x/x1i DI917pjH9nTJN5YtlEtNWJujMMt+thesg/Ono+xpl65PgrogSm8Fky9WsRtHl5A1D9ag u1eQHd9pXiUcCmyWjKcSySZFl7HAs3rF4vFfN2k+Tdd3e+s5ZlqFhpCPI1F1ILMMd5b9 7o8KkwYe2ml5IRv2MVJUB1uGXRyN1+9QBFMSHI6Xo/m+UfSRGbY7qUubEZNuAGhBLzJt YC+k3kAMH4v82ViXH4hXZhqw5WoiQkecivNT13UHzWz6Nd4bsgyDuGAVgmKF6ENuc7Zm S4Yg== X-Gm-Message-State: AOAM532pHaImjEhkNUxExOGRZjxlb+JTelTGD7vhGYkYelB/tEA7tuzD nbVO6WXS+UCjg4O+llaUrs1GjH6oX28= X-Google-Smtp-Source: ABdhPJw7dnqDLIJ5b/8QRvIq8Pj1eK5kodomHIju6X/1sXDtKjTwYHGo9PCZUpXGHjtSPPgKnS8Neg== X-Received: by 2002:a6b:8bd7:: with SMTP id n206mr942288iod.13.1602708235257; Wed, 14 Oct 2020 13:43:55 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 22/24] qemu_validate.c: move NUMA HMAT check to qemuValidateDomainDefNuma() Date: Wed, 14 Oct 2020 17:43:05 -0300 Message-Id: <20201014204307.631746-23-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.79 on 10.11.54.5 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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.16 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_validate.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 0f4cb3c983..b5bea4a0ee 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -753,13 +753,22 @@ qemuValidateDomainDefNuma(const virDomainDef *def, return -1; } =20 - if (virDomainNumaHasHMAT(def->numa) || - !virQEMUCapsGetMachineNumaMemSupported(qemuCaps, + if (!virQEMUCapsGetMachineNumaMemSupported(qemuCaps, def->virtType, def->os.machine)) { needBacking =3D true; } =20 + if (virDomainNumaHasHMAT(def->numa)) { + needBacking =3D true; + + if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_NUMA_HMAT)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("HMAT is not supported with this QEMU")); + return -1; + } + } + if (needBacking && !hasMemoryCap) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", _("NUMA without specified memory backing is not " @@ -1068,13 +1077,6 @@ qemuValidateDomainDef(const virDomainDef *def, } } =20 - if (virDomainNumaHasHMAT(def->numa) && - !virQEMUCapsGet(qemuCaps, QEMU_CAPS_NUMA_HMAT)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("HMAT is not supported with this QEMU")); - return -1; - } - if (def->genidRequested && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VMGENID)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) client-ip=216.205.24.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 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708262; cv=none; d=zohomail.com; s=zohoarc; b=aKNZm6O/h/PsdTnBl07Xbo7Bg7M3oKoIV1CvzfakUuZi3lb/ucgK6YOO+AW0+Frdtnm8Upc2An8bwwGlvudH175k7bysPAtAZMmhAgdnEkhkHXdudWq5hnpcH+GzcM3Tsxr86YTF8o13b2z4odKzlYw2weJyj8fjdx29avdpVDo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708262; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=zy3VNduJGx0zmnx1OlAImWvXPlv/Jh0qASjoq2Xt28U=; b=EmrnKMbFYhYNi5LqEFUxKuZqbBCr/p4nrO3IwiUUIWOyXoyV2/bTdS+USYfi/gbladVObvMY+/8eyYWVEzoP/Rzl9BQizNwpXBuxwVfYUGc4XJztQu2hd1KdLwKbZI43htmzDF1ZJ9i0UzyNcPnlxdrql938xJfs4DM6BKtEScg= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602708262238575.3203748448205; Wed, 14 Oct 2020 13:44:22 -0700 (PDT) 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-459-PpCJFG9eMkOnyY0AaV1NuQ-1; Wed, 14 Oct 2020 16:44:18 -0400 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 CAFEB8015B1; Wed, 14 Oct 2020 20:44:11 +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 A343873661; Wed, 14 Oct 2020 20:44:11 +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 68AB4181A050; Wed, 14 Oct 2020 20:44:11 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKi0Q0028880 for ; Wed, 14 Oct 2020 16:44:00 -0400 Received: by smtp.corp.redhat.com (Postfix) id 56A0210921A9; Wed, 14 Oct 2020 20:44:00 +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 52A7A1092196 for ; Wed, 14 Oct 2020 20:44:00 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 245011021F7F for ; Wed, 14 Oct 2020 20:44:00 +0000 (UTC) Received: from mail-il1-f195.google.com (mail-il1-f195.google.com [209.85.166.195]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-110-9M_8Cl91MDqw1eDjsT6grA-1; Wed, 14 Oct 2020 16:43:58 -0400 Received: by mail-il1-f195.google.com with SMTP id p16so1062370ilq.5 for ; Wed, 14 Oct 2020 13:43:57 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.55 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:56 -0700 (PDT) X-MC-Unique: PpCJFG9eMkOnyY0AaV1NuQ-1 X-MC-Unique: 9M_8Cl91MDqw1eDjsT6grA-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=zy3VNduJGx0zmnx1OlAImWvXPlv/Jh0qASjoq2Xt28U=; b=obcSaUIWv9pPwckliq7FfNi3yFBQCj5kliyXQN1mEP+zZydDZ9HTZd3LF2g4zcxv2w cvQoKIZ9L5KLB0zHk/+9QPGcwRgqJ4eTRtcNQkerWAD+uMlGBrpsFFIijLD9OSwZZzXF S9QkDrViKGIlRUXIS1vp9M68jXD49BLhG2iXKya+8qfTCRx5o/JuduT1nsRb3xU/RB4G NurhR7CNlio65nbxjePDPsEQ6+8US1HAXmOAmMFBQCJhxAXpGlQDvBxg4h6OHnBSJHcf 8kaFvpDctPMN1VXVl0vBjV9WZcOBywUZFwlgmz+EN8i67bE+aapIcO6rf+gs1LIVy4DN p4rQ== X-Gm-Message-State: AOAM5303XVwbRcNgK3Dd80CBtCm3W3GSiF/TEuk+zCBqcHZP5kcj8g6i M0OBoMcz36OHeEqVnHDHnFXCveO+ezM= X-Google-Smtp-Source: ABdhPJy20ro8CA3XUOop3GcnsUilnyo2HTJytUfrQt8Ze5XZoptCsIMXoD+RgleplkoMISe5XVafdw== X-Received: by 2002:a05:6e02:106d:: with SMTP id q13mr796195ilj.304.1602708236942; Wed, 14 Oct 2020 13:43:56 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 23/24] qemu_validate.c: move VCPU topology checks to qemuValidateDomainCpuCount() Date: Wed, 14 Oct 2020 17:43:06 -0300 Message-Id: <20201014204307.631746-24-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.3 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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 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 Content-Type: text/plain; charset="utf-8" Rename the function to qemuValidateDomainVCpuTopology() to reflect what it is currently doing as well. Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_validate.c | 174 +++++++++++++++++++-------------------- 1 file changed, 87 insertions(+), 87 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index b5bea4a0ee..5b5c2ab3dd 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -613,8 +613,38 @@ qemuValidateDomainDefBoot(const virDomainDef *def, } =20 =20 +/** + * qemuValidateDefGetVcpuHotplugGranularity: + * @def: domain definition + * + * With QEMU 2.7 and newer, vCPUs can only be hotplugged in groups that + * respect the guest's hotplug granularity; because of that, QEMU will + * not allow guests to start unless the initial number of vCPUs is a + * multiple of the hotplug granularity. + * + * Returns the vCPU hotplug granularity. + */ +static unsigned int +qemuValidateDefGetVcpuHotplugGranularity(const virDomainDef *def) +{ + /* If the guest CPU topology has not been configured, assume we + * can hotplug vCPUs one at a time */ + if (!def->cpu || def->cpu->sockets =3D=3D 0) + return 1; + + /* For pSeries guests, hotplug can only be performed one core + * at a time, so the vCPU hotplug granularity is the number + * of threads per core */ + if (qemuDomainIsPSeries(def)) + return def->cpu->threads; + + /* In all other cases, we can hotplug vCPUs one at a time */ + return 1; +} + + static int -qemuValidateDomainCpuCount(const virDomainDef *def, virQEMUCapsPtr qemuCap= s) +qemuValidateDomainVCpuTopology(const virDomainDef *def, virQEMUCapsPtr qem= uCaps) { unsigned int maxCpus =3D virQEMUCapsGetMachineMaxCpus(qemuCaps, def->v= irtType, def->os.machine); @@ -632,6 +662,61 @@ qemuValidateDomainCpuCount(const virDomainDef *def, vi= rQEMUCapsPtr qemuCaps) return -1; } =20 + /* QEMU 2.7 (detected via the availability of query-hotpluggable-cpus) + * enforces stricter rules than previous versions when it comes to gue= st + * CPU topology. Verify known constraints are respected */ + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS)) { + unsigned int topologycpus; + unsigned int granularity; + unsigned int numacpus; + + /* Starting from QEMU 2.5, max vCPU count and overall vCPU topology + * must agree. We only actually enforce this with QEMU 2.7+, due + * to the capability check above */ + if (virDomainDefGetVcpusTopology(def, &topologycpus) =3D=3D 0) { + if (topologycpus !=3D virDomainDefGetVcpusMax(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("CPU topology doesn't match maximum vcpu = count")); + return -1; + } + + numacpus =3D virDomainNumaGetCPUCountTotal(def->numa); + if ((numacpus !=3D 0) && (topologycpus !=3D numacpus)) { + VIR_WARN("CPU topology doesn't match numa CPU count; " + "partial NUMA mapping is obsoleted and will " + "be removed in future"); + } + } + + /* vCPU hotplug granularity must be respected */ + granularity =3D qemuValidateDefGetVcpuHotplugGranularity(def); + if ((virDomainDefGetVcpus(def) % granularity) !=3D 0) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("vCPUs count must be a multiple of the vCPU " + "hotplug granularity (%u)"), + granularity); + return -1; + } + } + + if (ARCH_IS_X86(def->os.arch) && + virDomainDefGetVcpusMax(def) > QEMU_MAX_VCPUS_WITHOUT_EIM) { + if (!qemuDomainIsQ35(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("more than %d vCPUs are only supported on " + "q35-based machine types"), + QEMU_MAX_VCPUS_WITHOUT_EIM); + return -1; + } + if (!def->iommu || def->iommu->eim !=3D VIR_TRISTATE_SWITCH_ON) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("more than %d vCPUs require extended interrup= t " + "mode enabled on the iommu device"), + QEMU_MAX_VCPUS_WITHOUT_EIM); + return -1; + } + } + return 0; } =20 @@ -823,36 +908,6 @@ qemuValidateDomainDefConsole(const virDomainDef *def, } =20 =20 -/** - * qemuValidateDefGetVcpuHotplugGranularity: - * @def: domain definition - * - * With QEMU 2.7 and newer, vCPUs can only be hotplugged in groups that - * respect the guest's hotplug granularity; because of that, QEMU will - * not allow guests to start unless the initial number of vCPUs is a - * multiple of the hotplug granularity. - * - * Returns the vCPU hotplug granularity. - */ -static unsigned int -qemuValidateDefGetVcpuHotplugGranularity(const virDomainDef *def) -{ - /* If the guest CPU topology has not been configured, assume we - * can hotplug vCPUs one at a time */ - if (!def->cpu || def->cpu->sockets =3D=3D 0) - return 1; - - /* For pSeries guests, hotplug can only be performed one core - * at a time, so the vCPU hotplug granularity is the number - * of threads per core */ - if (qemuDomainIsPSeries(def)) - return def->cpu->threads; - - /* In all other cases, we can hotplug vCPUs one at a time */ - return 1; -} - - static int qemuValidateDomainDefSysinfo(const virSysinfoDef *def, virQEMUCapsPtr qemuCaps G_GNUC_UNUSED) @@ -1113,64 +1168,9 @@ qemuValidateDomainDef(const virDomainDef *def, if (qemuValidateDomainDefBoot(def, qemuCaps) < 0) return -1; =20 - /* QEMU 2.7 (detected via the availability of query-hotpluggable-cpus) - * enforces stricter rules than previous versions when it comes to gue= st - * CPU topology. Verify known constraints are respected */ - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_HOTPLUGGABLE_CPUS)) { - unsigned int topologycpus; - unsigned int granularity; - unsigned int numacpus; - - /* Starting from QEMU 2.5, max vCPU count and overall vCPU topology - * must agree. We only actually enforce this with QEMU 2.7+, due - * to the capability check above */ - if (virDomainDefGetVcpusTopology(def, &topologycpus) =3D=3D 0) { - if (topologycpus !=3D virDomainDefGetVcpusMax(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("CPU topology doesn't match maximum vcpu = count")); - return -1; - } - - numacpus =3D virDomainNumaGetCPUCountTotal(def->numa); - if ((numacpus !=3D 0) && (topologycpus !=3D numacpus)) { - VIR_WARN("CPU topology doesn't match numa CPU count; " - "partial NUMA mapping is obsoleted and will " - "be removed in future"); - } - } - - /* vCPU hotplug granularity must be respected */ - granularity =3D qemuValidateDefGetVcpuHotplugGranularity(def); - if ((virDomainDefGetVcpus(def) % granularity) !=3D 0) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("vCPUs count must be a multiple of the vCPU " - "hotplug granularity (%u)"), - granularity); - return -1; - } - } - - if (qemuValidateDomainCpuCount(def, qemuCaps) < 0) + if (qemuValidateDomainVCpuTopology(def, qemuCaps) < 0) return -1; =20 - if (ARCH_IS_X86(def->os.arch) && - virDomainDefGetVcpusMax(def) > QEMU_MAX_VCPUS_WITHOUT_EIM) { - if (!qemuDomainIsQ35(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("more than %d vCPUs are only supported on " - "q35-based machine types"), - QEMU_MAX_VCPUS_WITHOUT_EIM); - return -1; - } - if (!def->iommu || def->iommu->eim !=3D VIR_TRISTATE_SWITCH_ON) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, - _("more than %d vCPUs require extended interrup= t " - "mode enabled on the iommu device"), - QEMU_MAX_VCPUS_WITHOUT_EIM); - return -1; - } - } - if (def->nresctrls && def->virtType !=3D VIR_DOMAIN_VIRT_KVM) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", --=20 2.26.2 From nobody Thu Apr 25 06:32:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) client-ip=63.128.21.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 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1602708318; cv=none; d=zohomail.com; s=zohoarc; b=BFmPhWbSXs9Ei4KdnVsdMfvq4PbSO70G++wtXXjMik++rXJ8ZdbUcSHoLEB1tlV+Zz3H2gzRUSrykfonqlbrzxC4RFFdpOKn8045DYrS98bzxzygLoHAqPIJxfbbieQP+sw9Qdiy7n+YlM6r2Uq7Rme932gTsaGxZWRZNfnIEhQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602708318; h=Content-Type:Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=kGDn0WRgovdpLAtI12kzoT7bwR67tndhvmGwI8AFNAg=; b=WirEg9ED9WiORibj7nipkjKrz5ywjZH+sU3munLLZv86jv8ZIrz4TDJqUxA7hrjnBd6vQx6m4hy1PYXEe9zGz9xmD8tg3rXD6nu+GhN3sKGVvYohty2h3Y6MQtTxZ5Lch8ErqAdfmZGyV5bV3kJpnNG0GqUfiIEm/XyAd2bOVTQ= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602708318176366.27022055363227; Wed, 14 Oct 2020 13:45:18 -0700 (PDT) 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-448-7pwrNE8QOj6CezX4_WNKSg-1; Wed, 14 Oct 2020 16:45:14 -0400 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 E2398100CD1F; Wed, 14 Oct 2020 20:45:07 +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 BB4D273661; Wed, 14 Oct 2020 20:45:07 +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 825D28C7C1; Wed, 14 Oct 2020 20:45:07 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx04.intmail.prod.int.rdu2.redhat.com [10.11.54.4]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09EKi4Oe028906 for ; Wed, 14 Oct 2020 16:44:04 -0400 Received: by smtp.corp.redhat.com (Postfix) id 22AA2207B2D4; Wed, 14 Oct 2020 20:44:04 +0000 (UTC) Received: from mimecast-mx02.redhat.com (mimecast06.extmail.prod.ext.rdu2.redhat.com [10.11.55.22]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 1DB95200A795 for ; Wed, 14 Oct 2020 20:44:01 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-2.mimecast.com [205.139.110.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id CF328182360F for ; Wed, 14 Oct 2020 20:44:01 +0000 (UTC) Received: from mail-il1-f194.google.com (mail-il1-f194.google.com [209.85.166.194]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-146-IzlymQvcMZueao2QqwCzRQ-1; Wed, 14 Oct 2020 16:43:59 -0400 Received: by mail-il1-f194.google.com with SMTP id p16so1062503ilq.5 for ; Wed, 14 Oct 2020 13:43:59 -0700 (PDT) Received: from rekt.ibmuc.com ([2804:431:c7c6:5a9b:54fc:df2a:8a5e:989b]) by smtp.gmail.com with ESMTPSA id i4sm492202ilc.27.2020.10.14.13.43.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 14 Oct 2020 13:43:58 -0700 (PDT) X-MC-Unique: 7pwrNE8QOj6CezX4_WNKSg-1 X-MC-Unique: IzlymQvcMZueao2QqwCzRQ-1 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kGDn0WRgovdpLAtI12kzoT7bwR67tndhvmGwI8AFNAg=; b=fMvHAaDBn1fcnF6l4sCBZti3KXuySrfJgYaqnSLuJ/eAFb5+YLzG2/gSsbyKncvd9I zAzqHsaGbgyHWUajGpi7XUWmQd8t+/GhtH1t7LdvyYcNmNaZ0NzHDQOZrgdj93Bkf15a Yz88OBJv1os0Yj9bmOeh2nZsOUFPmcAeYIWj7+tHTNRJA9rAxMVgJ8WI+5NOcRsh6Yst VxBfUZ3hKEC1/m6tB4OBnYlmW3lldwKzG82SyWrMeEOUns8JJzGu8gcayjUZMDyPdSsl 3gO0KYGKptTqyUAqN+Azj6AVy6aoioRuMC/ViyX0R2+qVY3G4Zx9YPn10X/zyhDpeNmk VMGw== X-Gm-Message-State: AOAM531eiYg5wFqL5cccjEnx2wSZrOB9AMWDzWaZ6Bo6z51A3RFv/FyW y/KfLgYMcd1mNvLFtYBIPvtneBvr7oo= X-Google-Smtp-Source: ABdhPJxByehW1M0OP+MfMY5ODTc61zkL7d8PYwfJBnO/ewFx6M4jVDZF/UIxbrnc89eAe8A9XQQbuw== X-Received: by 2002:a92:9903:: with SMTP id p3mr863036ili.166.1602708238400; Wed, 14 Oct 2020 13:43:58 -0700 (PDT) From: Daniel Henrique Barboza To: libvir-list@redhat.com Subject: [PATCH v1 24/24] qemu_validate.c: move secure boot checks to qemuValidateDomainDefBoot() Date: Wed, 14 Oct 2020 17:43:07 -0300 Message-Id: <20201014204307.631746-25-danielhb413@gmail.com> In-Reply-To: <20201014204307.631746-1-danielhb413@gmail.com> References: <20201014204307.631746-1-danielhb413@gmail.com> MIME-Version: 1.0 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.78 on 10.11.54.4 X-loop: libvir-list@redhat.com Cc: Daniel Henrique Barboza 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 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 Content-Type: text/plain; charset="utf-8" Signed-off-by: Daniel Henrique Barboza Reviewed-by: Michal Privoznik --- src/qemu/qemu_validate.c | 58 ++++++++++++++++++++-------------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c index 5b5c2ab3dd..eeec2270e6 100644 --- a/src/qemu/qemu_validate.c +++ b/src/qemu/qemu_validate.c @@ -591,6 +591,35 @@ static int qemuValidateDomainDefBoot(const virDomainDef *def, virQEMUCapsPtr qemuCaps) { + if (def->os.loader && + def->os.loader->secure =3D=3D VIR_TRISTATE_BOOL_YES) { + /* These are the QEMU implementation limitations. But we + * have to live with them for now. */ + + if (!qemuDomainIsQ35(def)) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Secure boot is supported with q35 machine ty= pes only")); + return -1; + } + + /* Now, technically it is possible to have secure boot on + * 32bits too, but that would require some -cpu xxx magic + * too. Not worth it unless we are explicitly asked. */ + if (def->os.arch !=3D VIR_ARCH_X86_64) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Secure boot is supported for x86_64 architec= ture only")); + return -1; + } + + /* SMM will be enabled by qemuFirmwareFillDomain() if needed. */ + if (def->os.firmware =3D=3D VIR_DOMAIN_OS_DEF_FIRMWARE_NONE && + def->features[VIR_DOMAIN_FEATURE_SMM] !=3D VIR_TRISTATE_SWITCH= _ON) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("Secure boot requires SMM feature enabled")); + return -1; + } + } + if (def->os.bios.rt_set) { if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_REBOOT_TIMEOUT)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", @@ -1103,35 +1132,6 @@ qemuValidateDomainDef(const virDomainDef *def, return -1; } =20 - if (def->os.loader && - def->os.loader->secure =3D=3D VIR_TRISTATE_BOOL_YES) { - /* These are the QEMU implementation limitations. But we - * have to live with them for now. */ - - if (!qemuDomainIsQ35(def)) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Secure boot is supported with q35 machine ty= pes only")); - return -1; - } - - /* Now, technically it is possible to have secure boot on - * 32bits too, but that would require some -cpu xxx magic - * too. Not worth it unless we are explicitly asked. */ - if (def->os.arch !=3D VIR_ARCH_X86_64) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Secure boot is supported for x86_64 architec= ture only")); - return -1; - } - - /* SMM will be enabled by qemuFirmwareFillDomain() if needed. */ - if (def->os.firmware =3D=3D VIR_DOMAIN_OS_DEF_FIRMWARE_NONE && - def->features[VIR_DOMAIN_FEATURE_SMM] !=3D VIR_TRISTATE_SWITCH= _ON) { - virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", - _("Secure boot requires SMM feature enabled")); - return -1; - } - } - if (def->genidRequested && !virQEMUCapsGet(qemuCaps, QEMU_CAPS_DEVICE_VMGENID)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", --=20 2.26.2