Bug 601531

Summary: Can't use virtio storage bus
Product: [Fedora] Fedora Reporter: Arthur Pemberton <pembo13>
Component: libvirtAssignee: Daniel Veillard <veillard>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: low    
Version: 13CC: berrange, clalance, crobinso, itamar, jforbes, veillard, virt-maint
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-06-08 06:55:19 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Attachments:
Description Flags
XML domain file
none
/var/log/libvirt/qemu/Clancy.log none

Description Arthur Pemberton 2010-06-08 02:57:50 EDT
Created attachment 422070 [details]
XML domain file

Description of problem:
Switching from:
<target dev='hda' bus='ide'/>
to:
<target dev='hda' bus='virtio'/>

causes failure to start the VM with error:
Error initializing device virtio-balloon-pci

Version-Release number of selected component (if applicable):
libvirt-0.7.7-4.fc13.x86_64

How reproducible:
100%

Steps to Reproduce:
1. Setup guest (in my case Windows guest)
2. Change .XML file for guest
3. Restart libvirtd (this may not be necessary)
4. Attempt to start guest using virt-manager
  
Actual results:
Exception from libvirt

Expected results:
VM booted

Additional info:

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/engine.py", line 799, in run_domain
    vm.startup()
  File "/usr/share/virt-manager/virtManager/domain.py", line 1256, in startup
    self._backend.create()
  File "/usr/lib64/python2.6/site-packages/libvirt.py", line 317, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self)
libvirtError: internal error Process exited while reading console log output: char device redirected to /dev/pts/3
PCI: devfn 24 not available for virtio-balloon-pci, in use by virtio-blk-pci
Error initializing device virtio-balloon-pci

I have virtio working on the network interface just fine.
Comment 1 Daniel Berrange 2010-06-08 05:17:10 EDT
Can you provide the /var/log/libvirt/qemu/$GUESTNAME.log file too
Comment 2 Arthur Pemberton 2010-06-08 06:14:28 EDT
Created attachment 422129 [details]
/var/log/libvirt/qemu/Clancy.log
Comment 3 Daniel Berrange 2010-06-08 06:38:56 EDT
Your XML shows that the disk has a drive address assigned:


    <disk type='file' device='disk'>
      <source file='/var/lib/libvirt/images/Clancy.img'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' unit='0'/>
    </disk>


when you changed 'ide' to 'virtio' did you also remove the <address> line. The address shows a IDE controller address, whereas virtio disks need a PCI address. If changing from one to the other you need to remove the <address> element and let it be re-generated.
Comment 4 Arthur Pemberton 2010-06-08 06:54:55 EDT
That was the problem. Sorry about that, the docs on using virtio storage are more sparse than those for the network. Now I just need to find out how to add the virtio storage driver to an already installed Windows guest; right now I'm getting blue screens when I try to boot.