Bug 1288793 - qemu-img convert hung when converting images
qemu-img convert hung when converting images
Status: CLOSED WORKSFORME
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.1
Unspecified Linux
unspecified Severity urgent
: rc
: ---
Assigned To: Fam Zheng
Virtualization Bugs
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-12-05 20:13 EST by Bimal Chollera
Modified: 2016-05-02 15:11 EDT (History)
20 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2016-05-02 15:11:59 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Bimal Chollera 2015-12-05 20:13:10 EST
Description of problem:

The nova snapshot process triggered a qemu-img conversion of some qcow2 images which hung after 150+ runs

Version-Release number of selected component (if applicable):

kernel(3.10.0-229.14.1.el7.x86_64
qemu-img-rhev-2.1.2-23.el7_1.9.x86_64


strace info:

strace -p 462921
Process 462921 attached
ppoll([{fd=5, events=POLLIN|POLLERR|POLLHUP}], 1, NULL, NULL, 8^CProcess 462921 detached
 <detached ...>

How reproducible:

End user customer is able to reproduce.

Steps to Reproduce:
1.
2.
3.

Actual results:

qemu-img hung

Expected results:

qemu-img shouldn't hang

Additional info:
Comment 26 Qianqian Zhu 2016-01-25 04:43:50 EST
Can't reproduce this issue so far.

Tried with:
qemu-img-rhev-2.1.2-23.el7_1.9.x86_64
kernel-3.10.0-229.el7.x86_64
qemu-kvm-rhev-2.1.2-23.el7_1.9.x86_64
ceph-0.94.5-0.el7.x86_64

Storage Info:
# ceph osd dump
epoch 23
fsid 598b26e0-3ad1-4efc-a8d9-6e8b5975d442
created 2016-01-25 14:20:23.923245
modified 2016-01-25 14:41:19.702254
flags 
pool 0 'rbd' replicated size 1 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 20 flags hashpspool stripe_width 0
pool 2 'libvirt-pool' replicated size 1 min_size 1 crush_ruleset 0 object_hash rjenkins pg_num 128 pgp_num 128 last_change 22 flags hashpspool stripe_width 0
max_osd 2
osd.0 up   in  weight 1 up_from 4 up_thru 22 down_at 0 last_clean_interval [0,0) 10.73.69.53:6800/3685 10.73.69.53:6801/3685 10.73.69.53:6802/3685 10.73.69.53:6803/3685 exists,up 4edab305-e20a-48ab-a0db-3d4c0c1ca240
osd.1 up   in  weight 1 up_from 8 up_thru 22 down_at 0 last_clean_interval [0,0) 10.73.69.53:6804/4159 10.73.69.53:6805/4159 10.73.69.53:6806/4159 10.73.69.53:6807/4159 exists,up 1a3c27c9-06c9-4fc0-85e5-1b308fef5dbd

Steps:
1. #qemu-img create -f rbd rbd:libvirt-pool/new-libvirt-image 5G
2. Launch guest and install rhel OS:
/usr/libexec/qemu-kvm -name RHEL6.8 -m 4096 -cpu Conroe,check -smp 4 -global PIIX4_PM.disable_s4=1 -global PIIX4_PM.disable_s3=1 -boot menu=on,strict=on -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x6 -drive file=rbd:libvirt-pool/new-libvirt-image,if=none,id=drive-virtio0-0-0,media=disk,werror=stop,rerror=stop,cache=writeback,format=rbd -device virtio-blk-pci,bus=pci.0,addr=0x4,drive=drive-virtio0-0-0,id=virtio0-0-0 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7 -vnc :4 -vga cirrus -monitor stdio -drive file=/home/RHEL6.8-Server-x86_64.iso,if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0

3. After guest installation, 
# for i in {1..300}; do echo $i; time qemu-img convert -O qcow2 rbd:libvirt-pool/new-libvirt-image /root/af228f22b56040b48f4abc67273321d8 && rm -f /root/af228f22b56040b48f4abc67273321d8; done

Result:
All converts finished without hang.
1

real    0m30.605s
user    0m5.149s
sys     0m4.119s
2

real    0m19.551s
user    0m5.343s
sys     0m4.137s

...

299

real	0m26.352s
user	0m5.218s
sys	0m4.667s
300

real	0m26.362s
user	0m4.862s
sys	0m4.479s
Comment 27 Qianqian Zhu 2016-01-25 20:05:17 EST
Tried 1000 rounds of same step in comment 26, still could not reproduce the issue.

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