Description of problem:
Customers are asking for a feature to allow specifying the AIO mode via libvirt XML, like can be done on the QEMU command line with aio=native etc.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
A preliminary patch was proposed upstream:
but missed inclusion into libvirt 0.8.1.
This feature request did not get resolved in time for Feature Freeze
for the current Red Hat Enterprise Linux release and has now been
denied. You may re-open your request by requesting your support
representative to propose it for the next release.
Upstream discussion on the initial patch pointed out that a better solution than adding a qemu-specific <disk type="..." aio="threads"/> might be to instead support:
to allow further iobackend types among other hypervisors. Until the XML representation is nailed down, this is not yet ready for inclusion.
Upstream is still hashing out the best XML representation:
but it should be easy to modify the existing patch mentioned in comment 6 to match whatever naming conventions is ultimately agreed on, in time for RHEL 6.1.
Upstream patch posted, based on fallout from discussion.
Posted for inclusion in RHEL 6.1:
Verified with the following packages, it's already been fixed.
# virsh dumpxml demo
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none' io='native'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' unit='0'/>
# ps -ef | grep qemu-kvm | grep aio
root 6778 1 8 04:57 ? 01:26:27 /usr/libexec/qemu-kvm -S -M rhel6.1.0 -enable-kvm -m 1024 -smp 1,sockets=1,cores=1,threads=1 -name demo -uuid 4e70a311-e9f2-f5e8-e651-37d4a94c5f3e -nodefconfig -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/demo.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-reboot -boot d -drive file=/var/lib/libvirt/images/demo.img,if=none,id=drive-ide0-0-0,format=raw,cache=none,aio=native
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.