| Summary: | System crashed when mirroring to itself | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 6 | Reporter: | jingzhao <jinzhao> |
| Component: | qemu-kvm | Assignee: | John Snow <jsnow> |
| Status: | CLOSED WONTFIX | QA Contact: | Virtualization Bugs <virt-bugs> |
| Severity: | high | Docs Contact: | |
| Priority: | high | ||
| Version: | 6.8 | CC: | ailan, chayang, jinzhao, juzhang, mkenneth, rbalakri, virt-maint |
| Target Milestone: | rc | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2016-12-02 21:07:49 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | |||
| Bug Blocks: | 1359965 | ||
Is the report correct?
...
-drive file=/home/0223/rhel68bk2.qcow2,if=none,format=qcow2,id=drive-virtio-scsi,werror=stop,rerror=stop \
...
{ "execute": "drive-mirror", "arguments": { "device": "drive-virtio-disk0", "target": "/home/rhelbk2.img","sync": "full"}}
{ "execute": "__com.redhat_drive-reopen", "arguments": {"device": "drive-virtio-scsi", "new-image-file": "/home/rhelbk2.img" }
You create a drive of id=drive-virtio-scsi, but then reference a drive named "drive-virtio-disk0" with drive-mirror.
Did you mean to write "drive-virtio-scsi" here?
(In reply to John Snow from comment #3) > Is the report correct? > > ... > -drive > file=/home/0223/rhel68bk2.qcow2,if=none,format=qcow2,id=drive-virtio-scsi, > werror=stop,rerror=stop \ > ... > > { "execute": "drive-mirror", "arguments": { "device": "drive-virtio-disk0", > "target": "/home/rhelbk2.img","sync": "full"}} > { "execute": "__com.redhat_drive-reopen", "arguments": {"device": > "drive-virtio-scsi", "new-image-file": "/home/rhelbk2.img" } > > > You create a drive of id=drive-virtio-scsi, but then reference a drive named > "drive-virtio-disk0" with drive-mirror. > > Did you mean to write "drive-virtio-scsi" here? Sorry for the mistake, yes, I mean write to "drive-virtio-scsi" Thanks Jing Actually, I think this is not valid. Why would you mirror a drive to itself? This to me is like the famous "cat file > file" problem. You may expect this does nothing, but in fact it erases the file. It looks like the same problem is happening here, and I think the real solution is "well, don't do that." If I am mistaken and there is some genuine use case for trying to overwrite a file that is open with data from that open file... well, let me know about that. |
Description of problem: System crashed when mirroring to itself Version-Release number of selected component (if applicable): kernel-2.6.32-620.el6.x86_64 qemu-kvm-rhev-0.12.1.2-2.489.el6.x86_64 How reproducible: 3/3 Steps to Reproduce: 1.Boot vm through following cli: /usr/libexec/qemu-kvm \ -name rhel6.6.0 \ -machine rhel6.6.0,accel=kvm \ -realtime mlock=off \ -cpu SandyBridge \ -m 4G \ -smp 4,cores=1,threads=1,sockets=4 \ -uuid 49a3438a-70a3-4ba8-92ce-3a05e0934608 \ -nodefaults \ -rtc base=utc,driftfix=slew \ -monitor unix:/tmp/monitor-unix,server,nowait \ -serial unix:/tmp/serial0,server,nowait \ -global kvm-pit.lost_tick_policy=discard \ -global PIIX4_PM.disable_s3=1 \ -global PIIX4_PM.disable_s4=1 \ -boot order=c,menu=on,strict=on \ -device virtio-scsi-pci,id=scsi \ -drive file=/home/0223/rhel68bk2.qcow2,if=none,format=qcow2,id=drive-virtio-scsi,werror=stop,rerror=stop \ -device scsi-hd,drive=drive-virtio-scsi,id=virtio-scsi,bus=scsi.0,scsi-id=0 \ -netdev tap,id=hostnet0,vhost=on \ -device virtio-net-pci,netdev=hostnet0,id=net0,vectors=0,mac=00:1a:4a:42:0a:00 \ -monitor stdio \ -qmp tcp:0:4466,server,nowait -serial unix:/tmp/ttym,server,nowait \ -vga qxl \ -spice port=5910,password=redhat-vga,disable-ticketing \ -k en-us \ 2. In qmp, mirroring the base to itself { "execute": "drive-mirror", "arguments": { "device": "drive-virtio-disk0", "target": "/home/rhelbk2.img","sync": "full"}} { "execute": "__com.redhat_drive-reopen", "arguments": {"device": "drive-virtio-scsi", "new-image-file": "/home/rhelbk2.img" } 3.restart the guest or restart the guest before "drive-reopen" Actual results: System crashed and the guest didn't boot up Expected results: system boot up correctly Additional info: