Hi all,

There was a problem about qcow2 image file happened in my serval vms and I 
could not figure it out,
so have to ask for some help.

Here is the thing:

At first, I found there were some data corruption in a vm, so I did qemu-img 
check to all my vms.

parts of check report:

3-Leaked cluster 2926229 refcount=1 reference=0
4-Leaked cluster 3021181 refcount=1 reference=0
5-Leaked cluster 3021182 refcount=1 reference=0
6-Leaked cluster 3021183 refcount=1 reference=0
7-Leaked cluster 3021184 refcount=1 reference=0
8-ERROR cluster 3102547 refcount=3 reference=4
9-ERROR cluster 3111536 refcount=3 reference=4
10-ERROR cluster 3113369 refcount=3 reference=4
11-ERROR cluster 3235590 refcount=10 reference=11
12-ERROR cluster 3235591 refcount=10 reference=11

423-Warning: cluster offset=0xc000c00020000 is after the end of the image file, 
can't properly check refcounts.
424-Warning: cluster offset=0xc000c000c0000 is after the end of the image file, 
can't properly check refcounts.
425-Warning: cluster offset=0xc0001000c0000 is after the end of the image file, 
can't properly check refcounts.
426-Warning: cluster offset=0xc000c000c0000 is after the end of the image file, 
can't properly check refcounts.
427-Warning: cluster offset=0xc000c000c0000 is after the end of the image file, 
can't properly check refcounts.
428-Warning: cluster offset=0xc000c000c0000 is after the end of the image file, 
can't properly check refcounts.
429-Warning: cluster offset=0xc000c000c0000 is after the end of the image file, 
can't properly check refcounts.
430-Warning: cluster offset=0xc000c00010000 is after the end of the image file, 
can't properly check refcounts.


After a futher look in, I found two l2 entries point to the same cluster, and 
that was found in serval qcow2 image files of different vms.
Like this:

table entry conflict (with our qcow2 check tool): 
a table offset : 0x00000093f7080000 level : 2, l1 table entry 100, l2 table 
entry 7
b table offset : 0x00000093f7080000 level : 2, l1 table entry 5, l2 table entry 
7
table entry conflict : 
a table offset : 0x00000000a01e0000 level : 2, l1 table entry 100, l2 table 
entry 19
b table offset : 0x00000000a01e0000 level : 2, l1 table entry 5, l2 table entry 
19
table entry conflict : 
a table offset : 0x00000000a01d0000 level : 2, l1 table entry 100, l2 table 
entry 18
b table offset : 0x00000000a01d0000 level : 2, l1 table entry 5, l2 table entry 
18
table entry conflict : 
a table offset : 0x00000000a01c0000 level : 2, l1 table entry 100, l2 table 
entry 17
b table offset : 0x00000000a01c0000 level : 2, l1 table entry 5, l2 table entry 
17
table entry conflict : 
a table offset : 0x00000000a01b0000 level : 2, l1 table entry 100, l2 table 
entry 16
b table offset : 0x00000000a01b0000 level : 2, l1 table entry 5, l2 table entry 
16

I think the problem is relate to the snapshot create, delete. But I cant 
reproduce it .
Can Anyone give a hint about how this happen?

Qemu version 2.0.1, I download the source code and make install it.

Qemu parameters:
/usr/bin/kvm -chardev 
socket,id=qmp,path=/var/run/qemu-server/5855899639838.qmp,server,nowait -mon 
chardev=qmp,mode=control -vnc :0,websocket,to=200 -enable-kvm -pidfile 
/var/run/qemu-server/5855899639838.pid -daemonize -name yfMailSvr-200.200.0.14 
-smp sockets=1,cores=4 -cpu 
core2duo,hv_spinlocks=0xffff,hv_relaxed,hv_time,hv_vapic,+sse4.1,+sse4.2,+x2apic,+erms,+smep,+fsgsbase,+f16c,+dca,+pcid,+pdcm,+xtpr,+ht,+ss,+acpi,+ds
 -nodefaults -vga cirrus -k en-us -boot menu=on,splash-time=8000 -m 8192 -usb 
-drive if=none,id=drive-ide0,media=cdrom,aio=native -device 
ide-cd,bus=ide.0,unit=0,drive=drive-ide0,id=ide0 -drive 
file=/sf/data/36b82a720d3a278001ba904e80c20c13e_ecf4bbbf3e94/images/host-ecf4bbbf3e94/784f3f08532a/yfMailSvr-200.200.0.14.vm/vm-disk-1.qcow2,if=none,id=drive-virtio1,cache=none,aio=native
 -device virtio-blk-pci,drive=drive-virtio1,id=virtio1,bus=pci.0,addr=0xb 
-drive 
file=/sf/data/36b82a720d3a278001ba904e80c20c13e_ecf4bbbf3e94/images/host-ecf4bbbf3e94/784f3f08532a/yfMailSvr-200.200.0.14.vm/vm-disk-2.qcow2,if=none,id=drive-virtio2,cache=none,aio=native
 -device 
virtio-blk-pci,drive=drive-virtio2,id=virtio2,bus=pci.0,addr=0xc,bootindex=101 
-netdev 
type=tap,id=net0,ifname=585589963983800,script=/sf/etc/kvm/vtp-bridge,vhost=on,vhostforce=on
 -device 
virtio-net-pci,romfile=,mac=FE:FC:FE:F0:AB:BA,netdev=net0,bus=pci.0,addr=0x12,id=net0
 -rtc driftfix=slew,clock=rt,base=localtime -global 
kvm-pit.lost_tick_policy=discard -global PIIX4_PM.disable_s3=1 -global 
PIIX4_PM.disable_s4=1

Thanks
Sangfor VT.





leijian

Reply via email to