From nobody Wed Jun 24 21:42:22 2026 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) client-ip=38.145.34.151; envelope-from=devel-bounces@lists.libvirt.org; helo=lists.libvirt.org; Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass(p=reject dis=none) header.from=lists.libvirt.org ARC-Seal: i=1; a=rsa-sha256; t=1781794694; cv=none; d=zohomail.com; s=zohoarc; b=KipTVdNdbbAvNdZS0Kd08vy6GB4zvv/mAWm9wbE79ziutm5hDxV76b+xcfmyna6I0/6v0Nz20s10O5gaZ/KDtiRJSofJkBdAWcSbWLwJoKnL4STBfi6KboSB+FRBuAmIz/jpHHMeUu+9r5lrGAbk1H0Jmoofn5NDIMP27oxKqkM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1781794694; h=Content-Type:Content-Transfer-Encoding:Date:Date:From:From:List-Subscribe:List-Post:List-Owner:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:Reply-To:Subject:Subject:To:To:Message-Id:Cc; bh=3EPcihIEymE9/Y40WIcjKNns79zWZtgzft/IkZpJ2jM=; b=awDhvmV+XYnyJbf25K8/QGATvOLuFd11lcambnZhDORtoA/KpLO5rMJgPAgoRN4ASYj8ekovRGYuEdSoFMFk3uQFIWGLch0NP4uyhn8Aevck7YuOnBgcWqhRYQFMhN0yvOnj9zujjhgELmPTuRDEdpHheJqKKbPn9u6eG92NtpQ= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of lists.libvirt.org designates 38.145.34.151 as permitted sender) smtp.mailfrom=devel-bounces@lists.libvirt.org; dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.libvirt.org (lists.libvirt.org [38.145.34.151]) by mx.zohomail.com with SMTPS id 178179469415136.322142129593885; Thu, 18 Jun 2026 07:58:14 -0700 (PDT) Received: by lists.libvirt.org (Postfix, from userid 993) id BABFC41DA8; Thu, 18 Jun 2026 10:58:12 -0400 (EDT) Received: from [172.19.199.7] (unknown [10.16.107.18]) by lists.libvirt.org (Postfix) with ESMTP id 1C24C41E06; Thu, 18 Jun 2026 10:54:32 -0400 (EDT) Received: by lists.libvirt.org (Postfix, from userid 993) id EA4D641D3F; Thu, 18 Jun 2026 10:54:24 -0400 (EDT) Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (3072 bits) server-digest SHA256) (No client certificate requested) by lists.libvirt.org (Postfix) with ESMTPS id BCE4841D49 for ; Thu, 18 Jun 2026 10:54:06 -0400 (EDT) Received: from mail-wm1-f70.google.com (mail-wm1-f70.google.com [209.85.128.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-79-WhNPyr0dNVKRaSyMCQ6jog-1; Thu, 18 Jun 2026 10:54:04 -0400 Received: by mail-wm1-f70.google.com with SMTP id 5b1f17b1804b1-490bfd70b0fso8980805e9.0 for ; Thu, 18 Jun 2026 07:54:04 -0700 (PDT) Received: from wheatley.localdomain ([213.175.37.14]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-49230a96d14sm234283965e9.12.2026.06.18.07.54.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 18 Jun 2026 07:54:01 -0700 (PDT) Received: from wheatley.pinto-pinecone.ts.net (wheatley.k8r.cz [127.0.0.1]) by wheatley.localdomain (Postfix) with ESMTP id AD01C1B7661E1 for ; Thu, 18 Jun 2026 16:54:00 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-26) on lists.libvirt.org X-Spam-Level: X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,MAILING_LIST_MULTI,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS autolearn=unavailable autolearn_force=no version=4.0.1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1781794446; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3EPcihIEymE9/Y40WIcjKNns79zWZtgzft/IkZpJ2jM=; b=VGRGLeWoJ/iIU8R0q6DMeNHPkv9W96TRxBrILNK9H5XIEMCGrWUyV/A2t6DBVXiY7kZT/e aKzwGgAThGGXk7AEEm2Re58XQl7twJIG2FMxunOarcWphyR6uOKAf9UYWlR5T16/9+E7Zn T2+PzMq+x/dxaCjcBIZBQJ6HYCTmQ/I= X-MC-Unique: WhNPyr0dNVKRaSyMCQ6jog-1 X-Mimecast-MFC-AGG-ID: WhNPyr0dNVKRaSyMCQ6jog_1781794443 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1781794443; x=1782399243; h=content-transfer-encoding:mime-version:message-id:date:subject:to :from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=3EPcihIEymE9/Y40WIcjKNns79zWZtgzft/IkZpJ2jM=; b=SvfZDm5ezp3yTguxgTmpecxKpBOP0vsgI9Ye2I9JwJetC4L3secKDFrA8GeL2IsjZl yuHPAEpybnK7xIDaXAjRBx4p2Ai/pgpSlRwcwPZHfELiNSmbFpMPtptQ8qknsTrWccoR 9qBdYQVO6GlK8mw7+phyjQMSW2SrnKSXedSBOQv44Ti0ZudSVZadsJgybkvU6dtFUnXB VNSw1w1XpqhunOtMb7S3qPHX6ltgi4TdRF0dEF6Kt8nVHke7XJR1nkO1DO/aMWsi5yxs zGaag+fnHVHe16GpoTEE+HI0vW4/mF5UJHXgznibgVZJmZuUCKVMV1Uh0pkfpum4/rJL Cf/Q== X-Gm-Message-State: AOJu0Yw7oMhU8Mo88X6QDHypvyV+L+yzTq4rv/7rkhEHNeBaJhA65D9J nOdJaROyEsdRGDIxzTJEOyHxwcq5JlWshfJwRF/jTuPhAFkIElDXXCwAmscKu9AJIwpjoxAutEa KyhDCwqN7R361bf8WEhX8NevNHaE6ZczjgHsGxdczmulG8WUh152A3++rDlVahBjewryURIiC6m KYlRv65dHY3IvPwJqgiu30cOnr/4GONjH1rJXqSzrVIKc= X-Gm-Gg: AfdE7clPuyGSe4GjhHJ8ciC2Porz1ANj6hCQ1B4OIrCcEfmoD0usNycy+i27XBU5Z2k DNMc9ly7a96maQAUWepGKRBvDohoL4HB4g/BX8Q32dwfxPydONDs0QCw7L7hfhXD5K2GG32GCDd UV6EAsLRFSIgoopUtZKcHpWDrgMbxdkJ3O7/MKdyUVWDNn88aNq1mzZELj6ccwFpRySU+wWjWdL MrA3Dzx7xVkFkH1lctAdNdNxxqVeSbQv0oMLe9s63j4ScZeflVgIhzEEHCQTE+WHOJAVB43bCS2 Lr53l9qvq5+uwQ3i0OUdNg8oHut3lk4/dxq2mCEdqE6xpbIFPgwKdh+HYZispux17mG/1sD4VEy cK84+Hl0/8D0= X-Received: by 2002:a05:600c:608a:b0:490:b0e1:2161 with SMTP id 5b1f17b1804b1-492340feb70mr142742225e9.2.1781794443150; Thu, 18 Jun 2026 07:54:03 -0700 (PDT) X-Received: by 2002:a05:600c:608a:b0:490:b0e1:2161 with SMTP id 5b1f17b1804b1-492340feb70mr142741155e9.2.1781794442398; Thu, 18 Jun 2026 07:54:02 -0700 (PDT) To: devel@lists.libvirt.org Subject: [PATCH] vmx: Fix a case with 64 disks on one SCSI controller Date: Thu, 18 Jun 2026 16:53:56 +0200 Message-ID: X-Mailer: git-send-email 2.54.0 MIME-Version: 1.0 X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: 4P4v_4bxYYcv_GSARSY6lE2z32cG0EWQjmduhXh6tU0_1781794443 X-Mimecast-Originator: redhat.com Content-Transfer-Encoding: quoted-printable Message-ID-Hash: 2ICYSAOVAW6U5XAHK7XYZBEQ7A4IVMHD X-Message-ID-Hash: 2ICYSAOVAW6U5XAHK7XYZBEQ7A4IVMHD X-MailFrom: mkletzan@redhat.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-devel.lists.libvirt.org-0; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list List-Id: Development discussions about the libvirt library & tools Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: Martin Kletzander via Devel Reply-To: Martin Kletzander X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1781794696919158500 Content-Type: text/plain; charset="utf-8"; x-default="true" From: Martin Kletzander The constants for maximum units on a bus are slightly tricky because for the narrow bus it does not need to account for the extra unit used by the controller, but the wide and super-wide ones need to. With this patch a VMX with 64 disks on a pvscsi controller can be properly parsed. To properly handle the maximum numbers one of the conditions also needs to be changed to not allow for units 16 and 65. This does not change various conditionals in XML parsing and VMX formatting as they need a significant rewrite. And since that is already working only with the wide scsi controller (and not the super-wide one) we leave that refactor for another day as it was done previously. Tests show this is now possible and they fail before this change. Resolves: https://redhat.atlassian.net/browse/RHEL-181350 Signed-off-by: Martin Kletzander Reviewed-by: Michal Privoznik --- src/conf/domain_conf.h | 16 +- src/vmx/vmx.c | 2 +- tests/vmx2xmldata/esx-in-the-wild-11.xml | 2 +- tests/vmx2xmldata/scsi-driver-max.vmx | 50 +++ tests/vmx2xmldata/scsi-driver-max.xml | 95 +++++ .../vmx2xmldata/scsi-driver-superwide-max.vmx | 197 ++++++++++ .../vmx2xmldata/scsi-driver-superwide-max.xml | 340 ++++++++++++++++++ tests/vmx2xmltest.c | 2 + 8 files changed, 701 insertions(+), 3 deletions(-) create mode 100644 tests/vmx2xmldata/scsi-driver-max.vmx create mode 100644 tests/vmx2xmldata/scsi-driver-max.xml create mode 100644 tests/vmx2xmldata/scsi-driver-superwide-max.vmx create mode 100644 tests/vmx2xmldata/scsi-driver-superwide-max.xml diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h index bd360cd4a3da..0c6c79c41378 100644 --- a/src/conf/domain_conf.h +++ b/src/conf/domain_conf.h @@ -3184,8 +3184,22 @@ struct _virDomainHypervFeatures { char *vendor_id; }; =20 -#define SCSI_SUPER_WIDE_BUS_MAX_CONT_UNIT 64 +/* + * Beware, these numbers mean slightly different things. Because the unit + * number 7 is reserved for the controller, any higher limits must account= for + * that fact. I.e. a super-wide bus can have at max 64 disks, but account= ing + * for the controller occupying one of the units the number needs to be 65. + * + * The maximums are taken from the following page: + * https://configmax.broadcom.com/guest?vmwareproduct=3DvSphere + */ +#define SCSI_SUPER_WIDE_BUS_MAX_CONT_UNIT 65 #define SCSI_WIDE_BUS_MAX_CONT_UNIT 16 + +/* + * Since 7 unit numbers [0..7) do not interfere with the controller occupy= ing + * unit number 7 it reflects the correct number of disks (targets). + */ #define SCSI_NARROW_BUS_MAX_CONT_UNIT 7 =20 =20 diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 572087341ae0..72ec1454aa95 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -2271,7 +2271,7 @@ virVMXGenerateDiskTarget(virDomainDiskDef *def, return -1; } =20 - if (unit < 0 || unit > vmdef->scsiBusMaxUnit || unit =3D=3D 7) { + if (unit < 0 || unit >=3D vmdef->scsiBusMaxUnit || unit =3D=3D 7) { virReportError(VIR_ERR_INTERNAL_ERROR, _("SCSI unit index %1$d out of [0..6,8..%2$u] r= ange"), unit, vmdef->scsiBusMaxUnit); diff --git a/tests/vmx2xmldata/esx-in-the-wild-11.xml b/tests/vmx2xmldata/e= sx-in-the-wild-11.xml index 981287bb4930..ded63c3345a4 100644 --- a/tests/vmx2xmldata/esx-in-the-wild-11.xml +++ b/tests/vmx2xmldata/esx-in-the-wild-11.xml @@ -29,7 +29,7 @@ - +
diff --git a/tests/vmx2xmldata/scsi-driver-max.vmx b/tests/vmx2xmldata/scsi= -driver-max.vmx new file mode 100644 index 000000000000..eba4cefafcbb --- /dev/null +++ b/tests/vmx2xmldata/scsi-driver-max.vmx @@ -0,0 +1,50 @@ +config.version =3D "8" +virtualHW.version =3D "12" +scsi0.present =3D "true" +scsi0.virtualDev =3D "pvscsi" +scsi0:0.present =3D "true" +scsi0:0.deviceType =3D "scsi-hardDisk" +scsi0:0.fileName =3D "harddisk0.vmdk" +scsi0:1.present =3D "true" +scsi0:1.deviceType =3D "scsi-hardDisk" +scsi0:1.fileName =3D "harddisk1.vmdk" +scsi0:2.present =3D "true" +scsi0:2.deviceType =3D "scsi-hardDisk" +scsi0:2.fileName =3D "harddisk2.vmdk" +scsi0:3.present =3D "true" +scsi0:3.deviceType =3D "scsi-hardDisk" +scsi0:3.fileName =3D "harddisk3.vmdk" +scsi0:4.present =3D "true" +scsi0:4.deviceType =3D "scsi-hardDisk" +scsi0:4.fileName =3D "harddisk4.vmdk" +scsi0:5.present =3D "true" +scsi0:5.deviceType =3D "scsi-hardDisk" +scsi0:5.fileName =3D "harddisk5.vmdk" +scsi0:6.present =3D "true" +scsi0:6.deviceType =3D "scsi-hardDisk" +scsi0:6.fileName =3D "harddisk6.vmdk" +scsi0:8.present =3D "true" +scsi0:8.deviceType =3D "scsi-hardDisk" +scsi0:8.fileName =3D "harddisk8.vmdk" +scsi0:9.present =3D "true" +scsi0:9.deviceType =3D "scsi-hardDisk" +scsi0:9.fileName =3D "harddisk9.vmdk" +scsi0:10.present =3D "true" +scsi0:10.deviceType =3D "scsi-hardDisk" +scsi0:10.fileName =3D "harddisk10.vmdk" +scsi0:11.present =3D "true" +scsi0:11.deviceType =3D "scsi-hardDisk" +scsi0:11.fileName =3D "harddisk11.vmdk" +scsi0:12.present =3D "true" +scsi0:12.deviceType =3D "scsi-hardDisk" +scsi0:12.fileName =3D "harddisk12.vmdk" +scsi0:13.present =3D "true" +scsi0:13.deviceType =3D "scsi-hardDisk" +scsi0:13.fileName =3D "harddisk13.vmdk" +scsi0:14.present =3D "true" +scsi0:14.deviceType =3D "scsi-hardDisk" +scsi0:14.fileName =3D "harddisk14.vmdk" +scsi0:15.present =3D "true" +scsi0:15.deviceType =3D "scsi-hardDisk" +scsi0:15.fileName =3D "harddisk15.vmdk" +displayName =3D "test" diff --git a/tests/vmx2xmldata/scsi-driver-max.xml b/tests/vmx2xmldata/scsi= -driver-max.xml new file mode 100644 index 000000000000..fa6c13396e2a --- /dev/null +++ b/tests/vmx2xmldata/scsi-driver-max.xml @@ -0,0 +1,95 @@ + + test + 00000000-0000-0000-0000-000000000000 + 32768 + 32768 + 1 + + hvm + + + destroy + restart + destroy + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + diff --git a/tests/vmx2xmldata/scsi-driver-superwide-max.vmx b/tests/vmx2xm= ldata/scsi-driver-superwide-max.vmx new file mode 100644 index 000000000000..38df812be915 --- /dev/null +++ b/tests/vmx2xmldata/scsi-driver-superwide-max.vmx @@ -0,0 +1,197 @@ +config.version =3D "8" +virtualHW.version =3D "13" +scsi0.present =3D "true" +scsi0.virtualDev =3D "pvscsi" +scsi0:0.present =3D "true" +scsi0:0.deviceType =3D "scsi-hardDisk" +scsi0:0.fileName =3D "harddisk0.vmdk" +scsi0:1.present =3D "true" +scsi0:1.deviceType =3D "scsi-hardDisk" +scsi0:1.fileName =3D "harddisk1.vmdk" +scsi0:2.present =3D "true" +scsi0:2.deviceType =3D "scsi-hardDisk" +scsi0:2.fileName =3D "harddisk2.vmdk" +scsi0:3.present =3D "true" +scsi0:3.deviceType =3D "scsi-hardDisk" +scsi0:3.fileName =3D "harddisk3.vmdk" +scsi0:4.present =3D "true" +scsi0:4.deviceType =3D "scsi-hardDisk" +scsi0:4.fileName =3D "harddisk4.vmdk" +scsi0:5.present =3D "true" +scsi0:5.deviceType =3D "scsi-hardDisk" +scsi0:5.fileName =3D "harddisk5.vmdk" +scsi0:6.present =3D "true" +scsi0:6.deviceType =3D "scsi-hardDisk" +scsi0:6.fileName =3D "harddisk6.vmdk" +scsi0:8.present =3D "true" +scsi0:8.deviceType =3D "scsi-hardDisk" +scsi0:8.fileName =3D "harddisk8.vmdk" +scsi0:9.present =3D "true" +scsi0:9.deviceType =3D "scsi-hardDisk" +scsi0:9.fileName =3D "harddisk9.vmdk" +scsi0:10.present =3D "true" +scsi0:10.deviceType =3D "scsi-hardDisk" +scsi0:10.fileName =3D "harddisk10.vmdk" +scsi0:11.present =3D "true" +scsi0:11.deviceType =3D "scsi-hardDisk" +scsi0:11.fileName =3D "harddisk11.vmdk" +scsi0:12.present =3D "true" +scsi0:12.deviceType =3D "scsi-hardDisk" +scsi0:12.fileName =3D "harddisk12.vmdk" +scsi0:13.present =3D "true" +scsi0:13.deviceType =3D "scsi-hardDisk" +scsi0:13.fileName =3D "harddisk13.vmdk" +scsi0:14.present =3D "true" +scsi0:14.deviceType =3D "scsi-hardDisk" +scsi0:14.fileName =3D "harddisk14.vmdk" +scsi0:15.present =3D "true" +scsi0:15.deviceType =3D "scsi-hardDisk" +scsi0:15.fileName =3D "harddisk15.vmdk" +scsi0:16.present =3D "true" +scsi0:16.deviceType =3D "scsi-hardDisk" +scsi0:16.fileName =3D "harddisk16.vmdk" +scsi0:17.present =3D "true" +scsi0:17.deviceType =3D "scsi-hardDisk" +scsi0:17.fileName =3D "harddisk17.vmdk" +scsi0:18.present =3D "true" +scsi0:18.deviceType =3D "scsi-hardDisk" +scsi0:18.fileName =3D "harddisk18.vmdk" +scsi0:19.present =3D "true" +scsi0:19.deviceType =3D "scsi-hardDisk" +scsi0:19.fileName =3D "harddisk19.vmdk" +scsi0:20.present =3D "true" +scsi0:20.deviceType =3D "scsi-hardDisk" +scsi0:20.fileName =3D "harddisk20.vmdk" +scsi0:21.present =3D "true" +scsi0:21.deviceType =3D "scsi-hardDisk" +scsi0:21.fileName =3D "harddisk21.vmdk" +scsi0:22.present =3D "true" +scsi0:22.deviceType =3D "scsi-hardDisk" +scsi0:22.fileName =3D "harddisk22.vmdk" +scsi0:23.present =3D "true" +scsi0:23.deviceType =3D "scsi-hardDisk" +scsi0:23.fileName =3D "harddisk23.vmdk" +scsi0:24.present =3D "true" +scsi0:24.deviceType =3D "scsi-hardDisk" +scsi0:24.fileName =3D "harddisk24.vmdk" +scsi0:25.present =3D "true" +scsi0:25.deviceType =3D "scsi-hardDisk" +scsi0:25.fileName =3D "harddisk25.vmdk" +scsi0:26.present =3D "true" +scsi0:26.deviceType =3D "scsi-hardDisk" +scsi0:26.fileName =3D "harddisk26.vmdk" +scsi0:27.present =3D "true" +scsi0:27.deviceType =3D "scsi-hardDisk" +scsi0:27.fileName =3D "harddisk27.vmdk" +scsi0:28.present =3D "true" +scsi0:28.deviceType =3D "scsi-hardDisk" +scsi0:28.fileName =3D "harddisk28.vmdk" +scsi0:29.present =3D "true" +scsi0:29.deviceType =3D "scsi-hardDisk" +scsi0:29.fileName =3D "harddisk29.vmdk" +scsi0:30.present =3D "true" +scsi0:30.deviceType =3D "scsi-hardDisk" +scsi0:30.fileName =3D "harddisk30.vmdk" +scsi0:31.present =3D "true" +scsi0:31.deviceType =3D "scsi-hardDisk" +scsi0:31.fileName =3D "harddisk31.vmdk" +scsi0:32.present =3D "true" +scsi0:32.deviceType =3D "scsi-hardDisk" +scsi0:32.fileName =3D "harddisk32.vmdk" +scsi0:33.present =3D "true" +scsi0:33.deviceType =3D "scsi-hardDisk" +scsi0:33.fileName =3D "harddisk33.vmdk" +scsi0:34.present =3D "true" +scsi0:34.deviceType =3D "scsi-hardDisk" +scsi0:34.fileName =3D "harddisk34.vmdk" +scsi0:35.present =3D "true" +scsi0:35.deviceType =3D "scsi-hardDisk" +scsi0:35.fileName =3D "harddisk35.vmdk" +scsi0:36.present =3D "true" +scsi0:36.deviceType =3D "scsi-hardDisk" +scsi0:36.fileName =3D "harddisk36.vmdk" +scsi0:37.present =3D "true" +scsi0:37.deviceType =3D "scsi-hardDisk" +scsi0:37.fileName =3D "harddisk37.vmdk" +scsi0:38.present =3D "true" +scsi0:38.deviceType =3D "scsi-hardDisk" +scsi0:38.fileName =3D "harddisk38.vmdk" +scsi0:39.present =3D "true" +scsi0:39.deviceType =3D "scsi-hardDisk" +scsi0:39.fileName =3D "harddisk39.vmdk" +scsi0:40.present =3D "true" +scsi0:40.deviceType =3D "scsi-hardDisk" +scsi0:40.fileName =3D "harddisk40.vmdk" +scsi0:41.present =3D "true" +scsi0:41.deviceType =3D "scsi-hardDisk" +scsi0:41.fileName =3D "harddisk41.vmdk" +scsi0:42.present =3D "true" +scsi0:42.deviceType =3D "scsi-hardDisk" +scsi0:42.fileName =3D "harddisk42.vmdk" +scsi0:43.present =3D "true" +scsi0:43.deviceType =3D "scsi-hardDisk" +scsi0:43.fileName =3D "harddisk43.vmdk" +scsi0:44.present =3D "true" +scsi0:44.deviceType =3D "scsi-hardDisk" +scsi0:44.fileName =3D "harddisk44.vmdk" +scsi0:45.present =3D "true" +scsi0:45.deviceType =3D "scsi-hardDisk" +scsi0:45.fileName =3D "harddisk45.vmdk" +scsi0:46.present =3D "true" +scsi0:46.deviceType =3D "scsi-hardDisk" +scsi0:46.fileName =3D "harddisk46.vmdk" +scsi0:47.present =3D "true" +scsi0:47.deviceType =3D "scsi-hardDisk" +scsi0:47.fileName =3D "harddisk47.vmdk" +scsi0:48.present =3D "true" +scsi0:48.deviceType =3D "scsi-hardDisk" +scsi0:48.fileName =3D "harddisk48.vmdk" +scsi0:49.present =3D "true" +scsi0:49.deviceType =3D "scsi-hardDisk" +scsi0:49.fileName =3D "harddisk49.vmdk" +scsi0:50.present =3D "true" +scsi0:50.deviceType =3D "scsi-hardDisk" +scsi0:50.fileName =3D "harddisk50.vmdk" +scsi0:51.present =3D "true" +scsi0:51.deviceType =3D "scsi-hardDisk" +scsi0:51.fileName =3D "harddisk51.vmdk" +scsi0:52.present =3D "true" +scsi0:52.deviceType =3D "scsi-hardDisk" +scsi0:52.fileName =3D "harddisk52.vmdk" +scsi0:53.present =3D "true" +scsi0:53.deviceType =3D "scsi-hardDisk" +scsi0:53.fileName =3D "harddisk53.vmdk" +scsi0:54.present =3D "true" +scsi0:54.deviceType =3D "scsi-hardDisk" +scsi0:54.fileName =3D "harddisk54.vmdk" +scsi0:55.present =3D "true" +scsi0:55.deviceType =3D "scsi-hardDisk" +scsi0:55.fileName =3D "harddisk55.vmdk" +scsi0:56.present =3D "true" +scsi0:56.deviceType =3D "scsi-hardDisk" +scsi0:56.fileName =3D "harddisk56.vmdk" +scsi0:57.present =3D "true" +scsi0:57.deviceType =3D "scsi-hardDisk" +scsi0:57.fileName =3D "harddisk57.vmdk" +scsi0:58.present =3D "true" +scsi0:58.deviceType =3D "scsi-hardDisk" +scsi0:58.fileName =3D "harddisk58.vmdk" +scsi0:59.present =3D "true" +scsi0:59.deviceType =3D "scsi-hardDisk" +scsi0:59.fileName =3D "harddisk59.vmdk" +scsi0:60.present =3D "true" +scsi0:60.deviceType =3D "scsi-hardDisk" +scsi0:60.fileName =3D "harddisk60.vmdk" +scsi0:61.present =3D "true" +scsi0:61.deviceType =3D "scsi-hardDisk" +scsi0:61.fileName =3D "harddisk61.vmdk" +scsi0:62.present =3D "true" +scsi0:62.deviceType =3D "scsi-hardDisk" +scsi0:62.fileName =3D "harddisk62.vmdk" +scsi0:63.present =3D "true" +scsi0:63.deviceType =3D "scsi-hardDisk" +scsi0:63.fileName =3D "harddisk63.vmdk" +scsi0:64.present =3D "true" +scsi0:64.deviceType =3D "scsi-hardDisk" +scsi0:64.fileName =3D "harddisk63.vmdk" +displayName =3D "test" diff --git a/tests/vmx2xmldata/scsi-driver-superwide-max.xml b/tests/vmx2xm= ldata/scsi-driver-superwide-max.xml new file mode 100644 index 000000000000..2e4bc0b2ef67 --- /dev/null +++ b/tests/vmx2xmldata/scsi-driver-superwide-max.xml @@ -0,0 +1,340 @@ + + test + 00000000-0000-0000-0000-000000000000 + 32768 + 32768 + 1 + + hvm + + + destroy + restart + destroy + + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + +
+ + + + + diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c index 3ffc04fda42f..585ef00bd654 100644 --- a/tests/vmx2xmltest.c +++ b/tests/vmx2xmltest.c @@ -151,6 +151,8 @@ mymain(void) DO_TEST("graphics-vnc"); =20 DO_TEST("scsi-driver"); + DO_TEST("scsi-driver-max"); + DO_TEST("scsi-driver-superwide-max"); DO_TEST("scsi-writethrough"); =20 DO_TEST("harddisk-scsi-file"); --=20 2.54.0