Bug 806344

Summary: info block-jobs fails to show whether block stream succeeds
Product: Red Hat Enterprise Linux 6 Reporter: Shaolong Hu <shu>
Component: qemu-kvmAssignee: Virtualization Maintenance <virt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: acathrow, bsarathy, juzhang, kwolf, michen, mkenneth, tburke, 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: 2012-03-25 10:30:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 806280    

Description Shaolong Hu 2012-03-23 13:46:26 UTC
Description of problem:
------------------------
block stream to a non-enough space path, block stream will stop when there is no space left, info block-jobs only shows "No active jobs", guest runs until when there is writing triggers "block I/O error in device 'drive-virtio-disk0': No space left on device (28)" and stopped, there should be a "block stream failed" prompt when using info block-jobs, or is there a way libvirt can tell this? 


Version-Release number of selected component (if applicable):
--------------------------------------------------------------
qemu-kvm-0.12.1.2-2.262.el6rhev.x86_64


How reproducible:
------------------
100%

Steps to Reproduce:
--------------------
1. qemu-img -f raw disk 1G
2. mkfs.ext4 disk
3. mount -o loop disk /path
4. (qemu) snapshot_blkdev drive-virtio-disk0 /path/sn1 qcow2
5. (qemu) block_stream drive-virtio-disk0
  
Actual results:
---------------
after no space left in /path, block stream stops:

(qemu) info block-jobs 
Streaming device drive-virtio-disk0: Completed 1968177152 of 21474836480 bytes, speed limit 0 bytes/s
(qemu) info block-jobs 
No active jobs

Comment 2 Kevin Wolf 2012-03-23 15:01:55 UTC
If you connect with QMP, you should get a BLOCK_JOB_COMPLETED monitor event with an error description.

Comment 3 Dor Laor 2012-03-25 10:30:10 UTC
(In reply to comment #2)
> If you connect with QMP, you should get a BLOCK_JOB_COMPLETED monitor event
> with an error description.

Right, the main test/verification tool should be QMP

Comment 4 Shaolong Hu 2012-03-26 09:50:39 UTC
Verified on QMP, list here for reference:

{ "execute": "block_stream", "arguments": { "device": "drive-virtio-disk0" } }
{"return": {}}

{"timestamp": {"seconds": 1332755362, "microseconds": 687432}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "drive-virtio-disk0", "len": 21474836480, "offset": 2036858880, "speed": 0, "type": "stream", "error": "No space left on device"}}