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@redhat.com>
Michal