Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
block: qemu-iotests - add test for snapshot, commit, snapshot bug
Signed-off-by: Jeff Cody <jcody@redhat.com> Message-id: 2dbc05efba2f683cb3aaf71aaa9b776ebf7ec57c.1454376655.git.jcody@redhat.com Reviewed-by: Max Reitz <mreitz@redhat.com> [Moved test number from 143 to 144] Signed-off-by: Max Reitz <mreitz@redhat.com>
- Loading branch information
Showing
3 changed files
with
139 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,114 @@ | ||
#!/bin/bash | ||
# Check live snapshot, followed by active commit, and another snapshot. | ||
# | ||
# This test is to catch the error case of BZ #1300209: | ||
# https://bugzilla.redhat.com/show_bug.cgi?id=1300209 | ||
# | ||
# Copyright (C) 2016 Red Hat, Inc. | ||
# | ||
# This program is free software; you can redistribute it and/or modify | ||
# it under the terms of the GNU General Public License as published by | ||
# the Free Software Foundation; either version 2 of the License, or | ||
# (at your option) any later version. | ||
# | ||
# This program is distributed in the hope that it will be useful, | ||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
# GNU General Public License for more details. | ||
# | ||
# You should have received a copy of the GNU General Public License | ||
# along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
# | ||
|
||
# creator | ||
owner=jcody@redhat.com | ||
|
||
seq=`basename $0` | ||
echo "QA output created by $seq" | ||
|
||
here=`pwd` | ||
status=1 # failure is the default! | ||
|
||
TMP_SNAP1=${TEST_DIR}/tmp.qcow2 | ||
TMP_SNAP2=${TEST_DIR}/tmp2.qcow2 | ||
|
||
_cleanup() | ||
{ | ||
_cleanup_qemu | ||
rm -f "${TEST_IMG}" "${TMP_SNAP1}" "${TMP_SNAP2}" | ||
} | ||
|
||
trap "_cleanup; exit \$status" 0 1 2 3 15 | ||
|
||
# get standard environment, filters and checks | ||
. ./common.rc | ||
. ./common.filter | ||
. ./common.qemu | ||
|
||
_supported_fmt qcow2 | ||
_supported_proto file | ||
_supported_os Linux | ||
|
||
size=512M | ||
|
||
_make_test_img $size | ||
|
||
echo | ||
echo === Launching QEMU === | ||
echo | ||
|
||
qemu_comm_method="qmp" | ||
_launch_qemu -drive file="${TEST_IMG}",if=virtio | ||
h=$QEMU_HANDLE | ||
|
||
|
||
echo | ||
echo === Performing Live Snapshot 1 === | ||
echo | ||
|
||
_send_qemu_cmd $h "{ 'execute': 'qmp_capabilities' }" "return" | ||
|
||
|
||
# First live snapshot, new overlay as active layer | ||
_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync', | ||
'arguments': { | ||
'device': 'virtio0', | ||
'snapshot-file':'${TMP_SNAP1}', | ||
'format': 'qcow2' | ||
} | ||
}" "return" | ||
|
||
echo | ||
echo === Performing block-commit on active layer === | ||
echo | ||
|
||
# Block commit on active layer, push the new overlay into base | ||
_send_qemu_cmd $h "{ 'execute': 'block-commit', | ||
'arguments': { | ||
'device': 'virtio0' | ||
} | ||
}" "READY" | ||
|
||
_send_qemu_cmd $h "{ 'execute': 'block-job-complete', | ||
'arguments': { | ||
'device': 'virtio0' | ||
} | ||
}" "COMPLETED" | ||
|
||
echo | ||
echo === Performing Live Snapshot 2 === | ||
echo | ||
|
||
# New live snapshot, new overlays as active layer | ||
_send_qemu_cmd $h "{ 'execute': 'blockdev-snapshot-sync', | ||
'arguments': { | ||
'device': 'virtio0', | ||
'snapshot-file':'${TMP_SNAP2}', | ||
'format': 'qcow2' | ||
} | ||
}" "return" | ||
|
||
# success, all done | ||
echo "*** done" | ||
rm -f $seq.full | ||
status=0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
QA output created by 144 | ||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=536870912 | ||
|
||
=== Launching QEMU === | ||
|
||
|
||
=== Performing Live Snapshot 1 === | ||
|
||
{"return": {}} | ||
Formatting 'TEST_DIR/tmp.qcow2', fmt=qcow2 size=536870912 backing_file=TEST_DIR/t.qcow2 backing_fmt=qcow2 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 | ||
{"return": {}} | ||
|
||
=== Performing block-commit on active layer === | ||
|
||
{"return": {}} | ||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_READY", "data": {"device": "virtio0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} | ||
{"return": {}} | ||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "BLOCK_JOB_COMPLETED", "data": {"device": "virtio0", "len": 0, "offset": 0, "speed": 0, "type": "commit"}} | ||
|
||
=== Performing Live Snapshot 2 === | ||
|
||
Formatting 'TEST_DIR/tmp2.qcow2', fmt=qcow2 size=536870912 backing_file=TEST_DIR/t.qcow2 backing_fmt=qcow2 encryption=off cluster_size=65536 lazy_refcounts=off refcount_bits=16 | ||
{"return": {}} | ||
*** done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -146,3 +146,4 @@ | |
141 rw auto quick | ||
142 auto | ||
143 auto quick | ||
144 rw auto quick |