Bug 747494 - I/O error after "Save/Restore" using qemu-kvm command line
Summary: I/O error after "Save/Restore" using qemu-kvm command line
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: qemu-kvm
Version: 6.2
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: beta
: ---
Assignee: Virtualization Maintenance
QA Contact: Virtualization Bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-10-20 03:32 UTC by Yongjie Ren
Modified: 2013-01-10 00:27 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-10-20 12:55:30 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Yongjie Ren 2011-10-20 03:32:51 UTC
Description of problem:
I/O error after "Save/Restore" using qemu-kvm command line not using virsh. I didn't met this issue with virsh for "save/restore".

Version-Release number of selected component (if applicable):
qemu-kvm-0.12.1.2-2.192.el6.x86_64
kernel-2.6.32-202.el6.x86_64
libvirt-0.9.4-12.el6.x86_64
virt-manager-0.9.0-6.el6.x86_64


How reproducible:
100%

Steps to Reproduce:
1.create a guest: /usr/libexec/qemu-kvm -smp 2 -m 1024 -hda /var/lib/libvirt/imgages/rhel6u2.img
2.save the guest using qemu monitor command line: migrate "exec:dd of=/root/save.img" 
3.restore the saved img:/usr/libexec/qemu-kvm -smp 2 -m 1024 -incoming /root/save.img
4.do any thing which needs to write disk, e.g. vi temp.txt  (you cannot save anything to disk.)
  
Actual results:
You'll meet the following I/O error in guest dmesg.
------------
ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6
ata1.00: BMDMA stat 0x5
ata1.00: failed command: READ DMA
ata1.00: cmd c8/00:20:40:4f:84/00:00:00:00:00/e0 tag 0 dma 16384 in
         res 00/00:00:00:00:00/00:00:00:00:00/00 Emask 0x2 (HSM violation)
ata1.00: revalidation failed (errno=-2)
ata1.00: revalidation failed (errno=-2)
ata1.00: revalidation failed (errno=-2)
end_request: I/O error, dev sda, sector 8671040
end_request: I/O error, dev sda, sector 8671040
end_request: I/O error, dev sda, sector 10249208
Buffer I/O error on device sda1, logical block 1280895
end_request: I/O error, dev sda, sector 4459584
Aborting journal on device sda1-8.
end_request: I/O error, dev sda, sector 4458496
Buffer I/O error on device sda1, logical block 557056
EXT4-fs error (device sda1): ext4_journal_start_sb: Detected aborted journal
EXT4-fs (sda1): Remounting filesystem read-only
JBD2: I/O error detected when updating journal superblock for sda1-8.
end_request: I/O error, dev sda, sector 8671040



Expected results:
no I/O error.

Additional info:
I also met this issue in qemu upstream and filed a bug several months ago.
see: https://bugs.launchpad.net/qemu/+bug/739088

Comment 2 Alex Williamson 2011-10-20 04:18:22 UTC
(In reply to comment #0)
> Steps to Reproduce:
> 1.create a guest: /usr/libexec/qemu-kvm -smp 2 -m 1024 -hda
> /var/lib/libvirt/imgages/rhel6u2.img
> 2.save the guest using qemu monitor command line: migrate "exec:dd
> of=/root/save.img" 
> 3.restore the saved img:/usr/libexec/qemu-kvm -smp 2 -m 1024 -incoming
> /root/save.img

You're not specifying a disk to use on the restore, what happens if you restore as:

/usr/libexec/qemu-kvm -smp 2 -m 1024 \
    -hda /var/lib/libvirt/imgages/rhel6u2.img \
    -incoming /root/save.img

By not specifying the disk image you're changing the virtual machine, removing the disk.  The restored guest state expects a disk, tries to access it, and errors result.  This is expected.

Comment 3 Yongjie Ren 2011-10-20 12:11:22 UTC
> You're not specifying a disk to use on the restore, what happens if you restore
> as:
> 
> /usr/libexec/qemu-kvm -smp 2 -m 1024 \
>     -hda /var/lib/libvirt/imgages/rhel6u2.img \
>     -incoming /root/save.img
> 
> By not specifying the disk image you're changing the virtual machine, removing
> the disk.  The restored guest state expects a disk, tries to access it, and
> errors result.  This is expected.
Thanks for your indication. My "Restore" command line has something wrong. It works with the following command line. Please close the bug.
/usr/libexec/qemu-kvm -smp 2 -m 1024 -hda /var/lib/libvirt/imgages/rhel6u2.img -incoming "exec:dd if=/root/save.img"


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