libvirt/tests/qemustatusxml2xmldata/blockjob-blockdev-in.xml
Peter Krempa 1bf3808207 qemu: Add -blockdev support for block pull job
Introduce the handler for finalizing a block pull job which will allow
to use it with blockdev.

This patch also contains some additional machinery which is required to
store all the relevant job data in the status XML which will also be
reused with other block job types.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
2019-07-29 13:58:25 +02:00

637 lines
23 KiB
XML

<domstatus state='running' reason='booted' pid='7690'>
<taint flag='high-privileges'/>
<monitor path='/var/lib/libvirt/qemu/domain-4-copy/monitor.sock' type='unix'/>
<namespaces>
<mount/>
</namespaces>
<vcpus>
<vcpu id='0' pid='7696'/>
</vcpus>
<qemuCaps>
<flag name='kvm'/>
<flag name='no-hpet'/>
<flag name='spice'/>
<flag name='hda-duplex'/>
<flag name='ccid-emulated'/>
<flag name='ccid-passthru'/>
<flag name='virtio-tx-alg'/>
<flag name='virtio-blk-pci.ioeventfd'/>
<flag name='sga'/>
<flag name='virtio-blk-pci.event_idx'/>
<flag name='virtio-net-pci.event_idx'/>
<flag name='piix3-usb-uhci'/>
<flag name='piix4-usb-uhci'/>
<flag name='usb-ehci'/>
<flag name='ich9-usb-ehci1'/>
<flag name='vt82c686b-usb-uhci'/>
<flag name='pci-ohci'/>
<flag name='usb-redir'/>
<flag name='usb-hub'/>
<flag name='ich9-ahci'/>
<flag name='no-acpi'/>
<flag name='virtio-blk-pci.scsi'/>
<flag name='scsi-disk.channel'/>
<flag name='scsi-block'/>
<flag name='transaction'/>
<flag name='block-job-async'/>
<flag name='scsi-cd'/>
<flag name='ide-cd'/>
<flag name='hda-micro'/>
<flag name='dump-guest-memory'/>
<flag name='nec-usb-xhci'/>
<flag name='balloon-event'/>
<flag name='lsi'/>
<flag name='virtio-scsi-pci'/>
<flag name='blockio'/>
<flag name='disable-s3'/>
<flag name='disable-s4'/>
<flag name='usb-redir.filter'/>
<flag name='ide-drive.wwn'/>
<flag name='scsi-disk.wwn'/>
<flag name='seccomp-sandbox'/>
<flag name='reboot-timeout'/>
<flag name='seamless-migration'/>
<flag name='block-commit'/>
<flag name='vnc'/>
<flag name='drive-mirror'/>
<flag name='blockdev-snapshot-sync'/>
<flag name='qxl'/>
<flag name='VGA'/>
<flag name='cirrus-vga'/>
<flag name='vmware-svga'/>
<flag name='device-video-primary'/>
<flag name='usb-serial'/>
<flag name='nbd-server'/>
<flag name='virtio-rng'/>
<flag name='rng-random'/>
<flag name='rng-egd'/>
<flag name='megasas'/>
<flag name='tpm-passthrough'/>
<flag name='tpm-tis'/>
<flag name='pci-bridge'/>
<flag name='vfio-pci'/>
<flag name='mem-merge'/>
<flag name='drive-discard'/>
<flag name='mlock'/>
<flag name='device-del-event'/>
<flag name='dmi-to-pci-bridge'/>
<flag name='i440fx-pci-hole64-size'/>
<flag name='q35-pci-hole64-size'/>
<flag name='usb-storage'/>
<flag name='usb-storage.removable'/>
<flag name='ich9-intel-hda'/>
<flag name='kvm-pit-lost-tick-policy'/>
<flag name='boot-strict'/>
<flag name='pvpanic'/>
<flag name='spice-file-xfer-disable'/>
<flag name='usb-kbd'/>
<flag name='msg-timestamp'/>
<flag name='active-commit'/>
<flag name='change-backing-file'/>
<flag name='memory-backend-ram'/>
<flag name='numa'/>
<flag name='memory-backend-file'/>
<flag name='usb-audio'/>
<flag name='rtc-reset-reinjection'/>
<flag name='splash-timeout'/>
<flag name='iothread'/>
<flag name='migrate-rdma'/>
<flag name='ivshmem'/>
<flag name='drive-iotune-max'/>
<flag name='VGA.vgamem_mb'/>
<flag name='vmware-svga.vgamem_mb'/>
<flag name='qxl.vgamem_mb'/>
<flag name='pc-dimm'/>
<flag name='machine-vmport-opt'/>
<flag name='aes-key-wrap'/>
<flag name='dea-key-wrap'/>
<flag name='pci-serial'/>
<flag name='vhost-user-multiqueue'/>
<flag name='migration-event'/>
<flag name='ioh3420'/>
<flag name='x3130-upstream'/>
<flag name='xio3130-downstream'/>
<flag name='rtl8139'/>
<flag name='e1000'/>
<flag name='virtio-net'/>
<flag name='gic-version'/>
<flag name='incoming-defer'/>
<flag name='virtio-gpu'/>
<flag name='virtio-gpu.virgl'/>
<flag name='virtio-keyboard'/>
<flag name='virtio-mouse'/>
<flag name='virtio-tablet'/>
<flag name='virtio-input-host'/>
<flag name='chardev-file-append'/>
<flag name='ich9-disable-s3'/>
<flag name='ich9-disable-s4'/>
<flag name='vserport-change-event'/>
<flag name='virtio-balloon-pci.deflate-on-oom'/>
<flag name='mptsas1068'/>
<flag name='spice-gl'/>
<flag name='qxl.vram64_size_mb'/>
<flag name='chardev-logfile'/>
<flag name='debug-threads'/>
<flag name='secret'/>
<flag name='pxb'/>
<flag name='pxb-pcie'/>
<flag name='device-tray-moved-event'/>
<flag name='nec-usb-xhci-ports'/>
<flag name='virtio-scsi-pci.iothread'/>
<flag name='name-guest'/>
<flag name='qxl.max_outputs'/>
<flag name='spice-unix'/>
<flag name='drive-detect-zeroes'/>
<flag name='tls-creds-x509'/>
<flag name='intel-iommu'/>
<flag name='smm'/>
<flag name='virtio-pci-disable-legacy'/>
<flag name='query-hotpluggable-cpus'/>
<flag name='virtio-net.rx_queue_size'/>
<flag name='virtio-vga'/>
<flag name='drive-iotune-max-length'/>
<flag name='ivshmem-plain'/>
<flag name='ivshmem-doorbell'/>
<flag name='query-qmp-schema'/>
<flag name='gluster.debug_level'/>
<flag name='vhost-scsi'/>
<flag name='drive-iotune-group'/>
<flag name='query-cpu-model-expansion'/>
<flag name='virtio-net.host_mtu'/>
<flag name='spice-rendernode'/>
<flag name='nvdimm'/>
<flag name='pcie-root-port'/>
<flag name='query-cpu-definitions'/>
<flag name='block-write-threshold'/>
<flag name='query-named-block-nodes'/>
<flag name='cpu-cache'/>
<flag name='qemu-xhci'/>
<flag name='kernel-irqchip'/>
<flag name='kernel-irqchip.split'/>
<flag name='intel-iommu.intremap'/>
<flag name='intel-iommu.caching-mode'/>
<flag name='intel-iommu.eim'/>
<flag name='intel-iommu.device-iotlb'/>
<flag name='virtio.iommu_platform'/>
<flag name='virtio.ats'/>
<flag name='loadparm'/>
<flag name='vnc-multi-servers'/>
<flag name='virtio-net.tx_queue_size'/>
<flag name='chardev-reconnect'/>
<flag name='virtio-gpu.max_outputs'/>
<flag name='vxhs'/>
<flag name='virtio-blk.num-queues'/>
<flag name='vmcoreinfo'/>
<flag name='numa.dist'/>
<flag name='disk-share-rw'/>
<flag name='iscsi.password-secret'/>
<flag name='isa-serial'/>
<flag name='dump-completed'/>
<flag name='qcow2-luks'/>
<flag name='pcie-pci-bridge'/>
<flag name='seccomp-blacklist'/>
<flag name='query-cpus-fast'/>
<flag name='disk-write-cache'/>
<flag name='nbd-tls'/>
<flag name='tpm-crb'/>
<flag name='pr-manager-helper'/>
<flag name='qom-list-properties'/>
<flag name='memory-backend-file.discard-data'/>
<flag name='sdl-gl'/>
<flag name='screendump_device'/>
<flag name='hda-output'/>
<flag name='blockdev-del'/>
<flag name='vmgenid'/>
<flag name='vhost-vsock'/>
<flag name='chardev-fd-pass'/>
<flag name='tpm-emulator'/>
<flag name='mch'/>
<flag name='mch.extended-tseg-mbytes'/>
<flag name='usb-storage.werror'/>
<flag name='egl-headless'/>
<flag name='vfio-pci.display'/>
<flag name='blockdev'/>
<flag name='memory-backend-memfd'/>
<flag name='memory-backend-memfd.hugetlb'/>
<flag name='iothread.poll-max-ns'/>
<flag name='egl-headless.rendernode'/>
</qemuCaps>
<devices>
<device alias='rng0'/>
<device alias='sound0-codec0'/>
<device alias='virtio-disk0'/>
<device alias='virtio-serial0'/>
<device alias='video0'/>
<device alias='serial0'/>
<device alias='sound0'/>
<device alias='channel1'/>
<device alias='channel0'/>
<device alias='usb'/>
</devices>
<libDir path='/var/lib/libvirt/qemu/domain-4-copy'/>
<channelTargetDir path='/var/lib/libvirt/qemu/channel/target/domain-4-copy'/>
<chardevStdioLogd/>
<allowReboot value='yes'/>
<nodename index='0'/>
<blockjobs active='yes'>
<blockjob name='pull-vdb-libvirt-3-format' type='pull' state='running'>
<disk dst='vdb'/>
<base node='libvirt-14-format'/>
</blockjob>
<blockjob name='drive-virtio-disk0' type='copy' state='ready'>
<disk dst='vda' mirror='yes'/>
</blockjob>
<blockjob name='test-orphan-job0' type='copy' state='ready'>
<chains>
<disk type='file' format='qcow2'>
<source file='/orphan/source/top.qcow2' index='123'>
<privateData>
<nodenames>
<nodename type='storage' name='orphan-source-top-storage'/>
<nodename type='format' name='orphan-source-top-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='321'>
<format type='qcow2'/>
<source file='/orphan/source/base.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='orphan-source-base-storage'/>
<nodename type='format' name='orphan-source-base-format'/>
</nodenames>
</privateData>
</source>
<backingStore/>
</backingStore>
</disk>
<mirror type='file' format='raw'>
<source file='/orphan/mirror/raw' index='42'>
<privateData>
<nodenames>
<nodename type='storage' name='orphan-mirror-raw-storage'/>
<nodename type='format' name='orphan-mirror-raw-format'/>
</nodenames>
</privateData>
</source>
<backingStore/>
</mirror>
</chains>
</blockjob>
</blockjobs>
<domain type='kvm' id='4'>
<name>copy</name>
<uuid>0439a4a8-db56-4933-9183-d8681d7b0746</uuid>
<memory unit='KiB'>1024000</memory>
<currentMemory unit='KiB'>1024000</currentMemory>
<vcpu placement='static'>1</vcpu>
<resource>
<partition>/machine</partition>
</resource>
<os>
<type arch='x86_64' machine='pc-i440fx-2.9'>hvm</type>
<boot dev='hd'/>
<bootmenu enable='yes'/>
</os>
<features>
<acpi/>
<apic/>
<vmport state='off'/>
</features>
<clock offset='utc'>
<timer name='rtc' tickpolicy='catchup'/>
<timer name='pit' tickpolicy='delay'/>
<timer name='hpet' present='no'/>
</clock>
<on_poweroff>destroy</on_poweroff>
<on_reboot>restart</on_reboot>
<on_crash>restart</on_crash>
<pm>
<suspend-to-mem enabled='no'/>
<suspend-to-disk enabled='no'/>
</pm>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/src'/>
<backingStore/>
<mirror type='file' file='/tmp/copy' format='qcow2' job='copy' ready='yes'>
<format type='qcow2'/>
<source file='/tmp/copy'/>
</mirror>
<target dev='vda' bus='virtio'/>
<alias name='virtio-disk0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/pull4.qcow2' index='3'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-3-storage'/>
<nodename type='format' name='libvirt-3-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='13'>
<format type='qcow2'/>
<source file='/tmp/pull3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-13-storage'/>
<nodename type='format' name='libvirt-13-format'/>
</nodenames>
<relPath>pull3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='14'>
<format type='qcow2'/>
<source file='/tmp/pull2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-14-storage'/>
<nodename type='format' name='libvirt-14-format'/>
</nodenames>
<relPath>pull2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='15'>
<format type='qcow2'/>
<source file='/tmp/pull1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-15-storage'/>
<nodename type='format' name='libvirt-15-format'/>
</nodenames>
<relPath>pull1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='16'>
<format type='qcow2'/>
<source file='/tmp/pull0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-16-storage'/>
<nodename type='format' name='libvirt-16-format'/>
</nodenames>
<relPath>pull0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdb' bus='virtio'/>
<alias name='virtio-disk1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk1/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/commit4.qcow2' index='2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-2-storage'/>
<nodename type='format' name='libvirt-2-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='9'>
<format type='qcow2'/>
<source file='/tmp/commit3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-9-storage'/>
<nodename type='format' name='libvirt-9-format'/>
</nodenames>
<relPath>commit3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='10'>
<format type='qcow2'/>
<source file='/tmp/commit2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-10-storage'/>
<nodename type='format' name='libvirt-10-format'/>
</nodenames>
<relPath>commit2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='11'>
<format type='qcow2'/>
<source file='/tmp/commit1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-11-storage'/>
<nodename type='format' name='libvirt-11-format'/>
</nodenames>
<relPath>commit1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='12'>
<format type='qcow2'/>
<source file='/tmp/commit0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-12-storage'/>
<nodename type='format' name='libvirt-12-format'/>
</nodenames>
<relPath>commit0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdc' bus='virtio'/>
<alias name='virtio-disk2'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk2/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/copy4.qcow2' index='1'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-1-storage'/>
<nodename type='format' name='libvirt-1-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='5'>
<format type='qcow2'/>
<source file='/tmp/copy3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-5-storage'/>
<nodename type='format' name='libvirt-5-format'/>
</nodenames>
<relPath>copy3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='6'>
<format type='qcow2'/>
<source file='/tmp/copy2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-6-storage'/>
<nodename type='format' name='libvirt-6-format'/>
</nodenames>
<relPath>copy2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='7'>
<format type='qcow2'/>
<source file='/tmp/copy1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-7-storage'/>
<nodename type='format' name='libvirt-7-format'/>
</nodenames>
<relPath>copy1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='8'>
<format type='qcow2'/>
<source file='/tmp/copy0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-8-storage'/>
<nodename type='format' name='libvirt-8-format'/>
</nodenames>
<relPath>copy0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdc' bus='virtio'/>
<alias name='virtio-disk3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk3/virtio-backend'/>
</privateData>
</disk>
<disk type='file' device='disk'>
<driver name='qemu' type='qcow2'/>
<source file='/tmp/activecommit4.qcow2' index='17'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-17-storage'/>
<nodename type='format' name='libvirt-17-format'/>
</nodenames>
</privateData>
</source>
<backingStore type='file' index='18'>
<format type='qcow2'/>
<source file='/tmp/activecommit3.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-18-storage'/>
<nodename type='format' name='libvirt-18-format'/>
</nodenames>
<relPath>activecommit3.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='19'>
<format type='qcow2'/>
<source file='/tmp/activecommit2.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-19-storage'/>
<nodename type='format' name='libvirt-19-format'/>
</nodenames>
<relPath>activecommit2.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='20'>
<format type='qcow2'/>
<source file='/tmp/activecommit1.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-20-storage'/>
<nodename type='format' name='libvirt-20-format'/>
</nodenames>
<relPath>activecommit1.qcow2</relPath>
</privateData>
</source>
<backingStore type='file' index='21'>
<format type='qcow2'/>
<source file='/tmp/activecommit0.qcow2'>
<privateData>
<nodenames>
<nodename type='storage' name='libvirt-21-storage'/>
<nodename type='format' name='libvirt-21-format'/>
</nodenames>
<relPath>activecommit0.qcow2</relPath>
</privateData>
</source>
<backingStore/>
</backingStore>
</backingStore>
</backingStore>
</backingStore>
<target dev='vdd' bus='virtio'/>
<alias name='virtio-disk3'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x0e' function='0x0'/>
<privateData>
<qom name='/machine/peripheral/virtio-disk3/virtio-backend'/>
</privateData>
</disk>
<controller type='usb' index='0' model='piix3-uhci'>
<alias name='usb'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
</controller>
<controller type='pci' index='0' model='pci-root'>
<alias name='pci.0'/>
</controller>
<serial type='pty'>
<source path='/dev/pts/34'/>
<target type='isa-serial' port='0'>
<model name='isa-serial'/>
</target>
<alias name='serial0'/>
</serial>
<console type='pty' tty='/dev/pts/34'>
<source path='/dev/pts/34'/>
<target type='serial' port='0'/>
<alias name='serial0'/>
</console>
<input type='mouse' bus='ps2'>
<alias name='input0'/>
</input>
<input type='keyboard' bus='ps2'>
<alias name='input1'/>
</input>
<graphics type='spice' port='5900' autoport='yes' listen='127.0.0.1'>
<listen type='address' address='127.0.0.1' fromConfig='1' autoGenerated='no'/>
<image compression='off'/>
</graphics>
<video>
<model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
<alias name='video0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
</video>
<memballoon model='none'/>
</devices>
<seclabel type='dynamic' model='selinux' relabel='yes'>
<label>unconfined_u:unconfined_r:svirt_t:s0:c550,c786</label>
<imagelabel>unconfined_u:object_r:svirt_image_t:s0:c550,c786</imagelabel>
</seclabel>
<seclabel type='dynamic' model='dac' relabel='yes'>
<label>+0:+0</label>
<imagelabel>+0:+0</imagelabel>
</seclabel>
</domain>
</domstatus>