Bug 591703 (LibvirtAIO)

Summary: RFE: libvirt XML should allow to specify AIO mode
Product: Red Hat Enterprise Linux 6 Reporter: Jes Sorensen <Jes.Sorensen>
Component: libvirtAssignee: Eric Blake <eblake>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: urgent    
Version: 6.0CC: abaron, aliguori, berrange, cpelland, dallan, eblake, gcosta, Jes.Sorensen, llim, merlin.linux, mzhan, nzhang, plyons, xen-maint, yoyzhang
Target Milestone: rcKeywords: FutureFeature
Target Release: 6.1   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: libvirt-0.8.7-5.el6 Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 13:18:49 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On: 592070    
Bug Blocks: 611206, 628871, 644849    

Description Jes Sorensen 2010-05-12 20:52:41 UTC
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):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 1 Eric Blake 2010-05-12 20:57:47 UTC
A preliminary patch was proposed upstream:
https://www.redhat.com/archives/libvir-list/2010-April/msg00786.html
https://www.redhat.com/archives/libvir-list/2010-April/msg00888.html

but missed inclusion into libvirt 0.8.1.

Comment 3 RHEL Program Management 2010-05-12 22:05:46 UTC
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.

Comment 6 Eric Blake 2010-05-17 22:13:33 UTC
Upstream discussion[1] on the initial patch pointed out that a better solution than adding a qemu-specific <disk type="..." aio="threads"/> might be to instead support:

<disk type="...">
  <iobackend type="aiothreads"/>
</disk>

to allow further iobackend types among other hypervisors.  Until the XML representation is nailed down, this is not yet ready for inclusion.

[1] https://www.redhat.com/archives/libvir-list/2010-May/msg00538.html

Comment 7 Eric Blake 2011-01-05 20:18:21 UTC
Upstream is still hashing out the best XML representation:
https://www.redhat.com/archives/libvir-list/2011-January/msg00066.html

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.

Comment 8 Eric Blake 2011-01-14 23:01:23 UTC
Upstream patch posted, based on fallout from discussion.
https://www.redhat.com/archives/libvir-list/2011-January/msg00694.html

Comment 13 Eric Blake 2011-01-28 18:39:54 UTC
Posted for inclusion in RHEL 6.1:
http://post-office.corp.redhat.com/archives/rhvirt-patches/2011-January/msg01500.html

Comment 15 Nan Zhang 2011-02-15 03:26:40 UTC
Verified with the following packages, it's already been fixed.
libvirt-0.8.7-6.el6.x86_64
qemu-kvm-0.12.1.2-2.144.el6.x86_64
kernel-2.6.32-115.el6.x86_64

# virsh dumpxml demo
...
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source file='/var/lib/libvirt/images/demo.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>
...

# 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
...

Comment 18 errata-xmlrpc 2011-05-19 13:18:49 UTC
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.

http://rhn.redhat.com/errata/RHBA-2011-0596.html