From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1707930965578265.1822577552483; Wed, 14 Feb 2024 09:16:05 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 3BDFE1B38; Wed, 14 Feb 2024 12:16:04 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 412481AF0; Wed, 14 Feb 2024 12:11:50 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id CCD2719DC; Wed, 14 Feb 2024 12:11:30 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id A6FED19DD for ; Wed, 14 Feb 2024 12:11:29 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-318-7OHHjOGJNhyU5yy-p3inYA-1; Wed, 14 Feb 2024 12:11:27 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 4C12385A58F for ; Wed, 14 Feb 2024 17:11:27 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id D7289112131D for ; Wed, 14 Feb 2024 17:11:26 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 7OHHjOGJNhyU5yy-p3inYA-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 01/17] tests: Add controller-scsi-default-unavailable Date: Wed, 14 Feb 2024 18:11:08 +0100 Message-ID: <20240214171124.508000-2-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: HSIVCVTIMDN5TI35KFSKXJU2324DUZAB X-Message-ID-Hash: HSIVCVTIMDN5TI35KFSKXJU2324DUZAB X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707930965824100001 This provides coverage for the (very unlikely) scenario in which none of the possible devices are built into QEMU. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- ...ler-scsi-default-unavailable.x86_64-latest.err | 1 + .../controller-scsi-default-unavailable.xml | 15 +++++++++++++++ tests/qemuxmlconftest.c | 6 ++++++ 3 files changed, 22 insertions(+) create mode 100644 tests/qemuxmlconfdata/controller-scsi-default-unavailab= le.x86_64-latest.err create mode 100644 tests/qemuxmlconfdata/controller-scsi-default-unavailab= le.xml diff --git a/tests/qemuxmlconfdata/controller-scsi-default-unavailable.x86_= 64-latest.err b/tests/qemuxmlconfdata/controller-scsi-default-unavailable.x= 86_64-latest.err new file mode 100644 index 0000000000..3648abd871 --- /dev/null +++ b/tests/qemuxmlconfdata/controller-scsi-default-unavailable.x86_64-late= st.err @@ -0,0 +1 @@ +internal error: Unable to determine model for SCSI controller idx=3D0 diff --git a/tests/qemuxmlconfdata/controller-scsi-default-unavailable.xml = b/tests/qemuxmlconfdata/controller-scsi-default-unavailable.xml new file mode 100644 index 0000000000..e438dcf5bc --- /dev/null +++ b/tests/qemuxmlconfdata/controller-scsi-default-unavailable.xml @@ -0,0 +1,15 @@ + + guest + c7a5fdbd-edaf-9455-926a-d65c16db1809 + 219136 + 8 + + hvm + + + /usr/bin/qemu-system-x86_64 + + + + + diff --git a/tests/qemuxmlconftest.c b/tests/qemuxmlconftest.c index e1ee1fbce3..c43f4cab67 100644 --- a/tests/qemuxmlconftest.c +++ b/tests/qemuxmlconftest.c @@ -1587,6 +1587,12 @@ mymain(void) DO_TEST_CAPS_LATEST_PARSE_ERROR("disk-scsi-disk-vpd-build-error"); DO_TEST_CAPS_LATEST("controller-virtio-scsi"); DO_TEST_CAPS_LATEST("controller-scsi-auto"); + DO_TEST_FULL("controller-scsi-default-unavailable", ".x86_64-latest", + ARG_CAPS_ARCH, "x86_64", + ARG_CAPS_VER, "latest", + ARG_FLAGS, FLAG_EXPECT_PARSE_ERROR, + ARG_QEMU_CAPS_DEL, QEMU_CAPS_SCSI_LSI, QEMU_CAPS_VIRTIO_S= CSI, QEMU_CAPS_LAST, + ARG_END); DO_TEST_CAPS_LATEST("disk-sata-device"); DO_TEST_CAPS_LATEST("disk-aio"); DO_TEST_CAPS_LATEST("disk-aio-io_uring"); --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 17079310691871003.9979473361016; Wed, 14 Feb 2024 09:17:49 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id C1D901A72; Wed, 14 Feb 2024 12:17:47 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id D6EA91A2D; Wed, 14 Feb 2024 12:12:01 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 32B4219DD; Wed, 14 Feb 2024 12:11:31 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id E367819E3 for ; Wed, 14 Feb 2024 12:11:29 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-159-OTI3wDmbMWieHACYpLrsLQ-1; Wed, 14 Feb 2024 12:11:28 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 1C3303CBD501 for ; Wed, 14 Feb 2024 17:11:28 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id A6BC8112131D for ; Wed, 14 Feb 2024 17:11:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: OTI3wDmbMWieHACYpLrsLQ-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 02/17] qemu: Rename qemuDomainDefaultSCSIControllerModel() Date: Wed, 14 Feb 2024 18:11:09 +0100 Message-ID: <20240214171124.508000-3-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: A24AAPUVMJI2UBNC4QADJISTZEZIKK7S X-Message-ID-Hash: A24AAPUVMJI2UBNC4QADJISTZEZIKK7S X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931070226100001 Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 8 ++++---- src/qemu/qemu_domain.h | 6 +++--- src/qemu/qemu_hotplug.c | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d7be544710..01f4ed6917 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4107,9 +4107,9 @@ qemuDomainDefAddDefaultAudioBackend(virQEMUDriver *dr= iver, * Returns model on success, -1 on failure with error set. */ int -qemuDomainGetSCSIControllerModel(const virDomainDef *def, - const virDomainControllerDef *cont, - virQEMUCaps *qemuCaps) +qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, + const virDomainControllerDef *cont, + virQEMUCaps *qemuCaps) { if (cont->model > 0) return cont->model; @@ -5614,7 +5614,7 @@ qemuDomainControllerDefPostParse(virDomainControllerD= ef *cont, switch (cont->type) { case VIR_DOMAIN_CONTROLLER_TYPE_SCSI: /* Set the default SCSI controller model if not already set */ - cont->model =3D qemuDomainGetSCSIControllerModel(def, cont, qemuCa= ps); + cont->model =3D qemuDomainDefaultSCSIControllerModel(def, cont, qe= muCaps); =20 if (cont->model < 0) return -1; diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index 98c188cc8f..f3aad2ef5c 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -838,9 +838,9 @@ bool qemuDomainHasBuiltinESP(const virDomainDef *def); bool qemuDomainNeedsFDC(const virDomainDef *def); bool qemuDomainSupportsPCI(const virDomainDef *def); bool qemuDomainSupportsPCIMultibus(const virDomainDef *def); -int qemuDomainGetSCSIControllerModel(const virDomainDef *def, - const virDomainControllerDef *cont, - virQEMUCaps *qemuCaps); +int qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, + const virDomainControllerDef *con= t, + virQEMUCaps *qemuCaps); =20 void qemuDomainUpdateCurrentMemorySize(virDomainObj *vm); =20 diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index b9c502613c..a2498e793a 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -878,7 +878,7 @@ qemuDomainFindOrCreateSCSIDiskController(virDomainObj *= vm, cont->idx =3D controller; =20 if (model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT) - cont->model =3D qemuDomainGetSCSIControllerModel(vm->def, cont, pr= iv->qemuCaps); + cont->model =3D qemuDomainDefaultSCSIControllerModel(vm->def, cont= , priv->qemuCaps); else cont->model =3D model; =20 --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1707931160348517.6213863447251; Wed, 14 Feb 2024 09:19:20 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 3C1EC1C0F; Wed, 14 Feb 2024 12:19:19 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 884AA1AD6; Wed, 14 Feb 2024 12:12:13 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 5B32B19F0; Wed, 14 Feb 2024 12:11:33 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 3DA7219DC for ; Wed, 14 Feb 2024 12:11:32 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-275-YcRrfjlnM1S_iCcUI3B96Q-1; Wed, 14 Feb 2024 12:11:29 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id C691D85A58B for ; Wed, 14 Feb 2024 17:11:28 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 5CEA51121337 for ; Wed, 14 Feb 2024 17:11:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: YcRrfjlnM1S_iCcUI3B96Q-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 03/17] qemu: Move error reporting out of qemuDomainDefaultSCSIControllerModel() Date: Wed, 14 Feb 2024 18:11:10 +0100 Message-ID: <20240214171124.508000-4-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: QQP3KIQ5ZTGLKLA7H7DFVYXPPD4SFUNP X-Message-ID-Hash: QQP3KIQ5ZTGLKLA7H7DFVYXPPD4SFUNP X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931161403100001 We want this helper to work more like other similar ones, where error reporting is performed by the caller. This introduces a small amount of code duplication but makes for a cleaner API. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 9 +++++---- src/qemu/qemu_hotplug.c | 3 +++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 01f4ed6917..22e6b9fd3e 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4125,9 +4125,6 @@ qemuDomainDefaultSCSIControllerModel(const virDomainD= ef *def, if (qemuDomainHasBuiltinESP(def)) return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; =20 - virReportError(VIR_ERR_INTERNAL_ERROR, - _("Unable to determine model for SCSI controller idx=3D= %1$d"), - cont->idx); return -1; } =20 @@ -5616,8 +5613,12 @@ qemuDomainControllerDefPostParse(virDomainController= Def *cont, /* Set the default SCSI controller model if not already set */ cont->model =3D qemuDomainDefaultSCSIControllerModel(def, cont, qe= muCaps); =20 - if (cont->model < 0) + if (cont->model < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unable to determine model for SCSI controlle= r idx=3D%1$d"), + cont->idx); return -1; + } break; =20 case VIR_DOMAIN_CONTROLLER_TYPE_USB: diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a2498e793a..a9dbc37915 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -883,6 +883,9 @@ qemuDomainFindOrCreateSCSIDiskController(virDomainObj *= vm, cont->model =3D model; =20 if (cont->model < 0) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("Unable to determine model for SCSI controller id= x=3D%1$d"), + cont->idx); VIR_FREE(cont); return NULL; } --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1707931383749605.1044663225694; Wed, 14 Feb 2024 09:23:03 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id B0D151A21; Wed, 14 Feb 2024 12:23:02 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 33ADA1B9D; Wed, 14 Feb 2024 12:12:38 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id DFA0A19F7; Wed, 14 Feb 2024 12:11:35 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id B037719EB for ; Wed, 14 Feb 2024 12:11:32 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-145-4HeuqHbyMGCw6c0M54m4WQ-1; Wed, 14 Feb 2024 12:11:30 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 7DAE184AEF2 for ; Wed, 14 Feb 2024 17:11:29 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 141DE112131D for ; Wed, 14 Feb 2024 17:11:28 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: 4HeuqHbyMGCw6c0M54m4WQ-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 04/17] qemu: Improve qemuDomainDefaultSCSIControllerModel() Date: Wed, 14 Feb 2024 18:11:11 +0100 Message-ID: <20240214171124.508000-5-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: O4XWNKFPM6NK5JEFZNKSG2SISAXJ4ZL7 X-Message-ID-Hash: O4XWNKFPM6NK5JEFZNKSG2SISAXJ4ZL7 X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931384460100001 Make the helper stateless. This requires the caller to check whether it needs to be called in the first place instead of adding this check inside the function, which makes for more readable, if a little more verbose, code. At the same time, change it so that it uses an out argument to return the selected model back to the caller, and only use the return value to signal whether the function completed its task successfully. This is consistent with most APIs in libvirt, and removes the ambiguity caused by the fact that the value of VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT is -1. In order to have a nice API while still keeping the implementation short and readable, a small wrapper is required. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 51 ++++++++++++++++++++++++----------------- src/qemu/qemu_domain.h | 4 ++-- src/qemu/qemu_hotplug.c | 18 ++++++++------- 3 files changed, 42 insertions(+), 31 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 22e6b9fd3e..ab2cc427a2 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4096,6 +4096,26 @@ qemuDomainDefAddDefaultAudioBackend(virQEMUDriver *d= river, } =20 =20 +/* Internal. Use qemuDomainDefaultSCSIControllerModel() instead */ +static virDomainControllerModelSCSI +qemuDomainDefaultSCSIControllerModelInternal(const virDomainDef *def, + virQEMUCaps *qemuCaps) +{ + if (qemuDomainIsPSeries(def)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; + if (ARCH_IS_S390(def->os.arch)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC; + if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; + if (qemuDomainHasBuiltinESP(def)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; + + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT; +} + + /** * @def: Domain definition * @cont: Domain controller def @@ -4107,25 +4127,12 @@ qemuDomainDefAddDefaultAudioBackend(virQEMUDriver *= driver, * Returns model on success, -1 on failure with error set. */ int -qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, - const virDomainControllerDef *cont, +qemuDomainDefaultSCSIControllerModel(virDomainControllerModelSCSI *model, + const virDomainDef *def, virQEMUCaps *qemuCaps) { - if (cont->model > 0) - return cont->model; - - if (qemuDomainIsPSeries(def)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; - if (ARCH_IS_S390(def->os.arch)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC; - if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; - if (qemuDomainHasBuiltinESP(def)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; - - return -1; + *model =3D qemuDomainDefaultSCSIControllerModelInternal(def, qemuCaps); + return 0; } =20 =20 @@ -5610,10 +5617,12 @@ qemuDomainControllerDefPostParse(virDomainControlle= rDef *cont, { switch (cont->type) { case VIR_DOMAIN_CONTROLLER_TYPE_SCSI: - /* Set the default SCSI controller model if not already set */ - cont->model =3D qemuDomainDefaultSCSIControllerModel(def, cont, qe= muCaps); - - if (cont->model < 0) { + /* If no model is set, try to come up with a reasonable + * default. If one can't be determined, error out */ + if ((cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT || + cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO) && + (qemuDomainDefaultSCSIControllerModel(&cont->model, def, qemuC= aps) < 0 || + cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT))= { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to determine model for SCSI controlle= r idx=3D%1$d"), cont->idx); diff --git a/src/qemu/qemu_domain.h b/src/qemu/qemu_domain.h index f3aad2ef5c..dae817d655 100644 --- a/src/qemu/qemu_domain.h +++ b/src/qemu/qemu_domain.h @@ -838,8 +838,8 @@ bool qemuDomainHasBuiltinESP(const virDomainDef *def); bool qemuDomainNeedsFDC(const virDomainDef *def); bool qemuDomainSupportsPCI(const virDomainDef *def); bool qemuDomainSupportsPCIMultibus(const virDomainDef *def); -int qemuDomainDefaultSCSIControllerModel(const virDomainDef *def, - const virDomainControllerDef *con= t, +int qemuDomainDefaultSCSIControllerModel(virDomainControllerModelSCSI *mod= el, + const virDomainDef *def, virQEMUCaps *qemuCaps); =20 void qemuDomainUpdateCurrentMemorySize(virDomainObj *vm); diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index a9dbc37915..b96c706804 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -850,7 +850,7 @@ qemuDomainFindOrCreateSCSIDiskController(virDomainObj *= vm, size_t i; virDomainControllerDef *cont; qemuDomainObjPrivate *priv =3D vm->privateData; - int model =3D -1; + virDomainControllerModelSCSI model =3D VIR_DOMAIN_CONTROLLER_MODEL_SCS= I_DEFAULT; =20 for (i =3D 0; i < vm->def->ncontrollers; i++) { cont =3D vm->def->controllers[i]; @@ -876,13 +876,15 @@ qemuDomainFindOrCreateSCSIDiskController(virDomainObj= *vm, * now hotplug a controller */ cont =3D virDomainControllerDefNew(VIR_DOMAIN_CONTROLLER_TYPE_SCSI); cont->idx =3D controller; - - if (model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT) - cont->model =3D qemuDomainDefaultSCSIControllerModel(vm->def, cont= , priv->qemuCaps); - else - cont->model =3D model; - - if (cont->model < 0) { + cont->model =3D model; + + /* If no model has been discovered by looking at existing SCSI + * controllers, try to come up with a reasonable default. If one + * can't be determined, error out */ + if ((cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT || + cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_AUTO) && + (qemuDomainDefaultSCSIControllerModel(&cont->model, vm->def, priv-= >qemuCaps) < 0 || + cont->model =3D=3D VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT)) { virReportError(VIR_ERR_INTERNAL_ERROR, _("Unable to determine model for SCSI controller id= x=3D%1$d"), cont->idx); --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 170793126102346.06664889701449; Wed, 14 Feb 2024 09:21:01 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id EA7171B7E; Wed, 14 Feb 2024 12:20:59 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 1A9AE1AE1; Wed, 14 Feb 2024 12:12:25 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id CD70A19DC; Wed, 14 Feb 2024 12:11:33 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 6C38A19E3 for ; Wed, 14 Feb 2024 12:11:32 -0500 (EST) Received: from mimecast-mx02.redhat.com (mimecast-mx02.redhat.com [66.187.233.88]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-572-AMm7V4QIMjaAm0a25K1eNw-1; Wed, 14 Feb 2024 12:11:30 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id 343D5185A788 for ; Wed, 14 Feb 2024 17:11:30 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id BF0B1112131D for ; Wed, 14 Feb 2024 17:11:29 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H4, RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: AMm7V4QIMjaAm0a25K1eNw-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 05/17] qemu: Clean up qemuDomainDefaultSCSIControllerModel() Date: Wed, 14 Feb 2024 18:11:12 +0100 Message-ID: <20240214171124.508000-6-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: DJEEWT4LAGEXZWJVRKPTVGZYMMQ4R4DI X-Message-ID-Hash: DJEEWT4LAGEXZWJVRKPTVGZYMMQ4R4DI X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931261888100001 Use a better order for sections, improve comments. Signed-off-by: Andrea Bolognani --- src/qemu/qemu_domain.c | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index ab2cc427a2..f4af8fb6ba 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4101,30 +4101,49 @@ static virDomainControllerModelSCSI qemuDomainDefaultSCSIControllerModelInternal(const virDomainDef *def, virQEMUCaps *qemuCaps) { - if (qemuDomainIsPSeries(def)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; + /* For machine types with built-in SCSI controllers, the choice + * of model is obvious */ + if (qemuDomainHasBuiltinESP(def)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; + + /* Most new architectures should ideally use virtio */ if (ARCH_IS_S390(def->os.arch)) return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; + + /* pSeries has its own special default */ + if (qemuDomainIsPSeries(def)) + return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_IBMVSCSI; + + /* If there is no preference, base the choice on device + * availability. In this case, lsilogic is favored over + * virtio-scsi for backwards compatibility reasons */ if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_LSI)) return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_LSILOGIC; if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_VIRTIO_SCSI)) return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; - if (qemuDomainHasBuiltinESP(def)) - return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; =20 return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_DEFAULT; } =20 =20 /** - * @def: Domain definition - * @cont: Domain controller def - * @qemuCaps: qemu capabilities + * qemuDomainDefaultSCSIControllerModel: + * @model: return location + * @def: domain definition + * @qemuCaps: QEMU capabilities, or NULL + * + * Choose a reasonable model to use for a SCSI controller where a + * specific one hasn't been provided by the user. + * + * The choice is based on a number of factors, including the guest's + * architecture and machine type. @qemuCaps, if provided, might be + * taken into consideration too. * - * If the controller model is already defined, return it immediately; - * otherwise, based on the @qemuCaps return a default model value. + * Not being able to come up with a value is NOT considered a + * failure. It's up to the caller to decide how to handle that + * scenario. * - * Returns model on success, -1 on failure with error set. + * Returns: 0 on success, <0 on failure. */ int qemuDomainDefaultSCSIControllerModel(virDomainControllerModelSCSI *model, --=20 2.43.0 _______________________________________________ Devel mailing list -- devel@lists.libvirt.org To unsubscribe send an email to devel-leave@lists.libvirt.org From nobody Thu May 9 10:28:51 2024 Delivered-To: importer@patchew.org Received-SPF: none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) client-ip=8.43.85.245; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; spf=none (zohomail.com: 8.43.85.245 is neither permitted nor denied by domain of lists.libvirt.org) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [8.43.85.245]) by mx.zohomail.com with SMTPS id 1707931516821409.2195022611347; Wed, 14 Feb 2024 09:25:16 -0800 (PST) Received: by lists.libvirt.org (Postfix, from userid 996) id 8D0C11AB8; Wed, 14 Feb 2024 12:25:15 -0500 (EST) Received: from lists.libvirt.org.85.43.8.in-addr.arpa (localhost [IPv6:::1]) by lists.libvirt.org (Postfix) with ESMTP id 778FC1B77; Wed, 14 Feb 2024 12:13:09 -0500 (EST) Received: by lists.libvirt.org (Postfix, from userid 996) id 59DB319F1; Wed, 14 Feb 2024 12:11:37 -0500 (EST) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id 4B94719F1 for ; Wed, 14 Feb 2024 12:11:33 -0500 (EST) Received: from mimecast-mx02.redhat.com (mx-ext.redhat.com [66.187.233.73]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-461-tUI8xQv1OxCSQD94Juzqig-1; Wed, 14 Feb 2024 12:11:31 -0500 Received: from smtp.corp.redhat.com (int-mx03.intmail.prod.int.rdu2.redhat.com [10.11.54.3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by mimecast-mx02.redhat.com (Postfix) with ESMTPS id E1D343CBD521 for ; Wed, 14 Feb 2024 17:11:30 +0000 (UTC) Received: from harajuku.usersys.redhat.com (unknown [10.45.226.93]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7544D112131D for ; Wed, 14 Feb 2024 17:11:30 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=5.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE, T_SCC_BODY_TEXT_LINE autolearn=unavailable autolearn_force=no version=3.4.4 X-MC-Unique: tUI8xQv1OxCSQD94Juzqig-1 From: Andrea Bolognani To: devel@lists.libvirt.org Subject: [PATCH v2 06/17] qemu: Use virtio-scsi by default on RISC-V Date: Wed, 14 Feb 2024 18:11:13 +0100 Message-ID: <20240214171124.508000-7-abologna@redhat.com> In-Reply-To: <20240214171124.508000-1-abologna@redhat.com> References: <20240214171124.508000-1-abologna@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 3.4.1 on 10.11.54.3 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Message-ID-Hash: XTMFBAGBMIVH4CDDNCT4H6M67PA5PZL2 X-Message-ID-Hash: XTMFBAGBMIVH4CDDNCT4H6M67PA5PZL2 X-MailFrom: abologna@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-config-1; header-match-config-2; header-match-config-3; header-match-devel.lists.libvirt.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.2 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="utf-8"; x-default="true" Content-Transfer-Encoding: quoted-printable X-ZM-MESSAGEID: 1707931518968100001 Just like piix3-uhci for USB, the choice of lsilogic for SCSI was dictated entirely by that being the default for legacy x86 guests. Use virtio-scsi instead. Signed-off-by: Andrea Bolognani Reviewed-by: Peter Krempa --- src/qemu/qemu_domain.c | 4 +++- ...virt-default-models.riscv64-latest.abi-update.args | 5 +++-- ...-virt-default-models.riscv64-latest.abi-update.xml | 11 ++++++++--- .../riscv64-virt-default-models.riscv64-latest.args | 5 +++-- .../riscv64-virt-default-models.riscv64-latest.xml | 11 ++++++++--- 5 files changed, 25 insertions(+), 11 deletions(-) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index f4af8fb6ba..31d634b151 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4107,8 +4107,10 @@ qemuDomainDefaultSCSIControllerModelInternal(const v= irDomainDef *def, return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_NCR53C90; =20 /* Most new architectures should ideally use virtio */ - if (ARCH_IS_S390(def->os.arch)) + if (ARCH_IS_S390(def->os.arch) || + qemuDomainIsRISCVVirt(def)) { return VIR_DOMAIN_CONTROLLER_MODEL_SCSI_VIRTIO_SCSI; + } =20 /* pSeries has its own special default */ if (qemuDomainIsPSeries(def)) diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-late= st.abi-update.args b/tests/qemuxmlconfdata/riscv64-virt-default-models.risc= v64-latest.abi-update.args index 28b56d876c..7990f7f6a0 100644 --- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-= update.args +++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-= update.args @@ -30,13 +30,14 @@ XDG_CONFIG_HOME=3D/var/lib/libvirt/qemu/domain--1-guest= /.config \ -device '{"driver":"pcie-pci-bridge","id":"pci.3","bus":"pci.1","addr":"0x= 0"}' \ -device '{"driver":"pcie-root-port","port":10,"chassis":4,"id":"pci.4","bu= s":"pcie.0","addr":"0x1.0x2"}' \ -device '{"driver":"pcie-root-port","port":11,"chassis":5,"id":"pci.5","bu= s":"pcie.0","addr":"0x1.0x3"}' \ +-device '{"driver":"pcie-root-port","port":12,"chassis":6,"id":"pci.6","bu= s":"pcie.0","addr":"0x1.0x4"}' \ -device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.3","addr":"0x1"}= ' \ --device '{"driver":"lsi","id":"scsi0","bus":"pci.3","addr":"0x2"}' \ +-device '{"driver":"virtio-scsi-pci","id":"scsi0","bus":"pci.4","addr":"0x= 0"}' \ -netdev '{"type":"user","id":"hostnet0"}' \ -device '{"driver":"virtio-net-pci","netdev":"hostnet0","id":"net0","mac":= "52:54:00:09:a4:37","bus":"pci.2","addr":"0x0"}' \ -chardev pty,id=3Dcharserial0 \ -serial chardev:charserial0 \ -audiodev '{"id":"audio1","driver":"none"}' \ --device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.4= ","addr":"0x0"}' \ +-device '{"driver":"virtio-vga","id":"video0","max_outputs":1,"bus":"pci.5= ","addr":"0x0"}' \ -sandbox on,obsolete=3Ddeny,elevateprivileges=3Ddeny,spawn=3Ddeny,resource= control=3Ddeny \ -msg timestamp=3Don diff --git a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-late= st.abi-update.xml b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv= 64-latest.abi-update.xml index 942bd21f9e..72dc447d33 100644 --- a/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-= update.xml +++ b/tests/qemuxmlconfdata/riscv64-virt-default-models.riscv64-latest.abi-= update.xml @@ -17,8 +17,8 @@
- -
+ +
@@ -45,6 +45,11 @@
+ + + +
+ @@ -61,7 +66,7 @@