On 03/05/2018 14:17, Markus Armbruster wrote:
>>> 4. Connect to the QMP socket e.g. like this:
>>>    $ socat UNIX:/your/qmp/socket 
>>> READLINE,history=$HOME/.qmp_history,prompt='QMP> '
>>>
>>>    Issue QMP command 'qmp_capabilities':
>>>    QMP> { "execute": "qmp_capabilities" }
>>>
>>> 5. Boot the guest.
>>>
>>> 6. In the guest, write to the scratch disk, e.g. like this:
>>>
>>>    # dd if=/dev/zero of=/dev/vdb count=1
>>>
>>>    Do double-check the device specified with of= is actually the
>>>    scratch device!
>>>
>>> 7. Issue QMP command 'cont':
>>>    QMP> { "execute": "cont" }
>>>
>>> After step 6, I get a BLOCK_IO_ERROR event followed by a STOP event.  Good.
>>>
>>> After step 7, I get BLOCK_IO_ERROR, then RESUME, then STOP.  Not so
>>> good; I'd expect RESUME, then BLOCK_IO_ERROR, then STOP.
>> Do you want to rephrase this in the form of a script for qemu-iotests?
>>
>> I suppose the 'dd' line can be replaced by a 'qemu-io' monitor command.
> Uh, can it?  With qemu-io, the write doesn't stop the guest, because it
> bypasses the device model, and thus blk_error_action().  I'm not aware
> of ways to make qemu-iotests write via a device model.  I'm afraid we
> need a full-fledged qtest.  Better ideas?

Yeah, using virtio-blk-test sounds like a good idea.

Paolo

Reply via email to