mirror of
https://github.com/libvirt/libvirt.git
synced 2026-09-03 20:53:04 -05:00
While 'usb-bot' and 'usb-storage' are ABI and migration compatible for disks it's not the case for cdroms. When migrating from a new config using 'usb-bot' to an older daemon which would use 'usb-storage' the guest os will get I/O errors. Thus we must properly fill in models for 'usb' disks so that cdroms can be handled properly. When parsing XML fill in the models and drop the appropriate models when formatting migratable XML. The logic is explained in comments in the code. Signed-off-by: Peter Krempa <pkrempa@redhat.com> Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
108 lines
3.6 KiB
XML
108 lines
3.6 KiB
XML
<domain type='qemu'>
|
|
<name>QEMUGuest1</name>
|
|
<uuid>c7a5fdbd-edaf-9455-926a-d65c16db1809</uuid>
|
|
<memory unit='KiB'>219136</memory>
|
|
<currentMemory unit='KiB'>219136</currentMemory>
|
|
<vcpu placement='static'>1</vcpu>
|
|
<os>
|
|
<type arch='x86_64' machine='pc'>hvm</type>
|
|
<boot dev='hd'/>
|
|
</os>
|
|
<cpu mode='custom' match='exact' check='none'>
|
|
<model fallback='forbid'>qemu64</model>
|
|
</cpu>
|
|
<clock offset='utc'/>
|
|
<on_poweroff>destroy</on_poweroff>
|
|
<on_reboot>restart</on_reboot>
|
|
<on_crash>destroy</on_crash>
|
|
<devices>
|
|
<emulator>/usr/bin/qemu-system-x86_64</emulator>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img1'/>
|
|
<target dev='sda' bus='usb'/>
|
|
</disk>
|
|
<disk type='file' device='cdrom' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img2'/>
|
|
<target dev='sdb' bus='usb'/>
|
|
<readonly/>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img3'/>
|
|
<target dev='sdc' bus='usb'/>
|
|
<serial>testserial1</serial>
|
|
</disk>
|
|
<disk type='file' device='cdrom' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img4'/>
|
|
<target dev='sdd' bus='usb'/>
|
|
<readonly/>
|
|
<serial>testserial2</serial>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img5'/>
|
|
<target dev='sde' bus='usb'/>
|
|
<alias name='ua-test1'/>
|
|
</disk>
|
|
<disk type='file' device='cdrom' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img6'/>
|
|
<target dev='sdf' bus='usb'/>
|
|
<readonly/>
|
|
<alias name='ua-test2'/>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img7'/>
|
|
<target dev='sdg' bus='usb'/>
|
|
<serial>testserial3</serial>
|
|
<alias name='ua-test3'/>
|
|
</disk>
|
|
<disk type='file' device='cdrom' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img8'/>
|
|
<target dev='sdh' bus='usb'/>
|
|
<readonly/>
|
|
<serial>testserial4</serial>
|
|
<alias name='ua-test4'/>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/img9'/>
|
|
<target dev='sdi' bus='usb' removable='on'/>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/imga'/>
|
|
<target dev='sdj' bus='usb' removable='on'/>
|
|
<serial>testserial5</serial>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/imgb'/>
|
|
<target dev='sdk' bus='usb' removable='on'/>
|
|
<alias name='ua-test5'/>
|
|
</disk>
|
|
<disk type='file' device='disk' model='usb-storage'>
|
|
<driver name='qemu' type='raw'/>
|
|
<source file='/tmp/imgc'/>
|
|
<target dev='sdl' bus='usb' removable='on'/>
|
|
<serial>testserial6</serial>
|
|
<alias name='ua-test6'/>
|
|
</disk>
|
|
<controller type='usb' index='0' model='piix3-uhci'>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
|
|
</controller>
|
|
<controller type='pci' index='0' model='pci-root'/>
|
|
<input type='mouse' bus='ps2'/>
|
|
<input type='keyboard' bus='ps2'/>
|
|
<audio id='1' type='none'/>
|
|
<memballoon model='virtio'>
|
|
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
|
|
</memballoon>
|
|
</devices>
|
|
</domain>
|