Bug 611205

Summary: Use async IO properly, depending on the storage type
Product: Red Hat Enterprise Linux 6 Reporter: Dor Laor <dlaor>
Component: python-virtinstAssignee: Cole Robinson <crobinso>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: low    
Version: 6.0CC: berrange, chellwig, dallan, mhideo, nzhang, tburke, xen-maint, zpeng
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
qemu was not executing efficiently based on the storage type. With this fix, when async IO (aio), storage is block based (lvm, iscsi, fc) qemu is executed with aio=native. When the storage is file based (local filesystem, NFS), qemu is executed with aio=threads. This results in improved performance.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-05-19 13:45:36 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:

Description Dor Laor 2010-07-04 08:49:35 UTC
Qemu needs to be executed with aio=native when the storage is blocked based (lvm,iscsi,fc..). When using files based (local fs, NFS) it should be aio=threads.

Comment 2 Dor Laor 2010-07-04 08:51:38 UTC
Check https://bugzilla.redhat.com/show_bug.cgi?id=571171 for qemu details

Comment 3 RHEL Program Management 2010-07-15 14:55:03 UTC
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release. It has
been denied for the current Red Hat Enterprise Linux release.

** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **

Comment 4 Cole Robinson 2011-03-10 16:38:19 UTC
Fixed in python-virtinst-0.500.5-2.el6

Comment 6 Nan Zhang 2011-03-22 06:57:34 UTC
Verified with libvirt-0.8.7-13.el6.x86_64, it's been fixed. Move to VERIFIED.

# virt-install -n foo -r 512 --disk path=/var/lib/libvirt/images/foo.img,size=6,io=threads -c /var/lib/libvirt/boot/Fedora-14-i686-Live-Desktop.iso --vnc

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

Comment 7 zhe peng 2011-04-15 10:08:12 UTC
verified this bug with:
Linux localhost.localdomain 2.6.32-130.el6.x86_64 #1 SMP Tue Apr 5 19:58:31 EDT
2011 x86_64 x86_64 x86_64 GNU/Linux

python-virtinst-0.500.5-3.el6.noarch
libvirt-0.8.7-17.el6.x86_64

passed.

Comment 9 Michael Hideo 2011-05-12 01:22:09 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
qemu was not executing efficiently based on the storage type. With this fix, when async IO (aio), storage is block based (lvm, iscsi, fc) qemu is executed with aio=native. When the storage is file based (local filesystem, NFS), qemu is executed with aio=threads. This results in improved performance. (BZ#611205)

Comment 10 Michael Hideo 2011-05-16 21:44:33 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -1 +1 @@
-qemu was not executing efficiently based on the storage type. With this fix, when async IO (aio), storage is block based (lvm, iscsi, fc) qemu is executed with aio=native. When the storage is file based (local filesystem, NFS), qemu is executed with aio=threads. This results in improved performance. (BZ#611205)+qemu was not executing efficiently based on the storage type. With this fix, when async IO (aio), storage is block based (lvm, iscsi, fc) qemu is executed with aio=native. When the storage is file based (local filesystem, NFS), qemu is executed with aio=threads. This results in improved performance.

Comment 11 errata-xmlrpc 2011-05-19 13:45:36 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-0636.html