[PATCH 00/25] conf: domain: Refactor virDomainDiskDefParseXML

Michal Privoznik mprivozn at redhat.com
Mon Apr 19 09:20:26 UTC 2021


On 4/16/21 5:34 PM, Peter Krempa wrote:
> Split out all default setting and validation code into appropriate
> functions and convert the XML parser to contemporary helpers.
> 
> Peter Krempa (25):
>    virXMLParseHelper: Add root XML node name validation capability
>    util: xml: Introduce virXMLParseStringCtxtRoot
>    conf: domain: Introduce virDomainDiskDefParseSource
>    qemu: driver: Use virDomainDiskDefParseSource in qemuDomainBlockCopy
>    conf: domain: Introduce an internal variant of virDomainDiskDefNew
>    conf: domain: Split out source validation part from
>      virDomainDiskDefParseValidate
>    conf: domain: Split out parsing of source data from <disk> XML parser
>    conf: domain: Remove VIR_DOMAIN_DEF_PARSE_DISK_SOURCE parser flag
>    virDomainDiskDefValidate: Consolidate conditions
>    conf: Move code from virDomainDiskDefParseValidate to
>      virDomainDiskDefValidate
>    conf: Move disk vendor and product pritability check to
>      domain_validate
>    conf: Move checks from virDomainDiskDefPostParse to
>      virDomainDiskDefValidate
>    conf: Move disk target 'ioemu:' stripping to virDomainDiskDefPostParse
>    conf: domain: Introduce VIR_DOMAIN_DISK_BUS_NONE
>    vmx: Mark CDROM disk elements as read-only
>    conf: domain: Move default setting from virDomainDiskDefParseXML to
>      virDomainDiskDefPostParse
>    conf: domain: Move checks from virDomainDiskDefParseXML to
>      virDomainDiskDefValidate
>    conf: domain: Convert virDomainDiskDef's 'removable' to
>      virTristateSwitch
>    conf: domain: Convert virDomainDiskDef's 'rawio' to virTristateBool
>    conf: domain: Convert virDomainDiskDef's 'sgio' to virDomainDeviceSGIO
>    conf: domain: Convert virDomainDiskDef's 'model' to virDomainDiskModel
>    conf: domain: Convert virDomainDiskDef's 'snapshot' to unsigned int
>    conf: domain: Convert virDomainDiskDef's 'bus' to virDomainDiskBus
>    conf: domain: Convert virDomainDiskDef's 'device' to
>      virDomainDiskDevice
>    conf: domain: Refactor virDomainDiskDefParseXML
> 
>   src/bhyve/bhyve_command.c                     |  12 +
>   src/bhyve/bhyve_domain.c                      |  12 +
>   src/conf/domain_conf.c                        | 715 ++++++------------
>   src/conf/domain_conf.h                        |  32 +-
>   src/conf/domain_validate.c                    | 245 +++++-
>   src/conf/domain_validate.h                    |   2 +
>   src/conf/storage_conf.c                       |  16 +-
>   src/hyperv/hyperv_driver.c                    |  18 +
>   src/libvirt_private.syms                      |   1 +
>   src/libxl/libxl_driver.c                      |  11 +
>   src/qemu/qemu_alias.c                         |   1 +
>   src/qemu/qemu_command.c                       |   6 +
>   src/qemu/qemu_domain_address.c                |   1 +
>   src/qemu/qemu_driver.c                        |   9 +-
>   src/qemu/qemu_hotplug.c                       |   2 +
>   src/qemu/qemu_validate.c                      |   3 +
>   src/util/virxml.c                             |  18 +-
>   src/util/virxml.h                             |  17 +-
>   src/vbox/vbox_common.c                        |   1 +
>   src/vmx/vmx.c                                 |   4 +
>   src/vz/vz_sdk.c                               |  22 +-
>   src/vz/vz_utils.c                             |   8 +
>   .../vmx2xmldata/vmx2xml-cdrom-ide-device.xml  |   1 +
>   .../vmx2xmldata/vmx2xml-cdrom-ide-empty-2.xml |   1 +
>   tests/vmx2xmldata/vmx2xml-cdrom-ide-empty.xml |   1 +
>   tests/vmx2xmldata/vmx2xml-cdrom-ide-file.xml  |   1 +
>   .../vmx2xml-cdrom-ide-raw-auto-detect.xml     |   1 +
>   .../vmx2xml-cdrom-ide-raw-device.xml          |   1 +
>   .../vmx2xmldata/vmx2xml-cdrom-scsi-device.xml |   1 +
>   .../vmx2xmldata/vmx2xml-cdrom-scsi-empty.xml  |   1 +
>   tests/vmx2xmldata/vmx2xml-cdrom-scsi-file.xml |   1 +
>   .../vmx2xml-cdrom-scsi-passthru.xml           |   1 +
>   .../vmx2xml-cdrom-scsi-raw-auto-detect.xml    |   1 +
>   .../vmx2xml-cdrom-scsi-raw-device.xml         |   1 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-2.xml |   3 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-3.xml |   1 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-5.xml |   1 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-6.xml |   1 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-7.xml |   1 +
>   .../vmx2xmldata/vmx2xml-esx-in-the-wild-8.xml |   1 +
>   .../vmx2xml-fusion-in-the-wild-1.xml          |   1 +
>   .../vmx2xmldata/vmx2xml-ws-in-the-wild-1.xml  |   1 +
>   .../vmx2xmldata/vmx2xml-ws-in-the-wild-2.xml  |   1 +
>   43 files changed, 645 insertions(+), 534 deletions(-)
> 

Reviewed-by: Michal Privoznik <mprivozn at redhat.com>

Michal




More information about the libvir-list mailing list