From nobody Fri Mar 29 15:44:22 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602515647; cv=none; d=zohomail.com; s=zohoarc; b=USwy0V2tP7kvVtnG7796tJRGeqxsR9KJ+BYteelTSpDwR6S3iIoeEru4jv8vs9i++VEgns8YjD0vj7w31YfqySTyyjlycLxU8D5l1XCdb5QTssF75ciIePHqz4OzwIX0yM5E0vcgdYR+StSq64tMyKneEGvodc+El3fC8Rwugm0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602515647; h=Content-Type:Content-Transfer-Encoding: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=5CQZhkQ5t1KD8r44tE3omMbzxB7ErY6WqBGqkNQJ+8M=; b=Y/vLlrGFDMjzLO7ypWuDzKgsiFKZi0MQAZT1VSJNA8DhGSpOdCz1Fr0T8fbZ/isl7dXj4T4aggAihysUjHFJHhHLqZ2QsCRVgbxNCPWYYCSbhBY/WuGJlPCxJV3opmjgHHCQoklfjONRnCZczw+/voAfBLOWoneGNW8xNDOh5kI= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602515647585741.7003998254867; Mon, 12 Oct 2020 08:14:07 -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-408-hBBu9dYZNVyPw0pJfGN1OA-1; Mon, 12 Oct 2020 11:14:04 -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 D0A57805EFA; Mon, 12 Oct 2020 15:13: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 AD50873665; Mon, 12 Oct 2020 15:13: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 D7112183D021; Mon, 12 Oct 2020 15:13:57 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09CFDtsE014614 for ; Mon, 12 Oct 2020 11:13:55 -0400 Received: by smtp.corp.redhat.com (Postfix) id C502B5C22D; Mon, 12 Oct 2020 15:13:55 +0000 (UTC) Received: from lindworm.usersys.redhat.com (unknown [10.34.247.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id E9F435C225 for ; Mon, 12 Oct 2020 15:13:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602515646; h=from:from:sender:sender: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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=5CQZhkQ5t1KD8r44tE3omMbzxB7ErY6WqBGqkNQJ+8M=; b=hXPDyYJz/QeB8LA6eCp1ALo3o1m7b3NDWxGPIvQ4oUkkJ2KYGFbdxm989rpaXYoAmtGwkh +l1CMdQk7RgckOI3pz2ZaXH/Q9EwN+KoKl2yenDGfCFkrYYDPEUWGM0M9RSb6kPIcMAUcR eRvjqb2+2TxzdzPwW9jtPp2kWXL+yjw= X-MC-Unique: hBBu9dYZNVyPw0pJfGN1OA-1 From: Pino Toscano To: libvir-list@redhat.com Subject: [libvirt PATCH 1/4] vmx: hide private helpers Date: Mon, 12 Oct 2020 17:13:45 +0200 Message-Id: <20201012151348.4067266-2-ptoscano@redhat.com> In-Reply-To: <20201012151348.4067266-1-ptoscano@redhat.com> References: <20201012151348.4067266-1-ptoscano@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Move all the private helpers for parsing and formatting of domain elements as private static functions in vmx.c, to avoid using them directly. Signed-off-by: Pino Toscano Reviewed-by: Michal Privoznik --- src/libvirt_vmx.syms | 12 --------- src/vmx/vmx.c | 62 ++++++++++++++++++++++++++++++++------------ src/vmx/vmx.h | 44 ------------------------------- 3 files changed, 46 insertions(+), 72 deletions(-) diff --git a/src/libvirt_vmx.syms b/src/libvirt_vmx.syms index e673923bd9..9d723c6de4 100644 --- a/src/libvirt_vmx.syms +++ b/src/libvirt_vmx.syms @@ -7,19 +7,7 @@ virVMXConvertToUTF8; virVMXDomainXMLConfInit; virVMXEscapeHex; virVMXFormatConfig; -virVMXFormatDisk; -virVMXFormatEthernet; -virVMXFormatFloppy; -virVMXFormatParallel; -virVMXFormatSerial; -virVMXFormatVNC; virVMXParseConfig; -virVMXParseDisk; -virVMXParseEthernet; -virVMXParseParallel; -virVMXParseSCSIController; -virVMXParseSerial; -virVMXParseVNC; virVMXUnescapeHex; =20 # Let emacs know we want case-insensitive sorting diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index e0777a9ddd..70f4d78e8a 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -521,6 +521,35 @@ VIR_ENUM_IMPL(virVMXControllerModelSCSI, "UNUSED virtio-non-transitional", ); =20 +static int virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def); +static int virVMXParseSCSIController(virConfPtr conf, int controller, bool= *present, + int *virtualDev); +static int virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlop= t, + virConfPtr conf, int device, int busType, + int controllerOrBus, int unit, virDomainDiskDef= Ptr *def, + virDomainDefPtr vmdef); +static int virVMXParseFileSystem(virConfPtr conf, int number, virDomainFSD= efPtr *def); +static int virVMXParseEthernet(virConfPtr conf, int controller, virDomainN= etDefPtr *def); +static int virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port, + virDomainChrDefPtr *def); +static int virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int po= rt, + virDomainChrDefPtr *def); +static int virVMXParseSVGA(virConfPtr conf, virDomainVideoDefPtr *def); + +static int virVMXFormatVNC(virDomainGraphicsDefPtr def, virBufferPtr buffe= r); +static int virVMXFormatDisk(virVMXContext *ctx, virDomainDiskDefPtr def, + virBufferPtr buffer); +static int virVMXFormatFloppy(virVMXContext *ctx, virDomainDiskDefPtr def, + virBufferPtr buffer, bool floppy_present[2]); +static int virVMXFormatFileSystem(virDomainFSDefPtr def, int number, + virBufferPtr buffer); +static int virVMXFormatEthernet(virDomainNetDefPtr def, int controller, + virBufferPtr buffer, int virtualHW_version= ); +static int virVMXFormatSerial(virVMXContext *ctx, virDomainChrDefPtr def, + virBufferPtr buffer); +static int virVMXFormatParallel(virVMXContext *ctx, virDomainChrDefPtr def, + virBufferPtr buffer); +static int virVMXFormatSVGA(virDomainVideoDefPtr def, virBufferPtr buffer); =20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *= * * * Helpers @@ -1852,7 +1881,7 @@ virVMXParseConfig(virVMXContext *ctx, =20 =20 =20 -int +static int virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def) { bool enabled =3D false; @@ -1916,7 +1945,7 @@ virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefP= tr *def) =20 =20 =20 -int +static int virVMXParseSCSIController(virConfPtr conf, int controller, bool *present, int *virtualDev) { @@ -1986,7 +2015,7 @@ virVMXParseSCSIController(virConfPtr conf, int contro= ller, bool *present, =20 =20 =20 -int +static int virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfP= tr conf, int device, int busType, int controllerOrBus, int unit, virDomainDiskDefPtr *def, virDomainDefPtr vmdef) @@ -2406,7 +2435,8 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptio= nPtr xmlopt, virConfPtr con =20 =20 =20 -int virVMXParseFileSystem(virConfPtr conf, int number, virDomainFSDefPtr *= def) +static int +virVMXParseFileSystem(virConfPtr conf, int number, virDomainFSDefPtr *def) { int result =3D -1; char prefix[48] =3D ""; @@ -2493,7 +2523,7 @@ int virVMXParseFileSystem(virConfPtr conf, int number= , virDomainFSDefPtr *def) =20 =20 =20 -int +static int virVMXParseEthernet(virConfPtr conf, int controller, virDomainNetDefPtr *d= ef) { int result =3D -1; @@ -2723,7 +2753,7 @@ virVMXParseEthernet(virConfPtr conf, int controller, = virDomainNetDefPtr *def) =20 =20 =20 -int +static int virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port, virDomainChrDefPtr *def) { @@ -2905,7 +2935,7 @@ virVMXParseSerial(virVMXContext *ctx, virConfPtr conf= , int port, =20 =20 =20 -int +static int virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int port, virDomainChrDefPtr *def) { @@ -3007,7 +3037,7 @@ virVMXParseParallel(virVMXContext *ctx, virConfPtr co= nf, int port, =20 =20 =20 -int +static int virVMXParseSVGA(virConfPtr conf, virDomainVideoDefPtr *def) { int result =3D -1; @@ -3448,7 +3478,7 @@ virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOp= tionPtr xmlopt, virDomainDe =20 =20 =20 -int +static int virVMXFormatVNC(virDomainGraphicsDefPtr def, virBufferPtr buffer) { virDomainGraphicsListenDefPtr glisten; @@ -3492,7 +3522,7 @@ virVMXFormatVNC(virDomainGraphicsDefPtr def, virBuffe= rPtr buffer) return 0; } =20 -int +static int virVMXFormatDisk(virVMXContext *ctx, virDomainDiskDefPtr def, virBufferPtr buffer) { @@ -3639,7 +3669,7 @@ virVMXFormatDisk(virVMXContext *ctx, virDomainDiskDef= Ptr def, return 0; } =20 -int +static int virVMXFormatFloppy(virVMXContext *ctx, virDomainDiskDefPtr def, virBufferPtr buffer, bool floppy_present[2]) { @@ -3696,7 +3726,7 @@ virVMXFormatFloppy(virVMXContext *ctx, virDomainDiskD= efPtr def, =20 =20 =20 -int +static int virVMXFormatFileSystem(virDomainFSDefPtr def, int number, virBufferPtr buf= fer) { if (def->type !=3D VIR_DOMAIN_FS_TYPE_MOUNT) { @@ -3721,7 +3751,7 @@ virVMXFormatFileSystem(virDomainFSDefPtr def, int num= ber, virBufferPtr buffer) =20 =20 =20 -int +static int virVMXFormatEthernet(virDomainNetDefPtr def, int controller, virBufferPtr buffer, int virtualHW_version) { @@ -3877,7 +3907,7 @@ virVMXFormatEthernet(virDomainNetDefPtr def, int cont= roller, =20 =20 =20 -int +static int virVMXFormatSerial(virVMXContext *ctx, virDomainChrDefPtr def, virBufferPtr buffer) { @@ -3983,7 +4013,7 @@ virVMXFormatSerial(virVMXContext *ctx, virDomainChrDe= fPtr def, =20 =20 =20 -int +static int virVMXFormatParallel(virVMXContext *ctx, virDomainChrDefPtr def, virBufferPtr buffer) { @@ -4035,7 +4065,7 @@ virVMXFormatParallel(virVMXContext *ctx, virDomainChr= DefPtr def, =20 =20 =20 -int +static int virVMXFormatSVGA(virDomainVideoDefPtr def, virBufferPtr buffer) { unsigned long long vram; diff --git a/src/vmx/vmx.h b/src/vmx/vmx.h index 7069a50b6e..df5d39157b 100644 --- a/src/vmx/vmx.h +++ b/src/vmx/vmx.h @@ -88,28 +88,6 @@ virDomainDefPtr virVMXParseConfig(virVMXContext *ctx, virCapsPtr caps, const char *vmx); =20 -int virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def); - -int virVMXParseSCSIController(virConfPtr conf, int controller, bool *prese= nt, - int *virtualDev); - -int virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, - virConfPtr conf, int device, int busType, - int controllerOrBus, int unit, virDomainDiskDefPtr *de= f, - virDomainDefPtr vmdef); - -int virVMXParseFileSystem(virConfPtr conf, int number, virDomainFSDefPtr *= def); - -int virVMXParseEthernet(virConfPtr conf, int controller, virDomainNetDefPt= r *def); - -int virVMXParseSerial(virVMXContext *ctx, virConfPtr conf, int port, - virDomainChrDefPtr *def); - -int virVMXParseParallel(virVMXContext *ctx, virConfPtr conf, int port, - virDomainChrDefPtr *def); - -int virVMXParseSVGA(virConfPtr conf, virDomainVideoDefPtr *def); - =20 =20 /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *= * * @@ -118,25 +96,3 @@ int virVMXParseSVGA(virConfPtr conf, virDomainVideoDefP= tr *def); =20 char *virVMXFormatConfig(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virDomainDefPtr def, int virtualHW_version); - -int virVMXFormatVNC(virDomainGraphicsDefPtr def, virBufferPtr buffer); - -int virVMXFormatDisk(virVMXContext *ctx, virDomainDiskDefPtr def, - virBufferPtr buffer); - -int virVMXFormatFloppy(virVMXContext *ctx, virDomainDiskDefPtr def, - virBufferPtr buffer, bool floppy_present[2]); - -int virVMXFormatFileSystem(virDomainFSDefPtr def, int number, - virBufferPtr buffer); - -int virVMXFormatEthernet(virDomainNetDefPtr def, int controller, - virBufferPtr buffer, int virtualHW_version); - -int virVMXFormatSerial(virVMXContext *ctx, virDomainChrDefPtr def, - virBufferPtr buffer); - -int virVMXFormatParallel(virVMXContext *ctx, virDomainChrDefPtr def, - virBufferPtr buffer); - -int virVMXFormatSVGA(virDomainVideoDefPtr def, virBufferPtr buffer); --=20 2.26.2 From nobody Fri Mar 29 15:44:22 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602515704; cv=none; d=zohomail.com; s=zohoarc; b=bj0tBjhTXrwMJNtUfwLtutPVoZbPn051Mya49shvnDzqUaOCQsHVCdoqkRbsm2EXVkWTuLWDffdFMzdB4J/PFRHizkEgM2+B66FpyzEYqn8b5wwczAxde6glY0wZ9VRwphPpBQ6k4/boG7j+z2AYBQZUm3EYe5X5RAhDVME5hyU= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602515704; h=Content-Type:Content-Transfer-Encoding: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=TrjacBKGGAcZiYxoA2jKyAAJkfYLJmfdY9KF63GpDLM=; b=JFUFWxZiAq3Q6Vc5geIou8UbKwXH4UUC6i+g/kaT/IIUiTD3MDTIfZoIqUqTBuQl7R9nwJHmDfBPAy5P5U+Sr9g8bVz6FpYAMWCVV8kslSAOvYPYjnrIinfjcp3/ppSdO9TEBXAOArTZ2zd9EFEsfl4iSkqGxOdfhEAtAHjBa9k= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 63.128.21.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [63.128.21.124]) by mx.zohomail.com with SMTPS id 1602515704815264.58992577040044; Mon, 12 Oct 2020 08:15:04 -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-592-CUWKYSYKNL2FI5Z5JxhS8w-1; Mon, 12 Oct 2020 11:14:17 -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 699BF56BF2; Mon, 12 Oct 2020 15:14:12 +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 44C1627BB1; Mon, 12 Oct 2020 15:14:12 +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 1224C9A023; Mon, 12 Oct 2020 15:14:12 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09CFDumf014621 for ; Mon, 12 Oct 2020 11:13:56 -0400 Received: by smtp.corp.redhat.com (Postfix) id CF4C65C22B; Mon, 12 Oct 2020 15:13:56 +0000 (UTC) Received: from lindworm.usersys.redhat.com (unknown [10.34.247.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 341475C225 for ; Mon, 12 Oct 2020 15:13:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602515703; h=from:from:sender:sender: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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=TrjacBKGGAcZiYxoA2jKyAAJkfYLJmfdY9KF63GpDLM=; b=Sem1FOwBIa6splqW5+ml7Q2+bpm8jgO8F1Wrx97EJiGnH0iqbfZkUcvgHuh079zqwl3Afs GICZeFcFmu4YmWiXiLfsZnLTR93CK0p30gCaoaSNaO3vodJZfKmFQY6DEtFjyFEN9TLTFh 6C97EnqDZLaP3fTjmkPIm2LIqnqiTdY= X-MC-Unique: CUWKYSYKNL2FI5Z5JxhS8w-1 From: Pino Toscano To: libvir-list@redhat.com Subject: [libvirt PATCH 2/4] vmx: shortcut 'cdrom-image' as CD-ROM earlier Date: Mon, 12 Oct 2020 17:13:46 +0200 Message-Id: <20201012151348.4067266-3-ptoscano@redhat.com> In-Reply-To: <20201012151348.4067266-1-ptoscano@redhat.com> References: <20201012151348.4067266-1-ptoscano@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Add it to the list of 'deviceType' values ignored for disks. Signed-off-by: Pino Toscano Reviewed-by: Michal Privoznik --- src/vmx/vmx.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 70f4d78e8a..0ec6222f50 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -2235,13 +2235,15 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOpt= ionPtr xmlopt, virConfPtr con (deviceType && (STRCASEEQ(deviceType, "atapi-cdrom") || STRCASEEQ(deviceType, "cdrom-raw") || + STRCASEEQ(deviceType, "cdrom-image") || (STRCASEEQ(deviceType, "scsi-passthru") && STRPREFIX(fileName, "/vmfs/devices/cdrom/"))))) { /* * This function was called in order to parse a harddisk devic= e, - * but .iso files, 'atapi-cdrom', 'cdrom-raw', and 'scsi-passt= hru' - * CDROM devices are for CDROM devices only. Just ignore it, a= nother - * call to this function to parse a CDROM device may handle it. + * but .iso files, 'atapi-cdrom', 'cdrom-raw', 'cdrom-image', + * and 'scsi-passthru' CDROM devices are for CDROM devices onl= y. + * Just ignore it, another call to this function to parse a CD= ROM + * device may handle it. */ goto ignore; } else if (virStringHasCaseSuffix(fileName, ".vmdk")) { --=20 2.26.2 From nobody Fri Mar 29 15:44:22 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602515703; cv=none; d=zohomail.com; s=zohoarc; b=RMRJxbdRl1GlpCJVbmY7M67LGU6En7WL/NsuaVbuf+h/B4KrnLHmCRvCK5QzwQyVOkrU9oscGFkGARLlGDPO8YyAl3dSzlLUKqTaVqXDueqLUY5KDpVhqAyHke5Ciwyy8GXDBNNh+7qfbX79sSfyHmmOYHjbXjcRlfbR4+FZukM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602515703; h=Content-Type:Content-Transfer-Encoding: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=9i8TlnLJs/YIZS0d9q/hV+LCzodmbQdZiM7Cs4Ar5h8=; b=LHgTTXQ0jVbHYZILegj1ExMJ5ghiKrl2NuMsr0iv8W3OC36t6C3lgBaPQfUpXKRxq5C1iauKcn/SMdRL8r6/r/BAbacBRbNd336vW+s5V4Nozl8UausEbPuQKIQh6qF8qhxon0E0TElSAGgkj2KRvNNE5pisLqXvncRiifBG3VA= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 1602515703534252.29044568701863; Mon, 12 Oct 2020 08:15:03 -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-527-YB6w69bmPYa652vQH0OfWA-1; Mon, 12 Oct 2020 11:14:21 -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 EB17A1868407; Mon, 12 Oct 2020 15:14:14 +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 C989D73665; Mon, 12 Oct 2020 15:14:14 +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 97464183D023; Mon, 12 Oct 2020 15:14:14 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09CFDvLc014630 for ; Mon, 12 Oct 2020 11:13:57 -0400 Received: by smtp.corp.redhat.com (Postfix) id C0BD75C22B; Mon, 12 Oct 2020 15:13:57 +0000 (UTC) Received: from lindworm.usersys.redhat.com (unknown [10.34.247.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 3E8155C225 for ; Mon, 12 Oct 2020 15:13:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602515702; h=from:from:sender:sender: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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=9i8TlnLJs/YIZS0d9q/hV+LCzodmbQdZiM7Cs4Ar5h8=; b=Qsm8VoCCzirMi6Qco97MF6hm567azHT3AKDEBWGqA+s6qwdu2j0ExJKY4LQPsrXPFtNCVt Qv1MRYtKYx/kwHPxtcVuwypFNDmJV0fwMLvNkwVY9d+d2QoxfdVx/gL+vGWRCv1P535MJx uCVz0NIPUYe1HaUXsnmtJ4hmSflrsRQ= X-MC-Unique: YB6w69bmPYa652vQH0OfWA-1 From: Pino Toscano To: libvir-list@redhat.com Subject: [libvirt PATCH 3/4] vmx: expand the disk array Date: Mon, 12 Oct 2020 17:13:47 +0200 Message-Id: <20201012151348.4067266-4-ptoscano@redhat.com> In-Reply-To: <20201012151348.4067266-1-ptoscano@redhat.com> References: <20201012151348.4067266-1-ptoscano@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Account for the possible SATA disks too, which means 120 potential disks. This means the size of the array triples, however that is unavoidable with the current way of reading disks. Signed-off-by: Pino Toscano Reviewed-by: Michal Privoznik --- src/vmx/vmx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 0ec6222f50..6e4b455794 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -1645,8 +1645,8 @@ virVMXParseConfig(virVMXContext *ctx, if (def->graphics[def->ngraphics] !=3D NULL) ++def->ngraphics; =20 - /* def:disks: 4 * 15 scsi + 2 * 2 ide + 2 floppy =3D 66 */ - def->disks =3D g_new0(virDomainDiskDefPtr, 66); + /* def:disks: 4 * 15 scsi + 4 * 30 sata + 2 * 2 ide + 2 floppy =3D 186= */ + def->disks =3D g_new0(virDomainDiskDefPtr, 186); def->ndisks =3D 0; =20 /* def:disks (scsi) */ --=20 2.26.2 From nobody Fri Mar 29 15:44:22 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; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass(p=none dis=none) header.from=redhat.com ARC-Seal: i=1; a=rsa-sha256; t=1602515670; cv=none; d=zohomail.com; s=zohoarc; b=P44FJUU6k/aINUHHd1ExpQJRsS4Btbzakd3pEL3XqTKu7/j/HHZvwJrUUIb/jRb24cOT9WunjkTwANFkmBwqhyhdPpZ0pvObX+dCXLbIDKQG80HZGUo57vzkzJ488fqCDrouJQ7POt1jYES5E/e3/pf+B26MtGhg42DKEcysT6Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1602515670; h=Content-Type:Content-Transfer-Encoding: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=lsPUlShDm+oM13f7Nif7do04hxE+r762OTsTnNNHLl4=; b=KZpxRyUrXCPU8FAnVPv5D2l9V4vIu75bTDHOOoGeLtUWLiNB6OdD3Xss4hENe/eqBV30oIPAe5csH69Bim5fGljU9fg/1yzac8lDu6JuTrbU3V1JuhGua60L3GSnJJ+GjAjLrRJfolhzak9CGjOwukJtLPFY6onIcEiEcSE+LN8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of redhat.com designates 216.205.24.124 as permitted sender) smtp.mailfrom=libvir-list-bounces@redhat.com; dmarc=pass header.from= (p=none dis=none) header.from= Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [216.205.24.124]) by mx.zohomail.com with SMTPS id 160251567015390.56729216666724; Mon, 12 Oct 2020 08:14: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-189-Fw45scvDMw2gpAk5AYUFbA-1; Mon, 12 Oct 2020 11:14:25 -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 94E2A8018A9; Mon, 12 Oct 2020 15:14:17 +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 70497277CD; Mon, 12 Oct 2020 15:14:17 +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 3D0BE183D026; Mon, 12 Oct 2020 15:14:17 +0000 (UTC) Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by lists01.pubmisc.prod.ext.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id 09CFDwhI014639 for ; Mon, 12 Oct 2020 11:13:59 -0400 Received: by smtp.corp.redhat.com (Postfix) id F1DF95C225; Mon, 12 Oct 2020 15:13:58 +0000 (UTC) Received: from lindworm.usersys.redhat.com (unknown [10.34.247.222]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 244F25C22B for ; Mon, 12 Oct 2020 15:13:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1602515668; h=from:from:sender:sender: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: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=lsPUlShDm+oM13f7Nif7do04hxE+r762OTsTnNNHLl4=; b=LNMFTSxJLfPTsTYxrJrsZ1btPAywScd2t4f1aU4NL7C/PbO5VRQsHAwczxj96lmwAVIOTg V+4apKSv1inAVWIxASQ1vPPW89r7wrrPtbeq5AKEbeiKIjjQQhFYM9XvzwsyvsZnwrGKcH 5NLa2S4+3MGRLmTIOmEJH55bi2pEFno= X-MC-Unique: Fw45scvDMw2gpAk5AYUFbA-1 From: Pino Toscano To: libvir-list@redhat.com Subject: [libvirt PATCH 4/4] vmx: start parsing SATA disks Date: Mon, 12 Oct 2020 17:13:48 +0200 Message-Id: <20201012151348.4067266-5-ptoscano@redhat.com> In-Reply-To: <20201012151348.4067266-1-ptoscano@redhat.com> References: <20201012151348.4067266-1-ptoscano@redhat.com> MIME-Version: 1.0 X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-loop: libvir-list@redhat.com 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 X-ZohoMail-DKIM: pass (identity @redhat.com) Content-Type: text/plain; charset="utf-8" Always reverse-engineering VMX files, attempt to support SATA disks in guests, and their controllers. The esx-in-the-wild-10 test case is taken from RHBZ#1883588, while the result of esx-in-the-wild-8 is updated with SATA disks. Fixes (hopefully): https://bugzilla.redhat.com/show_bug.cgi?id=3D1677608 https://bugzilla.redhat.com/show_bug.cgi?id=3D1883588 Signed-off-by: Pino Toscano Reviewed-by: Michal Privoznik --- src/vmx/vmx.c | 138 ++++++++++++++++++ .../vmx2xml-esx-in-the-wild-10.vmx | 101 +++++++++++++ .../vmx2xml-esx-in-the-wild-10.xml | 36 +++++ .../vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml | 6 + tests/vmx2xmltest.c | 1 + 5 files changed, 282 insertions(+) create mode 100644 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.vmx create mode 100644 tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.xml diff --git a/src/vmx/vmx.c b/src/vmx/vmx.c index 6e4b455794..51d88de750 100644 --- a/src/vmx/vmx.c +++ b/src/vmx/vmx.c @@ -90,6 +90,7 @@ def->os ## disks #################################################################= ###### =20 scsi[0..3]:[0..6,8..15] -> : with 1 bus per controller + sata[0..3]:[0..29] -> = : with 1 bus per controller ide[0..1]:[0..1] -> :<= unit> with 1 controller floppy[0..1] -> = with 1 controller and 1 bus per controller =20 @@ -120,6 +121,26 @@ def->disks[0]... ->slotnum =20 =20 +## disks: sata hard drive from .vmdk image ###############################= ###### + + sata0.present =3D "true" = # defaults to "false" + sata0:0.present =3D "true" = # defaults to "false" + sata0:0.startConnected =3D "true" = # defaults to "true" + +... +->type =3D _DISK_TYPE_FILE <=3D> sata0:0.deviceType =3D "???" = # defaults to ? +->device =3D _DISK_DEVICE_DISK <=3D> sata0:0.deviceType =3D "???" = # defaults to ? +->bus =3D _DISK_BUS_SATA +->src =3D .vmdk <=3D> sata0:0.fileName =3D ".= vmdk" +->dst =3D sd[ * 30 + mapped to [a-z]+] +->driverName =3D <=3D> sata0.virtualDev =3D "= " # default depends on guestOS value +->driverType +->cachemode <=3D> sata0:0.writeThrough =3D "" # defaults to false, true -> _DISK_CACHE_WRITETHRU, false _DISK_C= ACHE_DEFAULT +->readonly +->shared +->slotnum + + ## disks: ide hard drive from .vmdk image ################################= ###### =20 ide0:0.present =3D "true" = # defaults to "false" @@ -164,6 +185,26 @@ def->disks[0]... ->slotnum =20 =20 +## disks: sata cdrom from .iso image #####################################= ###### + + sata0.present =3D "true" = # defaults to "false" + sata0:0.present =3D "true" = # defaults to "false" + sata0:0.startConnected =3D "true" = # defaults to "true" + +... +->type =3D _DISK_TYPE_FILE <=3D> sata0:0.deviceType =3D "cdrom-= image" # defaults to ? +->device =3D _DISK_DEVICE_CDROM <=3D> sata0:0.deviceType =3D "cdrom-= image" # defaults to ? +->bus =3D _DISK_BUS_SATA +->src =3D .iso <=3D> sata0:0.fileName =3D ".= iso" +->dst =3D sd[ * 30 + mapped to [a-z]+] +->driverName =3D <=3D> sata0.virtualDev =3D "= " # default depends on guestOS value +->driverType +->cachemode +->readonly +->shared +->slotnum + + ## disks: ide cdrom from .iso image ######################################= ###### =20 ide0:0.present =3D "true" = # defaults to "false" @@ -524,6 +565,7 @@ VIR_ENUM_IMPL(virVMXControllerModelSCSI, static int virVMXParseVNC(virConfPtr conf, virDomainGraphicsDefPtr *def); static int virVMXParseSCSIController(virConfPtr conf, int controller, bool= *present, int *virtualDev); +static int virVMXParseSATAController(virConfPtr conf, int controller, bool= *present); static int virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlop= t, virConfPtr conf, int device, int busType, int controllerOrBus, int unit, virDomainDiskDef= Ptr *def, @@ -1335,6 +1377,7 @@ virVMXParseConfig(virVMXContext *ctx, long long coresPerSocket =3D 0; virCPUDefPtr cpu =3D NULL; char *firmware =3D NULL; + size_t saved_ndisks =3D 0; =20 if (ctx->parseFileName =3D=3D NULL) { virReportError(VIR_ERR_INTERNAL_ERROR, "%s", @@ -1700,6 +1743,51 @@ virVMXParseConfig(virVMXContext *ctx, controller, scsi_virtualDev[con= troller])) goto cleanup; } + saved_ndisks =3D def->ndisks; + } + + /* def:disks (sata) */ + for (controller =3D 0; controller < 4; ++controller) { + if (virVMXParseSATAController(conf, controller, &present) < 0) { + goto cleanup; + } + + if (! present) + continue; + + for (unit =3D 0; unit < 30; ++unit) { + if (virVMXParseDisk(ctx, xmlopt, conf, VIR_DOMAIN_DISK_DEVICE_= DISK, + VIR_DOMAIN_DISK_BUS_SATA, controller, unit, + &def->disks[def->ndisks], def) < 0) { + goto cleanup; + } + + if (def->disks[def->ndisks] !=3D NULL) { + ++def->ndisks; + continue; + } + + if (virVMXParseDisk(ctx, xmlopt, conf, VIR_DOMAIN_DISK_DEVICE_= CDROM, + VIR_DOMAIN_DISK_BUS_SATA, controller, uni= t, + &def->disks[def->ndisks], def) < 0) { + goto cleanup; + } + + if (def->disks[def->ndisks] !=3D NULL) + ++def->ndisks; + } + + } + + /* add all the SATA controllers we've seen, up until the last one that= is + * currently used by a disk */ + if (def->ndisks - saved_ndisks !=3D 0) { + virDomainDeviceInfoPtr info =3D &def->disks[def->ndisks - 1]->info; + for (controller =3D 0; controller <=3D info->addr.drive.controller= ; controller++) { + if (!virDomainDefAddController(def, VIR_DOMAIN_CONTROLLER_TYPE= _SATA, + controller, -1)) + goto cleanup; + } } =20 /* def:disks (ide) */ @@ -2015,6 +2103,28 @@ virVMXParseSCSIController(virConfPtr conf, int contr= oller, bool *present, =20 =20 =20 +static int +virVMXParseSATAController(virConfPtr conf, int controller, bool *present) +{ + char present_name[32]; + + if (controller < 0 || controller > 3) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("SATA controller index %d out of [0..3] range"), + controller); + return -1; + } + + g_snprintf(present_name, sizeof(present_name), "sata%d.present", contr= oller); + + if (virVMXGetConfigBoolean(conf, present_name, present, false, true) <= 0) + return -1; + + return 0; +} + + + static int virVMXParseDisk(virVMXContext *ctx, virDomainXMLOptionPtr xmlopt, virConfP= tr conf, int device, int busType, int controllerOrBus, int unit, @@ -2031,6 +2141,13 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOpti= onPtr xmlopt, virConfPtr con * device =3D {VIR_DOMAIN_DISK_DEVICE_DISK, * VIR_DOMAIN_DISK_DEVICE_CDROM, * VIR_DOMAIN_DISK_DEVICE_LUN} + * busType =3D VIR_DOMAIN_DISK_BUS_SATA + * controllerOrBus =3D [0..3] -> controller + * unit =3D [0..29] + * + * device =3D {VIR_DOMAIN_DISK_DEVICE_DISK, + * VIR_DOMAIN_DISK_DEVICE_CDROM, + * VIR_DOMAIN_DISK_DEVICE_LUN} * busType =3D VIR_DOMAIN_DISK_BUS_IDE * controllerOrBus =3D [0..1] -> bus * unit =3D [0..1] @@ -2103,6 +2220,27 @@ virVMXParseDisk(virVMXContext *ctx, virDomainXMLOpti= onPtr xmlopt, virConfPtr con virIndexToDiskName (controllerOrBus * 15 + (unit < 7 ? unit : unit - 1), "sd= "); =20 + if ((*def)->dst =3D=3D NULL) + goto cleanup; + } else if (busType =3D=3D VIR_DOMAIN_DISK_BUS_SATA) { + if (controllerOrBus < 0 || controllerOrBus > 3) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("SATA controller index %d out of [0..3] r= ange"), + controllerOrBus); + goto cleanup; + } + + if (unit < 0 || unit >=3D 30) { + virReportError(VIR_ERR_INTERNAL_ERROR, + _("SATA unit index %d out of [0..29] range"= ), + unit); + goto cleanup; + } + + prefix =3D g_strdup_printf("sata%d:%d", controllerOrBus, unit); + + (*def)->dst =3D virIndexToDiskName(controllerOrBus * 30 + unit= , "sd"); + if ((*def)->dst =3D=3D NULL) goto cleanup; } else if (busType =3D=3D VIR_DOMAIN_DISK_BUS_IDE) { diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.vmx b/tests/vmx2x= mldata/vmx2xml-esx-in-the-wild-10.vmx new file mode 100644 index 0000000000..c8a0ef022a --- /dev/null +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.vmx @@ -0,0 +1,101 @@ +.encoding =3D "UTF-8" +config.version =3D "8" +virtualHW.version =3D "17" +nvram =3D "windows2019biosvmware.nvram" +pciBridge0.present =3D "TRUE" +svga.present =3D "TRUE" +pciBridge4.present =3D "TRUE" +pciBridge4.virtualDev =3D "pcieRootPort" +pciBridge4.functions =3D "8" +pciBridge5.present =3D "TRUE" +pciBridge5.virtualDev =3D "pcieRootPort" +pciBridge5.functions =3D "8" +pciBridge6.present =3D "TRUE" +pciBridge6.virtualDev =3D "pcieRootPort" +pciBridge6.functions =3D "8" +pciBridge7.present =3D "TRUE" +pciBridge7.virtualDev =3D "pcieRootPort" +pciBridge7.functions =3D "8" +vmci0.present =3D "TRUE" +hpet0.present =3D "TRUE" +floppy0.present =3D "FALSE" +svga.vramSize =3D "8388608" +numvcpus =3D "2" +cpuid.coresPerSocket =3D "2" +memSize =3D "4096" +powerType.powerOff =3D "default" +powerType.suspend =3D "default" +powerType.reset =3D "default" +tools.upgrade.policy =3D "manual" +sched.cpu.units =3D "mhz" +sched.cpu.affinity =3D "all" +sched.cpu.latencySensitivity =3D "normal" +vm.createDate =3D "1600358272642584" +sata0.present =3D "TRUE" +ethernet0.virtualDev =3D "e1000e" +ethernet0.networkName =3D "VM Network" +ethernet0.addressType =3D "vpx" +ethernet0.generatedAddress =3D "00:50:56:9a:9c:7a" +ethernet0.present =3D "TRUE" +displayName =3D "w2019biosvmware" +guestOS =3D "windows2019srv-64" +disk.EnableUUID =3D "TRUE" +toolScripts.afterPowerOn =3D "TRUE" +toolScripts.afterResume =3D "TRUE" +toolScripts.beforeSuspend =3D "TRUE" +toolScripts.beforePowerOff =3D "TRUE" +uuid.bios =3D "42 1a 61 77 5a a9 ab b7-59 24 fc 37 6c 18 a1 b4" +vc.uuid =3D "50 1a f9 f2 6d 29 1c 76-19 a9 b2 08 ed e5 f3 74" +migrate.hostLog =3D "windows2019biosvmware-25cb1ed1.hlog" +sched.cpu.min =3D "0" +sched.cpu.shares =3D "normal" +sched.mem.min =3D "0" +sched.mem.minSize =3D "0" +sched.mem.shares =3D "normal" +migrate.encryptionMode =3D "opportunistic" +viv.moid =3D "c95f9b69-0aea-44dd-9941-696b625c8fbb:vm-22:EF/prDXvzAhPJtd46= UQDN3DGPNWZzzePsgdPTSxifyo=3D" +numa.autosize.cookie =3D "20022" +numa.autosize.vcpu.maxPerVirtualNode =3D "2" +sched.swap.derivedName =3D "windows2019biosvmware-79c21733.vswp" +uuid.location =3D "56 4d ff 27 a3 20 99 44-4a 7f b5 40 3a 8a a2 5f" +vm.genid =3D "1424963296993694319" +vm.genidX =3D "-5704120239402535687" +pciBridge0.pciSlotNumber =3D "17" +pciBridge4.pciSlotNumber =3D "21" +pciBridge5.pciSlotNumber =3D "22" +pciBridge6.pciSlotNumber =3D "23" +pciBridge7.pciSlotNumber =3D "24" +ethernet0.pciSlotNumber =3D "192" +usb_xhci.pciSlotNumber =3D "-1" +vmci0.pciSlotNumber =3D "32" +sata0.pciSlotNumber =3D "33" +vmotion.checkpointFBSize =3D "8388608" +vmotion.checkpointSVGAPrimarySize =3D "8388608" +vmotion.svga.mobMaxSize =3D "8388608" +vmotion.svga.graphicsMemoryKB =3D "8192" +vmci0.id =3D "1813553588" +monitor.phys_bits_used =3D "45" +cleanShutdown =3D "TRUE" +softPowerOff =3D "TRUE" +usb_xhci:4.present =3D "TRUE" +usb_xhci:4.deviceType =3D "hid" +usb_xhci:4.port =3D "4" +usb_xhci:4.parent =3D "-1" +toolsInstallManager.lastInstallError =3D "0" +tools.remindInstall =3D "FALSE" +toolsInstallManager.updateCounter =3D "3" +extendedConfigFile =3D "windows2019biosvmware.vmxf" +disable_acceleration =3D "TRUE" +sata0:0.fileName =3D "windows2019biosvmware.vmdk" +sata0:0.present =3D "TRUE" +sata0:0.redo =3D "" +sched.sata0:0.shares =3D "normal" +sched.sata0:0.throughputCap =3D "off" +sata0:1.startConnected =3D "FALSE" +sata0:1.deviceType =3D "cdrom-raw" +sata0:1.clientDevice =3D "TRUE" +sata0:1.fileName =3D "emptyBackingString" +sata0:1.present =3D "TRUE" +svga.guestBackedPrimaryAware =3D "TRUE" +tools.syncTime =3D "FALSE" +guestOS.detailed.data =3D "" diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.xml b/tests/vmx2x= mldata/vmx2xml-esx-in-the-wild-10.xml new file mode 100644 index 0000000000..b8c522af1f --- /dev/null +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-10.xml @@ -0,0 +1,36 @@ + + w2019biosvmware + 421a6177-5aa9-abb7-5924-fc376c18a1b4 + 4194304 + 4194304 + 2 + + 2000 + + + hvm + + + + + + destroy + restart + destroy + + + + +
+ + + + + + + + + + diff --git a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml b/tests/vmx2xm= ldata/vmx2xml-esx-in-the-wild-8.xml index 8276457bb3..32affb5935 100644 --- a/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml +++ b/tests/vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml @@ -34,7 +34,13 @@
+ + + +
+ + diff --git a/tests/vmx2xmltest.c b/tests/vmx2xmltest.c index 1966aed6fe..376116bb75 100644 --- a/tests/vmx2xmltest.c +++ b/tests/vmx2xmltest.c @@ -262,6 +262,7 @@ mymain(void) DO_TEST("esx-in-the-wild-7", "esx-in-the-wild-7"); DO_TEST("esx-in-the-wild-8", "esx-in-the-wild-8"); DO_TEST("esx-in-the-wild-9", "esx-in-the-wild-9"); + DO_TEST("esx-in-the-wild-10", "esx-in-the-wild-10"); =20 DO_TEST("gsx-in-the-wild-1", "gsx-in-the-wild-1"); DO_TEST("gsx-in-the-wild-2", "gsx-in-the-wild-2"); --=20 2.26.2