2.6.31 guest vm's unable to use virtio

Bug #403215 reported by Dustin Kirkland 
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Medium
Anthony Liguori
kvm (Ubuntu)
Fix Released
Medium
Unassigned
linux (Ubuntu)
Fix Released
Medium
Andy Whitcroft

Bug Description

Runing Karmic + kvm on the host.

Creating guest qcow2 disk images with:
 kvm-image create -f qcow2 foo.img 8G

And starting the virtual machine with virtio disk:
 kvm -m 512 -drive if=virtio,index=0,boot=on,file=foo.img -cdrom karmic-desktop.iso

Very shortly after boot, there will be I/O errors reported on /dev/vda, and the filesystem will go read only. The guest isn't of much use at this point.

Downgrading to the Jaunty 2.6.28 kernel, or even the upstream 2.6.30 kernel seems to fix the problem.

The problem is only seen with qcow2 images (not raw, LVM, whole disk partitions).

The problem is also not seen if virtio is disabled.

:-Dustin

ProblemType: Bug
Architecture: amd64
Date: Wed Jul 22 15:46:51 2009
DistroRelease: Ubuntu 9.10
MachineType: LENOVO 7454CTO
Package: linux-image-2.6.31-3-generic 2.6.31-3.19
ProcCmdLine: root=UUID=d45ce184-de1d-48ac-a143-44ab4432a207 ro quiet splash
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-3.19-generic
RelatedPackageVersions: linux-backports-modules-2.6.31-3-generic N/A
SourcePackage: linux
Uname: Linux 2.6.31-3-generic x86_64
dmi.bios.date: 04/22/2009
dmi.bios.vendor: LENOVO
dmi.bios.version: 6DET44WW (2.08 )
dmi.board.name: 7454CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6DET44WW(2.08):bd04/22/2009:svnLENOVO:pn7454CTO:pvrThinkPadX200:rvnLENOVO:rn7454CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 7454CTO
dmi.product.version: ThinkPad X200
dmi.sys.vendor: LENOVO

Revision history for this message
Dustin Kirkland  (kirkland) wrote :
Changed in kvm (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
status: New → Confirmed
Changed in kvm (Ubuntu):
importance: Undecided → Medium
Changed in linux (Ubuntu):
importance: Undecided → Medium
Changed in linux (Ubuntu):
assignee: nobody → Andy Whitcroft (apw)
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

http://<email address hidden>/msg19695.html

It seems that qemu-kvm commit bf011293f is to blame.

I can confirm that reverting this commit solves the issue using the latest daily qemu-kvm, as built in my personal PPA.

:-Dustin

summary: - 2.6.31 guest vm's unable to use qcow2 + virtio
+ 2.6.31 guest vm's unable to use virtio
Changed in kvm (Ubuntu):
status: Confirmed → Triaged
Changed in qemu:
status: New → Triaged
importance: Undecided → Medium
importance: Medium → High
assignee: nobody → Anthony Liguori (anthony-codemonkey)
importance: High → Medium
Changed in qemu:
status: Triaged → Fix Committed
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

I'm 99.9% sure that the Ubuntu kernel team fixed this in the Karmic cycle. CC'ing Mathias just to be sure.

Mathias, is this the issue that you saw, and Tim fixed for us in St. Louis?

:-Dustin

Changed in linux (Ubuntu):
status: Confirmed → Fix Released
Changed in kvm (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
pavlinux (dixlor) wrote :

FUCKING UBUNTU LAMERS !!! VIRTIO BLOCK DEVICE WORK ONLY WITH RAW FORMAT

qemu-img convet -O raw fucking.qcow PureRAW.img

Changed in linux (Ubuntu):
status: Fix Released → Invalid
Revision history for this message
John Edwards (john-cornerstonelinux) wrote :

Reversing status change by abusive user "pavlinux".

Changed in linux (Ubuntu):
status: Invalid → Fix Released
Revision history for this message
Dustin Kirkland  (kirkland) wrote :

classy.

Revision history for this message
Mathias Gug (mathiaz) wrote : Re: [Bug 403215] Re: 2.6.31 guest vm's unable to use virtio

Hi Dustin,

On Fri, Sep 11, 2009 at 10:52:39PM -0000, Dustin Kirkland wrote:
> I'm 99.9% sure that the Ubuntu kernel team fixed this in the Karmic
> cycle. CC'ing Mathias just to be sure.
>
> Mathias, is this the issue that you saw, and Tim fixed for us in St.
> Louis?
>

I don't think so. The issue I've reported is bug 423426, which is that
all the virtio kernel modules (net and block) are missing from the
linux-virtual package.

If you only see this problem with qcow2 files via virtio, and not
raw, LVM, whole disk partitions via virtio then it's a different
problem.

--
Mathias Gug
Ubuntu Developer http://www.ubuntu.com

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I'm not sure this is completely fixed. I saw the following which states 0.11 still has the issue.
http://<email address hidden>/msg22891.html

The changelog for qemu-kvm doesn't make any mention of this bug either.

I was doing ISO testing for http://iso.qa.ubuntu.com/qatracker/result/3238/41 and had 3 other ISO tests running at the same time. I specified ubuntuKarmic to libvirt, which uses virtio. While the other 3 ISO tests worked fine, the one I did without LVM had problems in mountall:

mountall: Cancelled
General error mounting filesystems.
A maintenance shell will now be started.
CONTROL-D will terminate this shell and re-try.

This happened *after* I logged in as a regular user and the console kept alternating back and forth between the maintenance shell and the regular user shell. It was very confusing.

I checked dmesg and the only interesting thing I saw was:
[ 15.868803] JBD: barrier-based sync failed on vda1:8 - disabling barriers

Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I forgot to mention that I rebooted the machine and everything seemed fine.

Changed in qemu:
status: Fix Committed → Fix Released
tags: added: iso-testing
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.