Bug 736632 - image broken with "Invalid argument (22)" error after load
Summary: image broken with "Invalid argument (22)" error after load
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.2
Hardware: Unspecified
OS: Unspecified
medium
high
Target Milestone: rc
: ---
Assignee: Rik van Riel
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-09-08 10:26 UTC by Suqin Huang
Modified: 2013-01-10 00:17 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-12-12 08:09:22 UTC


Attachments (Terms of Use)
error info (24.06 KB, image/png)
2011-09-08 10:26 UTC, Suqin Huang
no flags Details

Description Suqin Huang 2011-09-08 10:26:48 UTC
Created attachment 522086 [details]
error info

Description of problem:
create several cgroups, 

Version-Release number of selected component (if applicable):
image is broken after load

How reproducible:
once

Steps to Reproduce:

1). Create 5 vm cgroups

2). In each vm cgroup, a new child cgroup is created for each vcpu

3). the pid of each vcpu is collected and assigned to child vcpu cgroup. (boot guest with aio=native)

4). each vcpu cgroup is configured with 0.5 CPU limit (50000 quota, 100000period) and the parent VM is configured to (50000 * vcpu_num) quota.

5). run below script for each vcpu 

#include<stdio.h>

int main(void){
        int i;

        for(;;){
                i += 1;
        }

        return 0;
} 


Actual results:


Expected results:


Additional info:

(qemu) block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)
block I/O error in device 'drive-virtio-disk1': Invalid argument (22)


Warning: cluster offset=0xc18d0000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc18e0000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc18f0000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc1900000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc1910000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc1920000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc1930000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc1c30000 is after the end of the image file, can't properly check refcounts.
Warning: cluster offset=0xc7470000 is after the end of the image file, can't properly check refcounts.

1504 internal errors have occurred during the check.

An error has occurred during the check: Success
The check is not complete and may have missed error.

Comment 1 Suqin Huang 2011-09-08 10:28:16 UTC
cmd: 

usr/libexec/qemu-kvm -monitor stdio -drive file='/home/Auto/autotest-devel/client/tests/kvm/images/RHEL-Server-6.1-64-virtio.qcow2',index=0,if=none,id=drive-virtio-disk1,media=disk,cache=none,format=qcow2,aio=native -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio-disk1,id=virtio-disk1 -device virtio-net-pci,netdev=idCnizDC,mac=00:e6:4a:94:f2:20,id=ndev00idCnizDC,bus=pci.0,addr=0x3 -netdev tap,id=idCnizDC,vhost=on,script='/home/Auto/autotest-devel/client/tests/kvm/scripts/qemu-ifup-switch',downscript='no' -m 4G -smp 2,cores=2,threads=1,sockets=1 -cpu cpu64-rhel6,+sse2,+x2apic -vnc :2 -rtc base=utc,clock=host,driftfix=none -M rhel6.2.0 -boot order=cdn,once=c,menu=off   -usbdevice tablet -no-kvm-pit-reinjection -enable-kvm


guest: rhel6.1.64

Comment 2 Suqin Huang 2011-09-08 10:29:12 UTC
(In reply to comment #0)
> Created attachment 522086 [details]
> error info
> 
> Description of problem:
> create several cgroups, 
> 
> Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.188.el6.x86_64

kernel: 2.6.32-193.el6.x86_64

Comment 4 Dor Laor 2011-09-11 11:18:00 UTC
This BZ is not clear. Did the guest booted fine and then you executed the above script for each vcpu (including pinning?)

Comment 5 Suqin Huang 2011-09-11 14:29:47 UTC
I can boot the guest at first, but several times later, can not open the image

Comment 6 Suqin Huang 2011-09-11 14:39:36 UTC
(In reply to comment #4)
> This BZ is not clear. Did the guest booted fine and then you executed the above
> script for each vcpu (including pinning?)

the image is a clean image, it work fine at first. I run above script for each vcpu. 
quit qemu-kvm processor after several hours, and boot the guest again.
above error shown, I can boot up the guest at first, but several time later, can not open the image at all.

Comment 7 Rik van Riel 2011-09-20 15:42:12 UTC
The error message suggests that your guest thinks it has a larger disk image than the host actually has.

This looks like either a configuration error, the host running out of disk space, or some block error.

If this really is related to the CPU cgroups stuff, it would be useful to have information showing that in the bug, since right now there is not enough info to fix things...

Comment 9 Dor Laor 2011-12-12 08:09:22 UTC
I'm incline to close this bug and QE are welcome to open another one but with specific issue - if qe think that cgroup is the blame here, try many times w/o cgroup but use plain IO load in parallel. When you test cgroup, please use a single guest and load the system w/ plain IO.


Note You need to log in before you can comment on or make changes to this bug.