job: Add JOB_STATUS_CHANGE QMP event

This adds a QMP event that is emitted whenever a job transitions from
one status to another.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
Kevin Wolf 2018-04-30 19:09:46 +02:00
parent bf42508f24
commit 1dac83f1a1
23 changed files with 449 additions and 44 deletions

View file

@ -116,8 +116,10 @@ _send_qemu_cmd $h \
# If we don't sleep here 'quit' command races with disk I/O
sleep 0.5
# Ignore the JOB_STATUS_CHANGE events while shutting down the VM. Depending on
# the timing, jobs may or may not transition through a paused state.
_send_qemu_cmd $h "{ 'execute': 'quit' }" "return"
wait=1 _cleanup_qemu
wait=1 _cleanup_qemu | grep -v 'JOB_STATUS_CHANGE'
echo
echo === Start active commit job and exit qemu ===
@ -139,7 +141,7 @@ _send_qemu_cmd $h \
sleep 0.5
_send_qemu_cmd $h "{ 'execute': 'quit' }" "return"
wait=1 _cleanup_qemu
wait=1 _cleanup_qemu | grep -v 'JOB_STATUS_CHANGE'
echo
echo === Start mirror job and exit qemu ===
@ -164,7 +166,7 @@ _send_qemu_cmd $h \
sleep 0.5
_send_qemu_cmd $h "{ 'execute': 'quit' }" "return"
wait=1 _cleanup_qemu
wait=1 _cleanup_qemu | grep -v 'JOB_STATUS_CHANGE'
echo
echo === Start backup job and exit qemu ===
@ -188,7 +190,7 @@ _send_qemu_cmd $h \
sleep 0.5
_send_qemu_cmd $h "{ 'execute': 'quit' }" "return"
wait=1 _cleanup_qemu
wait=1 _cleanup_qemu | grep -v 'JOB_STATUS_CHANGE'
echo
echo === Start streaming job and exit qemu ===
@ -209,7 +211,7 @@ _send_qemu_cmd $h \
sleep 0.5
_send_qemu_cmd $h "{ 'execute': 'quit' }" "return"
wait=1 _cleanup_qemu
wait=1 _cleanup_qemu | grep -v 'JOB_STATUS_CHANGE'
_check_test_img