mirror of
https://gitlab.com/qemu-project/qemu
synced 2024-11-05 20:35:44 +00:00
iotests: Specify explicit backing format where sensible
There are many existing qcow2 images that specify a backing file but no format. This has been the source of CVEs in the past, but has become more prominent of a problem now that libvirt has switched to -blockdev. With older -drive, at least the probing was always done by qemu (so the only risk of a changed format between successive boots of a guest was if qemu was upgraded and probed differently). But with newer -blockdev, libvirt must specify a format; if libvirt guesses raw where the image was formatted, this results in data corruption visible to the guest; conversely, if libvirt guesses qcow2 where qemu was using raw, this can result in potential security holes, so modern libvirt instead refuses to use images without explicit backing format. The change in libvirt to reject images without explicit backing format has pointed out that a number of tools have been far too reliant on probing in the past. It's time to set a better example in our own iotests of properly setting this parameter. iotest calls to create, rebase, and convert are all impacted to some degree. It's a bit annoying that we are inconsistent on command line - while all of those accept -o backing_file=...,backing_fmt=..., the shortcuts are different: create and rebase have -b and -F, while convert has -B but no -F. (amend has no shortcuts, but the previous patch just deprecated the use of amend to change backing chains). Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <20200706203954.341758-9-eblake@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
bc5ee6da71
commit
b66ff2c298
119 changed files with 434 additions and 361 deletions
|
@ -66,7 +66,7 @@ echo "Creating test image with backing file"
|
|||
echo
|
||||
|
||||
TEST_IMG=$TEST_IMG_SAVE
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo "Filling test image"
|
||||
echo
|
||||
|
|
|
@ -269,7 +269,7 @@ wrote 65536/65536 bytes at offset 4295032832
|
|||
No errors were found on the image.
|
||||
Creating test image with backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Filling test image
|
||||
|
||||
=== IO: pattern 1
|
||||
|
|
|
@ -66,7 +66,7 @@ echo "Creating test image with backing file"
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG_SAVE.orig"
|
||||
_make_test_img -b "$TEST_IMG_SAVE.base" 6G
|
||||
_make_test_img -b "$TEST_IMG_SAVE.base" -F $IMGFMT 6G
|
||||
|
||||
echo "Filling test image"
|
||||
echo
|
||||
|
|
|
@ -269,7 +269,7 @@ wrote 65536/65536 bytes at offset 4295032832
|
|||
No errors were found on the image.
|
||||
Creating test image with backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Filling test image
|
||||
|
||||
=== IO: pattern 1
|
||||
|
|
|
@ -74,7 +74,7 @@ echo "Creating test image with backing file"
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG_SAVE.orig"
|
||||
_make_test_img -b "$TEST_IMG_SAVE.base" 6G
|
||||
_make_test_img -b "$TEST_IMG_SAVE.base" -F $IMGFMT 6G
|
||||
|
||||
echo "Filling test image"
|
||||
echo
|
||||
|
@ -98,7 +98,8 @@ for backing_option in "-B " "-o backing_file="; do
|
|||
echo
|
||||
echo Testing conversion with $backing_option"$TEST_IMG.base" | _filter_testdir | _filter_imgfmt
|
||||
echo
|
||||
$QEMU_IMG convert -f $IMGFMT -O $IMGFMT $backing_option"$TEST_IMG.base" "$TEST_IMG.orig" "$TEST_IMG"
|
||||
$QEMU_IMG convert -f $IMGFMT -O $IMGFMT $backing_option"$TEST_IMG.base" \
|
||||
-o backing_fmt=$IMGFMT "$TEST_IMG.orig" "$TEST_IMG"
|
||||
|
||||
echo "Checking if backing clusters are allocated when they shouldn't"
|
||||
echo
|
||||
|
|
|
@ -269,7 +269,7 @@ wrote 65536/65536 bytes at offset 4296015872
|
|||
No errors were found on the image.
|
||||
Creating test image with backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT.orig', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Filling test image
|
||||
|
||||
=== IO: pattern 43
|
||||
|
|
|
@ -70,7 +70,7 @@ echo "Creating test image with backing file"
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo "Filling test image"
|
||||
echo
|
||||
|
@ -131,7 +131,7 @@ backing="json:{'driver': '$IMGFMT',
|
|||
# Filter out newlines and collapse spaces
|
||||
backing=$(echo "$backing" | tr -d '\n' | tr -s ' ')
|
||||
|
||||
_make_test_img -b "$backing"
|
||||
_make_test_img -b "$backing" -F $IMGFMT
|
||||
|
||||
# Just write anything so committing will not be a no-op
|
||||
$QEMU_IO -c 'writev 0 64k' "$TEST_IMG" | _filter_qemu_io
|
||||
|
|
|
@ -269,7 +269,7 @@ wrote 65536/65536 bytes at offset 4295032832
|
|||
No errors were found on the image.
|
||||
Creating test image with backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Filling test image
|
||||
|
||||
=== IO: pattern 1
|
||||
|
@ -1079,7 +1079,7 @@ No errors were found on the image.
|
|||
Testing failing commit
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=json:{'driver': 'IMGFMT',, 'file': { 'driver': 'blkdebug',, 'inject-error': [{ 'event': 'write_aio',, 'errno': 28,, 'once': true }],, 'image': { 'driver': 'file',, 'filename': 'TEST_DIR/t.IMGFMT.base' }}}
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=json:{'driver': 'IMGFMT',, 'file': { 'driver': 'blkdebug',, 'inject-error': [{ 'event': 'write_aio',, 'errno': 28,, 'once': true }],, 'image': { 'driver': 'file',, 'filename': 'TEST_DIR/t.IMGFMT.base' }}} backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
qemu-img: Block job failed: No space left on device
|
||||
|
|
|
@ -83,7 +83,7 @@ TEST_IMG="$TEST_IMG_SAVE"
|
|||
echo "Creating COW image"
|
||||
echo
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base_old" 1G
|
||||
_make_test_img -b "$TEST_IMG.base_old" -F $IMGFMT 1G
|
||||
io_pattern writev 0 $((4 * CLUSTER_SIZE)) 0 1 0x33
|
||||
io_pattern writev $((8 * CLUSTER_SIZE)) $((4 * CLUSTER_SIZE)) 0 1 0x33
|
||||
|
||||
|
@ -109,7 +109,7 @@ io_pattern readv $((15 * CLUSTER_SIZE)) $CLUSTER_SIZE 0 1 0x00
|
|||
echo
|
||||
echo Rebase and test again
|
||||
echo
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.base_new" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.base_new" -F $IMGFMT "$TEST_IMG"
|
||||
io_pattern readv $((0 * CLUSTER_SIZE)) $CLUSTER_SIZE 0 1 0x33
|
||||
io_pattern readv $((1 * CLUSTER_SIZE)) $CLUSTER_SIZE 0 1 0x33
|
||||
io_pattern readv $((2 * CLUSTER_SIZE)) $CLUSTER_SIZE 0 1 0x33
|
||||
|
@ -159,7 +159,7 @@ OVERLAY="$TEST_DIR/$OVERLAY_WREL"
|
|||
|
||||
TEST_IMG=$BASE_OLD _make_test_img 1M
|
||||
TEST_IMG=$BASE_NEW _make_test_img 1M
|
||||
TEST_IMG=$OVERLAY _make_test_img -b "$BASE_OLD_OREL" 1M
|
||||
TEST_IMG=$OVERLAY _make_test_img -b "$BASE_OLD_OREL" -F $IMGFMT 1M
|
||||
|
||||
echo
|
||||
|
||||
|
@ -176,11 +176,11 @@ $QEMU_IO "$BASE_NEW" \
|
|||
echo
|
||||
|
||||
pushd "$TEST_DIR" >/dev/null
|
||||
$QEMU_IMG rebase -f "$IMGFMT" -b "$BASE_NEW_OREL" "$OVERLAY_WREL"
|
||||
$QEMU_IMG rebase -f "$IMGFMT" -b "$BASE_NEW_OREL" -F $IMGFMT "$OVERLAY_WREL"
|
||||
popd >/dev/null
|
||||
|
||||
# Verify the backing path is correct
|
||||
TEST_IMG=$OVERLAY _img_info | grep '^backing file'
|
||||
TEST_IMG=$OVERLAY _img_info | grep '^backing file:'
|
||||
|
||||
echo
|
||||
|
||||
|
|
|
@ -33,7 +33,7 @@ wrote 131072/131072 bytes at offset 786432
|
|||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Creating COW image
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 backing_file=TEST_DIR/t.IMGFMT.base_old
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 backing_file=TEST_DIR/t.IMGFMT.base_old backing_fmt=IMGFMT
|
||||
=== IO: pattern 0x33
|
||||
wrote 262144/262144 bytes at offset 0
|
||||
256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
@ -146,7 +146,7 @@ read 65536/65536 bytes at offset 983040
|
|||
|
||||
Formatting 'TEST_DIR/subdir/t.IMGFMT.base_old', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/subdir/t.IMGFMT.base_new', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/subdir/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=t.IMGFMT.base_old
|
||||
Formatting 'TEST_DIR/subdir/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=t.IMGFMT.base_old backing_fmt=IMGFMT
|
||||
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
|
|
@ -76,7 +76,7 @@ echo "Creating test image with backing file"
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
_make_test_img -b "$TEST_IMG.base" $image_size
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $image_size
|
||||
|
||||
echo "Filling test image"
|
||||
echo
|
||||
|
@ -101,7 +101,7 @@ io_zero readv $(( offset + 32 * 1024 )) 512 1024 32
|
|||
_check_test_img
|
||||
|
||||
# Rebase it on top of its base image
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.base" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.base" -F $IMGFMT "$TEST_IMG"
|
||||
|
||||
echo
|
||||
echo block-backup
|
||||
|
|
|
@ -70,7 +70,7 @@ wrote 512/512 bytes at offset 3221225984
|
|||
No errors were found on the image.
|
||||
Creating test image with backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294968832 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294968832 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Filling test image
|
||||
|
||||
=== IO: pattern 196
|
||||
|
|
|
@ -32,8 +32,12 @@ class TestSingleDrive(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, TestSingleDrive.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', 'raw', mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % mid_img,
|
||||
'-F', iotests.imgfmt, test_img)
|
||||
qemu_io('-f', 'raw', '-c', 'write -P 0x1 0 512', backing_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x1 524288 512', mid_img)
|
||||
self.vm = iotests.VM().add_drive("blkdebug::" + test_img,
|
||||
|
@ -199,7 +203,8 @@ class TestParallelOps(iotests.QMPTestCase):
|
|||
iotests.create_image(self.imgs[0], self.image_len)
|
||||
for i in range(1, self.num_imgs):
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.imgs[i-1], self.imgs[i])
|
||||
'-o', 'backing_file=%s' % self.imgs[i-1],
|
||||
'-F', 'raw' if i == 1 else iotests.imgfmt, self.imgs[i])
|
||||
|
||||
# Put data into the images we are copying data from
|
||||
odd_img_indexes = [x for x in reversed(range(self.num_imgs)) if x % 2 == 1]
|
||||
|
@ -544,7 +549,8 @@ class TestQuorum(iotests.QMPTestCase):
|
|||
qemu_io('-f', iotests.imgfmt,
|
||||
'-c', 'write -P 0x55 0 1024', backing_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, child_img)
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', iotests.imgfmt, child_img)
|
||||
opts.append("children.%d.file.filename=%s" % (i, child_img))
|
||||
opts.append("children.%d.node-name=node%d" % (i, i))
|
||||
|
||||
|
@ -585,7 +591,9 @@ class TestSmallerBackingFile(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, self.backing_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img, str(self.image_len))
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', 'raw', test_img, str(self.image_len))
|
||||
self.vm = iotests.VM().add_drive(test_img)
|
||||
self.vm.launch()
|
||||
|
||||
|
@ -848,7 +856,9 @@ class TestStreamStop(iotests.QMPTestCase):
|
|||
def setUp(self):
|
||||
qemu_img('create', backing_img, str(TestStreamStop.image_len))
|
||||
qemu_io('-f', 'raw', '-c', 'write -P 0x1 0 32M', backing_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', 'raw', test_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x1 32M 32M', test_img)
|
||||
self.vm = iotests.VM().add_drive("blkdebug::" + test_img)
|
||||
self.vm.launch()
|
||||
|
@ -879,7 +889,9 @@ class TestSetSpeed(iotests.QMPTestCase):
|
|||
def setUp(self):
|
||||
qemu_img('create', backing_img, str(TestSetSpeed.image_len))
|
||||
qemu_io('-f', 'raw', '-c', 'write -P 0x1 0 32M', backing_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', 'raw', test_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x1 32M 32M', test_img)
|
||||
self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
|
||||
self.vm.launch()
|
||||
|
|
|
@ -58,7 +58,7 @@ $QEMU_IO -c "write -P 0x55 0 1M" "$TEST_IMG" | _filter_qemu_io
|
|||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo
|
||||
echo "== zero write with backing file =="
|
||||
|
|
|
@ -4,7 +4,7 @@ QA output created by 034
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
wrote 1048576/1048576 bytes at offset 0
|
||||
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== zero write with backing file ==
|
||||
wrote 196608/196608 bytes at offset 65536
|
||||
|
|
|
@ -74,7 +74,7 @@ backing_io 0 256 write | $QEMU_IO "$TEST_IMG" | _filter_qemu_io
|
|||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo
|
||||
echo "== COW in a single cluster =="
|
||||
|
|
|
@ -514,7 +514,7 @@ wrote 512/512 bytes at offset 130048
|
|||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 512/512 bytes at offset 130560
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== COW in a single cluster ==
|
||||
wrote 2048/2048 bytes at offset 0
|
||||
|
|
|
@ -71,7 +71,7 @@ backing_io 0 256 write | $QEMU_IO "$TEST_IMG" | _filter_qemu_io
|
|||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo
|
||||
echo "== Some concurrent requests touching the same cluster =="
|
||||
|
|
|
@ -514,7 +514,7 @@ wrote 65536/65536 bytes at offset 16646144
|
|||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 16711680
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== Some concurrent requests touching the same cluster ==
|
||||
wrote 65536/65536 bytes at offset XXX
|
||||
|
|
|
@ -133,7 +133,8 @@ echo "== Committing to a backing file with lazy_refcounts=on =="
|
|||
|
||||
TEST_IMG="$TEST_IMG".base _make_test_img -o "compat=1.1,lazy_refcounts=on" $size
|
||||
|
||||
_make_test_img -o "compat=1.1,lazy_refcounts=on,backing_file=$TEST_IMG.base" $size
|
||||
_make_test_img -o "compat=1.1,lazy_refcounts=on,backing_file=$TEST_IMG.base" \
|
||||
-F $IMGFMT $size
|
||||
|
||||
$QEMU_IO -c "write 0 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG commit "$TEST_IMG"
|
||||
|
|
|
@ -66,7 +66,7 @@ No errors were found on the image.
|
|||
|
||||
== Committing to a backing file with lazy_refcounts=on ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 0
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Image committed.
|
||||
|
|
|
@ -80,8 +80,11 @@ class TestSingleDrive(ImageCommitTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, self.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % mid_img,
|
||||
'-F', iotests.imgfmt, test_img)
|
||||
qemu_io('-f', 'raw', '-c', 'write -P 0xab 0 524288', backing_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0xef 524288 524288', mid_img)
|
||||
self.vm = iotests.VM().add_drive(test_img, "node-name=top,backing.node-name=mid,backing.backing.node-name=base", interface="none")
|
||||
|
@ -305,10 +308,16 @@ class TestRelativePaths(ImageCommitTestCase):
|
|||
if exception.errno != errno.EEXIST:
|
||||
raise
|
||||
iotests.create_image(self.backing_img_abs, TestRelativePaths.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.backing_img_abs, self.mid_img_abs)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.mid_img_abs, self.test_img)
|
||||
qemu_img('rebase', '-u', '-b', self.backing_img, self.mid_img_abs)
|
||||
qemu_img('rebase', '-u', '-b', self.mid_img, self.test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.backing_img_abs,
|
||||
'-F', 'raw', self.mid_img_abs)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.mid_img_abs,
|
||||
'-F', iotests.imgfmt, self.test_img)
|
||||
qemu_img('rebase', '-u', '-b', self.backing_img,
|
||||
'-F', 'raw', self.mid_img_abs)
|
||||
qemu_img('rebase', '-u', '-b', self.mid_img,
|
||||
'-F', iotests.imgfmt, self.test_img)
|
||||
qemu_io('-f', 'raw', '-c', 'write -P 0xab 0 524288', self.backing_img_abs)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0xef 524288 524288', self.mid_img_abs)
|
||||
self.vm = iotests.VM().add_drive(self.test_img)
|
||||
|
@ -371,8 +380,11 @@ class TestSetSpeed(ImageCommitTestCase):
|
|||
|
||||
def setUp(self):
|
||||
qemu_img('create', backing_img, str(TestSetSpeed.image_len))
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % mid_img,
|
||||
'-F', iotests.imgfmt, test_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x1 0 512', test_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0xef 524288 524288', mid_img)
|
||||
self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
|
||||
|
@ -410,9 +422,14 @@ class TestReopenOverlay(ImageCommitTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(self.img0, self.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.img0, self.img1)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.img1, self.img2)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % self.img2, self.img3)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.img0, '-F', 'raw', self.img1)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.img1,
|
||||
'-F', iotests.imgfmt, self.img2)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % self.img2,
|
||||
'-F', iotests.imgfmt, self.img3)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0xab 0 128K', self.img1)
|
||||
self.vm = iotests.VM().add_drive(self.img3)
|
||||
self.vm.launch()
|
||||
|
@ -435,8 +452,12 @@ class TestErrorHandling(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, self.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % mid_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img,
|
||||
'-F', 'raw', mid_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % mid_img,
|
||||
'-F', iotests.imgfmt, test_img)
|
||||
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x11 0 512k', mid_img)
|
||||
qemu_io('-f', iotests.imgfmt, '-c', 'write -P 0x22 0 512k', test_img)
|
||||
|
|
|
@ -44,7 +44,8 @@ class TestSingleDrive(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, self.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
|
||||
self.vm = iotests.VM().add_drive(test_img, "node-name=top,backing.node-name=base")
|
||||
if iotests.qemu_default_machine == 'pc':
|
||||
self.vm.add_drive(None, 'media=cdrom', 'ide')
|
||||
|
@ -157,7 +158,8 @@ class TestSingleDrive(iotests.QMPTestCase):
|
|||
self.assert_no_active_block_jobs()
|
||||
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=%d,backing_file=%s'
|
||||
% (self.image_len, backing_img), target_img)
|
||||
% (self.image_len, backing_img),
|
||||
'-F', 'raw', target_img)
|
||||
result = self.vm.qmp(self.qmp_cmd, device='drive0', sync='full',
|
||||
mode='existing', target=self.qmp_target)
|
||||
self.assert_qmp(result, 'return', {})
|
||||
|
@ -227,7 +229,8 @@ class TestSingleBlockdev(TestSingleDrive):
|
|||
|
||||
def setUp(self):
|
||||
TestSingleDrive.setUp(self)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, target_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
|
||||
args = {'driver': iotests.imgfmt,
|
||||
'node-name': self.qmp_target,
|
||||
'file': { 'filename': target_img, 'driver': 'file' } }
|
||||
|
@ -312,7 +315,8 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, TestMirrorNoBacking.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
|
||||
self.vm = iotests.VM().add_drive(test_img)
|
||||
self.vm.launch()
|
||||
|
||||
|
@ -329,7 +333,8 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
|
|||
def test_complete(self):
|
||||
self.assert_no_active_block_jobs()
|
||||
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, target_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
|
||||
result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
|
||||
mode='existing', target=target_img)
|
||||
self.assert_qmp(result, 'return', {})
|
||||
|
@ -344,7 +349,8 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
|
|||
def test_cancel(self):
|
||||
self.assert_no_active_block_jobs()
|
||||
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, target_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', target_img)
|
||||
result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
|
||||
mode='existing', target=target_img)
|
||||
self.assert_qmp(result, 'return', {})
|
||||
|
@ -363,7 +369,8 @@ class TestMirrorNoBacking(iotests.QMPTestCase):
|
|||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'size=%d'
|
||||
%(TestMirrorNoBacking.image_len), target_backing_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'cluster_size=%d,backing_file=%s'
|
||||
% (TestMirrorNoBacking.image_len, target_backing_img), target_img)
|
||||
% (TestMirrorNoBacking.image_len, target_backing_img),
|
||||
'-F', iotests.imgfmt, target_img)
|
||||
|
||||
result = self.vm.qmp('drive-mirror', device='drive0', sync='full',
|
||||
mode='existing', target=target_img)
|
||||
|
@ -382,7 +389,8 @@ class TestMirrorResized(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.create_image(backing_img, TestMirrorResized.backing_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
|
||||
qemu_img('resize', test_img, '2M')
|
||||
self.vm = iotests.VM().add_drive(test_img)
|
||||
self.vm.launch()
|
||||
|
@ -528,7 +536,9 @@ new_state = "1"
|
|||
# Test COW into the target image. The first half of the
|
||||
# cluster at MIRROR_GRANULARITY has to be copied from
|
||||
# backing_img, even though sync='top'.
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-ocluster_size=131072,backing_file=%s' %(backing_img), target_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-ocluster_size=131072,backing_file=%s' %(backing_img),
|
||||
'-F', 'raw', target_img)
|
||||
result = self.vm.qmp('drive-mirror', device='drive0', sync='top',
|
||||
on_source_error='ignore',
|
||||
mode='existing', target=target_img)
|
||||
|
@ -548,7 +558,8 @@ new_state = "1"
|
|||
self.vm.shutdown()
|
||||
|
||||
# Detach blkdebug to compare images successfully
|
||||
qemu_img('rebase', '-f', iotests.imgfmt, '-u', '-b', backing_img, test_img)
|
||||
qemu_img('rebase', '-f', iotests.imgfmt, '-u', '-b', backing_img,
|
||||
'-F', 'raw', test_img)
|
||||
self.assertTrue(iotests.compare_images(test_img, target_img),
|
||||
'target image does not match source after mirroring')
|
||||
|
||||
|
@ -620,7 +631,8 @@ new_state = "1"
|
|||
self.blkdebug_file = target_img + ".blkdebug"
|
||||
iotests.create_image(backing_img, TestWriteErrors.image_len)
|
||||
self.create_blkdebug_file(self.blkdebug_file, "write_aio", 5)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-obacking_file=%s' %(backing_img), test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-obacking_file=%s' %(backing_img), '-F', 'raw', test_img)
|
||||
self.vm = iotests.VM().add_drive(test_img)
|
||||
self.target_img = 'blkdebug:%s:%s' % (self.blkdebug_file, target_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-osize=%d' %(TestWriteErrors.image_len), target_img)
|
||||
|
@ -715,7 +727,8 @@ class TestSetSpeed(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
qemu_img('create', backing_img, str(TestSetSpeed.image_len))
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
|
||||
self.vm = iotests.VM().add_drive(test_img)
|
||||
self.vm.launch()
|
||||
|
||||
|
|
|
@ -64,8 +64,8 @@ _check_test_img
|
|||
echo
|
||||
echo "== Rebasing the image =="
|
||||
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.orig" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.orig" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.orig" -F $IMGFMT "$TEST_IMG"
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.orig" -F $IMGFMT "$TEST_IMG"
|
||||
_check_test_img
|
||||
|
||||
# success, all done
|
||||
|
|
|
@ -46,7 +46,7 @@ _supported_proto file
|
|||
|
||||
size=128M
|
||||
_make_test_img $size
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG" -F $IMGFMT "$TEST_IMG"
|
||||
|
||||
echo
|
||||
echo "== backing file references self =="
|
||||
|
@ -54,8 +54,8 @@ _img_info --backing-chain
|
|||
|
||||
_make_test_img $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" $size
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG" "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $size
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG" -F $IMGFMT "$TEST_IMG.base"
|
||||
|
||||
echo
|
||||
echo "== parent references self =="
|
||||
|
@ -63,12 +63,12 @@ _img_info --backing-chain
|
|||
|
||||
_make_test_img $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.1.base"
|
||||
_make_test_img -b "$TEST_IMG.1.base" $size
|
||||
_make_test_img -b "$TEST_IMG.1.base" -F $IMGFMT $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.2.base"
|
||||
_make_test_img -b "$TEST_IMG.2.base" $size
|
||||
_make_test_img -b "$TEST_IMG.2.base" -F $IMGFMT $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.3.base"
|
||||
_make_test_img -b "$TEST_IMG.3.base" $size
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.2.base" "$TEST_IMG.1.base"
|
||||
_make_test_img -b "$TEST_IMG.3.base" -F $IMGFMT $size
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.2.base" -F $IMGFMT "$TEST_IMG.1.base"
|
||||
|
||||
echo
|
||||
echo "== ancestor references another ancestor =="
|
||||
|
@ -76,17 +76,18 @@ _img_info --backing-chain
|
|||
|
||||
_make_test_img $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.1.base"
|
||||
_make_test_img -b "$TEST_IMG.1.base" $size
|
||||
_make_test_img -b "$TEST_IMG.1.base" -F $IMGFMT $size
|
||||
mv "$TEST_IMG" "$TEST_IMG.2.base"
|
||||
_make_test_img -b "$TEST_IMG.2.base" $size
|
||||
_make_test_img -b "$TEST_IMG.2.base" -F $IMGFMT $size
|
||||
|
||||
echo
|
||||
echo "== finite chain of length 3 (human) =="
|
||||
_img_info --backing-chain
|
||||
# Exclude backing format, since qed differs from qcow2 on what gets stored
|
||||
_img_info --backing-chain | grep -v '^backing file format:'
|
||||
|
||||
echo
|
||||
echo "== finite chain of length 3 (json) =="
|
||||
_img_info --backing-chain --output=json
|
||||
_img_info --backing-chain --output=json | grep -v 'backing-filename-format'
|
||||
|
||||
# success, all done
|
||||
echo "*** done"
|
||||
|
|
|
@ -4,20 +4,20 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
|||
== backing file references self ==
|
||||
qemu-img: Backing file 'TEST_DIR/t.IMGFMT' creates an infinite loop.
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== parent references self ==
|
||||
qemu-img: Backing file 'TEST_DIR/t.IMGFMT' creates an infinite loop.
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.1.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.2.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.3.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.1.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.2.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.3.base backing_fmt=IMGFMT
|
||||
|
||||
== ancestor references another ancestor ==
|
||||
qemu-img: Backing file 'TEST_DIR/t.IMGFMT.2.base' creates an infinite loop.
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.1.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.2.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.1.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.2.base backing_fmt=IMGFMT
|
||||
|
||||
== finite chain of length 3 (human) ==
|
||||
image: TEST_DIR/t.IMGFMT
|
||||
|
|
|
@ -69,7 +69,7 @@ backing_io 0 32 write | $QEMU_IO "$TEST_IMG" | _filter_qemu_io
|
|||
|
||||
mv "$TEST_IMG" "$TEST_IMG.base"
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base" 6G
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 6G
|
||||
|
||||
echo
|
||||
echo "== Some concurrent requests touching the same cluster =="
|
||||
|
|
|
@ -66,7 +66,7 @@ wrote 65536/65536 bytes at offset 1966080
|
|||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 2031616
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=6442450944 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== Some concurrent requests touching the same cluster ==
|
||||
blkdebug: Suspended request 'A'
|
||||
|
|
|
@ -58,13 +58,13 @@ $QEMU_IO -c "write -P 0x5a 0 1048576" "$TEST_IMG" | _filter_qemu_io
|
|||
|
||||
TEST_IMG="$TEST_IMG_SAVE"
|
||||
|
||||
_make_test_img -b "$TEST_IMG.old" $size
|
||||
_make_test_img -b "$TEST_IMG.old" -F $IMGFMT $size
|
||||
$QEMU_IO -c "write -z 0 1048576" "$TEST_IMG" | _filter_qemu_io
|
||||
|
||||
echo
|
||||
echo "== Rebasing the image =="
|
||||
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.new" "$TEST_IMG"
|
||||
$QEMU_IMG rebase -b "$TEST_IMG.new" -F $IMGFMT "$TEST_IMG"
|
||||
$QEMU_IO -c "read -P 0x00 0 1048576" "$TEST_IMG" | _filter_qemu_io
|
||||
|
||||
# success, all done
|
||||
|
|
|
@ -7,7 +7,7 @@ wrote 1048576/1048576 bytes at offset 0
|
|||
Formatting 'TEST_DIR/t.IMGFMT.new', fmt=IMGFMT size=10485760
|
||||
wrote 1048576/1048576 bytes at offset 0
|
||||
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=10485760 backing_file=TEST_DIR/t.IMGFMT.old
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=10485760 backing_file=TEST_DIR/t.IMGFMT.old backing_fmt=IMGFMT
|
||||
wrote 1048576/1048576 bytes at offset 0
|
||||
1 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
||||
|
|
|
@ -70,7 +70,7 @@ device_id="drive0"
|
|||
_make_test_img $size
|
||||
cp "$TEST_IMG" "$TEST_IMG.orig"
|
||||
mv "$TEST_IMG" "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" $size
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $size
|
||||
|
||||
echo
|
||||
echo === Unknown option ===
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
QA output created by 051
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
=== Unknown option ===
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
QA output created by 051
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
=== Unknown option ===
|
||||
|
||||
|
|
|
@ -54,7 +54,8 @@ class TestSyncModesNoneAndTop(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
create_image(backing_img, TestSyncModesNoneAndTop.image_len)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-o', 'backing_file=%s' % backing_img, test_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-o', 'backing_file=%s' % backing_img, '-F', 'raw', test_img)
|
||||
qemu_io('-c', 'write -P0x41 0 512', test_img)
|
||||
qemu_io('-c', 'write -P0xd5 1M 32k', test_img)
|
||||
qemu_io('-c', 'write -P0xdc 32M 124k', test_img)
|
||||
|
|
|
@ -160,7 +160,7 @@ TEST_IMG=$BACKING_IMG _make_test_img 1G
|
|||
|
||||
$QEMU_IO -c 'write 0k 64k' "$BACKING_IMG" | _filter_qemu_io
|
||||
|
||||
_make_test_img -b "$BACKING_IMG" 1G
|
||||
_make_test_img -b "$BACKING_IMG" -F $IMGFMT 1G
|
||||
# Write two clusters, the second one enforces creation of an L2 table after
|
||||
# the first data cluster.
|
||||
$QEMU_IO -c 'write 0k 64k' -c 'write 512M 64k' "$TEST_IMG" | _filter_qemu_io
|
||||
|
|
|
@ -101,7 +101,7 @@ read 512/512 bytes at offset 0
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=1073741824
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1073741824 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 536870912
|
||||
|
|
|
@ -224,7 +224,7 @@ echo "=== Testing zero expansion on backed image ==="
|
|||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img -o "compat=1.1" 64M
|
||||
$QEMU_IO -c "write -P 0x2a 0 128k" "$TEST_IMG.base" | _filter_qemu_io
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" 64M
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" -F $IMGFMT 64M
|
||||
$QEMU_IO -c "read -P 0x2a 0 128k" -c "write -z 0 64k" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
|
||||
_check_test_img
|
||||
|
@ -235,7 +235,7 @@ echo "=== Testing zero expansion on backed inactive clusters ==="
|
|||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img -o "compat=1.1" 64M
|
||||
$QEMU_IO -c "write -P 0x2a 0 128k" "$TEST_IMG.base" | _filter_qemu_io
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" 64M
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" -F $IMGFMT 64M
|
||||
$QEMU_IO -c "write -z 0 64k" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG snapshot -c foo "$TEST_IMG"
|
||||
$QEMU_IO -c "write -P 0x42 0 128k" "$TEST_IMG" | _filter_qemu_io
|
||||
|
@ -251,7 +251,7 @@ echo "=== Testing zero expansion on backed image with shared L2 table ==="
|
|||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img -o "compat=1.1" 64M
|
||||
$QEMU_IO -c "write -P 0x2a 0 128k" "$TEST_IMG.base" | _filter_qemu_io
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" 64M
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" -F $IMGFMT 64M
|
||||
$QEMU_IO -c "write -z 0 128k" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG snapshot -c foo "$TEST_IMG"
|
||||
$QEMU_IMG amend -o "compat=0.10" "$TEST_IMG"
|
||||
|
@ -274,7 +274,7 @@ echo
|
|||
echo "=== Testing progress report without snapshot ==="
|
||||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img -o "compat=1.1" 4G
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" 4G
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" -F $IMGFMT 4G
|
||||
$QEMU_IO -c "write -z 0 64k" \
|
||||
-c "write -z 1G 64k" \
|
||||
-c "write -z 2G 64k" \
|
||||
|
@ -286,7 +286,7 @@ echo
|
|||
echo "=== Testing progress report with snapshot ==="
|
||||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img -o "compat=1.1" 4G
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" 4G
|
||||
_make_test_img -o "compat=1.1" -b "$TEST_IMG.base" -F $IMGFMT 4G
|
||||
$QEMU_IO -c "write -z 0 64k" \
|
||||
-c "write -z 1G 64k" \
|
||||
-c "write -z 2G 64k" \
|
||||
|
|
|
@ -428,7 +428,7 @@ read 131072/131072 bytes at offset 0
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
read 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
|
@ -444,7 +444,7 @@ read 65536/65536 bytes at offset 65536
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
|
@ -463,7 +463,7 @@ read 65536/65536 bytes at offset 65536
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 131072/131072 bytes at offset 0
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
No errors were found on the image.
|
||||
|
@ -487,7 +487,7 @@ read 67108864/67108864 bytes at offset 0
|
|||
=== Testing progress report without snapshot ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=4294967296
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 1073741824
|
||||
|
@ -502,7 +502,7 @@ No errors were found on the image.
|
|||
=== Testing progress report with snapshot ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=4294967296
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=4294967296 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 65536/65536 bytes at offset 1073741824
|
||||
|
|
|
@ -46,7 +46,7 @@ echo
|
|||
echo "=== Creating an image with a backing file and deleting that file ==="
|
||||
echo
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $IMG_SIZE
|
||||
_make_test_img -b "$TEST_IMG.base" $IMG_SIZE
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $IMG_SIZE
|
||||
_rm_test_img "$TEST_IMG.base"
|
||||
# Just open the image and close it right again (this should print an error message)
|
||||
$QEMU_IO -c quit "$TEST_IMG" 2>&1 | _filter_testdir | _filter_imgfmt
|
||||
|
|
|
@ -3,6 +3,6 @@ QA output created by 069
|
|||
=== Creating an image with a backing file and deleting that file ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=131072
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=131072 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
qemu-io: can't open device TEST_DIR/t.IMGFMT: Could not open backing file: Could not open 'TEST_DIR/t.IMGFMT.base': No such file or directory
|
||||
*** done
|
||||
|
|
|
@ -52,7 +52,7 @@ echo "== creating backing file =="
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
$QEMU_IO -c "write -P 0xa5 0 $size" "$TEST_IMG.base" | _filter_qemu_io
|
||||
|
||||
echo
|
||||
|
|
|
@ -2,7 +2,7 @@ QA output created by 073
|
|||
|
||||
== creating backing file ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 134217728/134217728 bytes at offset 0
|
||||
128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
||||
|
|
|
@ -84,8 +84,10 @@ run_qemu_img create -f $IMGFMT -o cluster_size=4k -o help "$TEST_IMG" $size
|
|||
run_qemu_img create -f $IMGFMT -o cluster_size=4k -o \? "$TEST_IMG" $size
|
||||
|
||||
# Looks like a help option, but is part of the backing file name
|
||||
run_qemu_img create -f $IMGFMT -u -o backing_file="$TEST_IMG",,help "$TEST_IMG" $size
|
||||
run_qemu_img create -f $IMGFMT -u -o backing_file="$TEST_IMG",,\? "$TEST_IMG" $size
|
||||
run_qemu_img create -f $IMGFMT -u -o backing_file="$TEST_IMG",,help \
|
||||
-F $IMGFMT "$TEST_IMG" $size
|
||||
run_qemu_img create -f $IMGFMT -u -o backing_file="$TEST_IMG",,\? \
|
||||
-F $IMGFMT "$TEST_IMG" $size
|
||||
|
||||
# Try to trick qemu-img into creating escaped commas
|
||||
run_qemu_img create -f $IMGFMT -o backing_file="$TEST_IMG", -o help "$TEST_IMG" $size
|
||||
|
@ -141,8 +143,8 @@ run_qemu_img convert -O $IMGFMT -o cluster_size=4k -o help "$TEST_IMG" "$TEST_IM
|
|||
run_qemu_img convert -O $IMGFMT -o cluster_size=4k -o \? "$TEST_IMG" "$TEST_IMG".base
|
||||
|
||||
# Looks like a help option, but is part of the backing file name
|
||||
run_qemu_img convert -O $IMGFMT -o backing_file="$TEST_IMG",,help "$TEST_IMG" "$TEST_IMG".base
|
||||
run_qemu_img convert -O $IMGFMT -o backing_file="$TEST_IMG",,\? "$TEST_IMG" "$TEST_IMG".base
|
||||
run_qemu_img convert -O $IMGFMT -o backing_fmt=$IMGFMT,backing_file="$TEST_IMG",,help "$TEST_IMG" "$TEST_IMG".base
|
||||
run_qemu_img convert -O $IMGFMT -o backing_fmt=$IMGFMT,backing_file="$TEST_IMG",,\? "$TEST_IMG" "$TEST_IMG".base
|
||||
|
||||
# Try to trick qemu-img into creating escaped commas
|
||||
run_qemu_img convert -O $IMGFMT -o backing_file="$TEST_IMG", -o help "$TEST_IMG" "$TEST_IMG".base
|
||||
|
|
|
@ -244,11 +244,11 @@ Supported options:
|
|||
refcount_bits=<num> - Width of a reference count entry in bits
|
||||
size=<size> - Virtual disk size
|
||||
|
||||
Testing: create -f qcow2 -u -o backing_file=TEST_DIR/t.qcow2,,help TEST_DIR/t.qcow2 128M
|
||||
Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 compression_type=zlib size=134217728 backing_file=TEST_DIR/t.qcow2,,help lazy_refcounts=off refcount_bits=16
|
||||
Testing: create -f qcow2 -u -o backing_file=TEST_DIR/t.qcow2,,help -F qcow2 TEST_DIR/t.qcow2 128M
|
||||
Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 compression_type=zlib size=134217728 backing_file=TEST_DIR/t.qcow2,,help backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
|
||||
|
||||
Testing: create -f qcow2 -u -o backing_file=TEST_DIR/t.qcow2,,? TEST_DIR/t.qcow2 128M
|
||||
Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 compression_type=zlib size=134217728 backing_file=TEST_DIR/t.qcow2,,? lazy_refcounts=off refcount_bits=16
|
||||
Testing: create -f qcow2 -u -o backing_file=TEST_DIR/t.qcow2,,? -F qcow2 TEST_DIR/t.qcow2 128M
|
||||
Formatting 'TEST_DIR/t.qcow2', fmt=qcow2 cluster_size=65536 compression_type=zlib size=134217728 backing_file=TEST_DIR/t.qcow2,,? backing_fmt=qcow2 lazy_refcounts=off refcount_bits=16
|
||||
|
||||
Testing: create -f qcow2 -o backing_file=TEST_DIR/t.qcow2, -o help TEST_DIR/t.qcow2 128M
|
||||
qemu-img: Invalid option list: backing_file=TEST_DIR/t.qcow2,
|
||||
|
@ -543,10 +543,10 @@ Supported options:
|
|||
refcount_bits=<num> - Width of a reference count entry in bits
|
||||
size=<size> - Virtual disk size
|
||||
|
||||
Testing: convert -O qcow2 -o backing_file=TEST_DIR/t.qcow2,,help TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.base
|
||||
Testing: convert -O qcow2 -o backing_fmt=qcow2,backing_file=TEST_DIR/t.qcow2,,help TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.base
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2.base': Could not open backing file: Could not open 'TEST_DIR/t.qcow2,help': No such file or directory
|
||||
|
||||
Testing: convert -O qcow2 -o backing_file=TEST_DIR/t.qcow2,,? TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.base
|
||||
Testing: convert -O qcow2 -o backing_fmt=qcow2,backing_file=TEST_DIR/t.qcow2,,? TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.base
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2.base': Could not open backing file: Could not open 'TEST_DIR/t.qcow2,?': No such file or directory
|
||||
|
||||
Testing: convert -O qcow2 -o backing_file=TEST_DIR/t.qcow2, -o help TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.base
|
||||
|
|
|
@ -106,7 +106,7 @@ add_snapshot_image()
|
|||
{
|
||||
base_image="${TEST_DIR}/$((${1}-1))-${snapshot_virt0}"
|
||||
snapshot_file="${TEST_DIR}/${1}-${snapshot_virt0}"
|
||||
TEST_IMG=$snapshot_file _make_test_img -u -b "${base_image}" "$size"
|
||||
TEST_IMG=$snapshot_file _make_test_img -u -b "${base_image}" -F $IMGFMT "$size"
|
||||
do_blockdev_add "$1" "'backing': null, " "${snapshot_file}"
|
||||
}
|
||||
|
||||
|
@ -225,7 +225,7 @@ echo
|
|||
SNAPSHOTS=$((${SNAPSHOTS}+1))
|
||||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img "$size"
|
||||
_make_test_img -b "${TEST_IMG}.base" "$size"
|
||||
_make_test_img -b "${TEST_IMG}.base" -F $IMGFMT "$size"
|
||||
do_blockdev_add ${SNAPSHOTS} "" "${TEST_IMG}"
|
||||
blockdev_snapshot ${SNAPSHOTS} error
|
||||
|
||||
|
|
|
@ -68,12 +68,12 @@ Formatting 'TEST_DIR/10-snapshot-v1.qcow2', fmt=qcow2 cluster_size=65536 compres
|
|||
|
||||
=== Create a couple of snapshots using blockdev-snapshot ===
|
||||
|
||||
Formatting 'TEST_DIR/11-snapshot-v0.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/10-snapshot-v0.IMGFMT
|
||||
Formatting 'TEST_DIR/11-snapshot-v0.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/10-snapshot-v0.IMGFMT backing_fmt=IMGFMT
|
||||
{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name': 'snap_11', 'backing': null, 'file': { 'driver': 'file', 'filename': 'TEST_DIR/11-snapshot-v0.IMGFMT', 'node-name': 'file_11' } } }
|
||||
{"return": {}}
|
||||
{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overlay':'snap_11' } }
|
||||
{"return": {}}
|
||||
Formatting 'TEST_DIR/12-snapshot-v0.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/11-snapshot-v0.IMGFMT
|
||||
Formatting 'TEST_DIR/12-snapshot-v0.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/11-snapshot-v0.IMGFMT backing_fmt=IMGFMT
|
||||
{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name': 'snap_12', 'backing': null, 'file': { 'driver': 'file', 'filename': 'TEST_DIR/12-snapshot-v0.IMGFMT', 'node-name': 'file_12' } } }
|
||||
{"return": {}}
|
||||
{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overlay':'snap_12' } }
|
||||
|
@ -101,7 +101,7 @@ Formatting 'TEST_DIR/12-snapshot-v0.IMGFMT', fmt=IMGFMT size=134217728 backing_f
|
|||
=== Invalid command - snapshot node has a backing image ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
{ 'execute': 'blockdev-add', 'arguments': { 'driver': 'IMGFMT', 'node-name': 'snap_13', 'file': { 'driver': 'file', 'filename': 'TEST_DIR/t.IMGFMT', 'node-name': 'file_13' } } }
|
||||
{"return": {}}
|
||||
{ 'execute': 'blockdev-snapshot', 'arguments': { 'node': 'virtio0', 'overlay':'snap_13' } }
|
||||
|
|
|
@ -84,7 +84,7 @@ echo
|
|||
echo "=== Testing correct handling of 'backing':null ==="
|
||||
echo
|
||||
|
||||
_make_test_img -b "$TEST_IMG.base" $IMG_SIZE
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $IMG_SIZE
|
||||
|
||||
# This should read 42
|
||||
$QEMU_IO -c 'read -P 42 0 512' "$TEST_IMG" | _filter_qemu_io
|
||||
|
|
|
@ -21,7 +21,7 @@ read 512/512 bytes at offset 0
|
|||
|
||||
=== Testing correct handling of 'backing':null ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
read 512/512 bytes at offset 0
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
read 512/512 bytes at offset 0
|
||||
|
|
|
@ -51,9 +51,9 @@ size_larger=100M
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size_smaller
|
||||
|
||||
TEST_IMG="$TEST_IMG.snp1" _make_test_img -b "$TEST_IMG.base" $size_larger
|
||||
TEST_IMG="$TEST_IMG.snp1" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT $size_larger
|
||||
|
||||
_make_test_img -b "${TEST_IMG}.snp1" $size_larger
|
||||
_make_test_img -b "${TEST_IMG}.snp1" -F $IMGFMT $size_larger
|
||||
|
||||
echo
|
||||
echo "=== Base image info before commit and resize ==="
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 095
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=5242880
|
||||
Formatting 'TEST_DIR/t.IMGFMT.snp1', fmt=IMGFMT size=104857600 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=104857600 backing_file=TEST_DIR/t.IMGFMT.snp1
|
||||
Formatting 'TEST_DIR/t.IMGFMT.snp1', fmt=IMGFMT size=104857600 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=104857600 backing_file=TEST_DIR/t.IMGFMT.snp1 backing_fmt=IMGFMT
|
||||
|
||||
=== Base image info before commit and resize ===
|
||||
image: TEST_DIR/t.IMGFMT.base
|
||||
|
|
|
@ -67,8 +67,8 @@ echo
|
|||
|
||||
len=$((2100 * 1024 * 1024 + 512)) # larger than 2G, and not cluster aligned
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $len
|
||||
TEST_IMG="$TEST_IMG.itmd" _make_test_img -b "$TEST_IMG.base" $len
|
||||
_make_test_img -b "$TEST_IMG.itmd" $len
|
||||
TEST_IMG="$TEST_IMG.itmd" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT $len
|
||||
_make_test_img -b "$TEST_IMG.itmd" -F $IMGFMT $len
|
||||
|
||||
$QEMU_IO -c "write -P 1 0x7ffd0000 192k" "$TEST_IMG.base" | _filter_qemu_io
|
||||
$QEMU_IO -c "write -P 2 0x7ffe0000 128k" "$TEST_IMG.itmd" | _filter_qemu_io
|
||||
|
|
|
@ -3,8 +3,8 @@ QA output created by 097
|
|||
=== Test pass 0 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -40,8 +40,8 @@ Offset Length File
|
|||
=== Test pass 1 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -78,8 +78,8 @@ Offset Length File
|
|||
=== Test pass 2 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -116,8 +116,8 @@ Offset Length File
|
|||
=== Test pass 3 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
|
|
@ -52,7 +52,7 @@ echo "=== $event ==="
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img 64M
|
||||
_make_test_img -b "$TEST_IMG.base" 64M
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT 64M
|
||||
|
||||
# Some data that can be leaked when emptying the top image
|
||||
$QEMU_IO -c 'write 0 64k' "$TEST_IMG" | _filter_qemu_io
|
||||
|
|
|
@ -3,7 +3,7 @@ QA output created by 098
|
|||
=== l1_update ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
qemu-img: Failed to empty blkdebug:TEST_DIR/blkdebug.conf:TEST_DIR/t.IMGFMT: Input/output error
|
||||
|
@ -12,7 +12,7 @@ No errors were found on the image.
|
|||
=== empty_image_prepare ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
qemu-img: Failed to empty blkdebug:TEST_DIR/blkdebug.conf:TEST_DIR/t.IMGFMT: Input/output error
|
||||
|
@ -25,7 +25,7 @@ No errors were found on the image.
|
|||
=== reftable_update ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
qemu-img: Failed to empty blkdebug:TEST_DIR/blkdebug.conf:TEST_DIR/t.IMGFMT: Input/output error
|
||||
|
@ -39,7 +39,7 @@ No errors were found on the image.
|
|||
=== refblock_alloc ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 0
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
qemu-img: Failed to empty blkdebug:TEST_DIR/blkdebug.conf:TEST_DIR/t.IMGFMT: Input/output error
|
||||
|
|
|
@ -50,7 +50,7 @@ echo '=== Reconstructable filename ==='
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img 64M
|
||||
_make_test_img -b "$TEST_IMG_REL.base" 64M
|
||||
_make_test_img -b "$TEST_IMG_REL.base" -F $IMGFMT 64M
|
||||
# qemu should be able to reconstruct the filename, so relative backing names
|
||||
# should work
|
||||
# (We have to filter the backing file format because vmdk always
|
||||
|
@ -91,7 +91,7 @@ echo '=== Backing name is always relative to the backed image ==='
|
|||
echo
|
||||
|
||||
# omit the image size; it should work anyway
|
||||
_make_test_img -b "$TEST_IMG_REL.base"
|
||||
_make_test_img -b "$TEST_IMG_REL.base" -F $IMGFMT
|
||||
|
||||
echo
|
||||
echo '=== Nodes without a common directory ==='
|
||||
|
|
|
@ -3,7 +3,7 @@ QA output created by 110
|
|||
=== Reconstructable filename ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=t.IMGFMT.base backing_fmt=IMGFMT
|
||||
image: TEST_DIR/t.IMGFMT
|
||||
file format: IMGFMT
|
||||
virtual size: 64 MiB (67108864 bytes)
|
||||
|
@ -18,7 +18,7 @@ backing file: t.IMGFMT.base (actual path: TEST_DIR/t.IMGFMT.base)
|
|||
|
||||
=== Backing name is always relative to the backed image ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
=== Nodes without a common directory ===
|
||||
|
||||
|
|
|
@ -52,9 +52,10 @@ echo
|
|||
echo "=== Check allocation status regression with -B ==="
|
||||
echo
|
||||
|
||||
_make_test_img -b "$TEST_IMG".base
|
||||
_make_test_img -b "$TEST_IMG".base -F $IMGFMT
|
||||
$QEMU_IO -c "write -P 0x22 0 3M" "$TEST_IMG" 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base \
|
||||
-o backing_fmt=$IMGFMT "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG map "$TEST_IMG".orig | _filter_qemu_img_map
|
||||
|
||||
|
||||
|
@ -62,18 +63,22 @@ echo
|
|||
echo "=== Check that zero clusters are kept in overlay ==="
|
||||
echo
|
||||
|
||||
_make_test_img -b "$TEST_IMG".base
|
||||
_make_test_img -b "$TEST_IMG".base -F $IMGFMT
|
||||
|
||||
$QEMU_IO -c "write -P 0 0 3M" "$TEST_IMG" 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base -o backing_fmt=$IMGFMT \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IO -c "read -P 0 0 3M" "$TEST_IMG".orig 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
$QEMU_IMG convert -O $IMGFMT -c -B "$TEST_IMG".base "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG convert -O $IMGFMT -c -B "$TEST_IMG".base -o backing_fmt=$IMGFMT \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IO -c "read -P 0 0 3M" "$TEST_IMG".orig 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
|
||||
$QEMU_IO -c "write -z 0 3M" "$TEST_IMG" 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base -o backing_fmt=$IMGFMT \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IO -c "read -P 0 0 3M" "$TEST_IMG".orig 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
$QEMU_IMG convert -O $IMGFMT -c -B "$TEST_IMG".base "$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IMG convert -O $IMGFMT -c -B "$TEST_IMG".base -o backing_fmt=$IMGFMT \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
$QEMU_IO -c "read -P 0 0 3M" "$TEST_IMG".orig 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
|
||||
|
||||
|
@ -94,11 +99,11 @@ TEST_IMG="$TEST_IMG".base _make_test_img 256M
|
|||
# We do not want such a zero write, however, because we are past the
|
||||
# end of the backing file on the target as well, so we do not need to
|
||||
# write anything there.
|
||||
_make_test_img -b "$TEST_IMG".base 768M
|
||||
_make_test_img -b "$TEST_IMG".base 768M -F $IMGFMT
|
||||
|
||||
# Use compat=0.10 as the output so there is no zero cluster support
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base -o compat=0.10 \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
-o backing_fmt=$IMGFMT "$TEST_IMG" "$TEST_IMG".orig
|
||||
# See that nothing has been allocated past 64M
|
||||
$QEMU_IMG map "$TEST_IMG".orig | _filter_qemu_img_map
|
||||
|
||||
|
@ -110,7 +115,7 @@ $QEMU_IO -c 'write -P 0x11 255M 1M' "$TEST_IMG".base 2>&1 | _filter_qemu_io
|
|||
$QEMU_IO -c 'write -P 0x22 600M 1M' "$TEST_IMG" 2>&1 | _filter_qemu_io
|
||||
|
||||
$QEMU_IMG convert -O $IMGFMT -B "$TEST_IMG".base -o compat=0.10 \
|
||||
"$TEST_IMG" "$TEST_IMG".orig
|
||||
-o backing_fmt=$IMGFMT "$TEST_IMG" "$TEST_IMG".orig
|
||||
|
||||
$QEMU_IMG map "$TEST_IMG".orig | _filter_qemu_img_map
|
||||
$QEMU_IO -c 'read -P 0x11 255M 1M' \
|
||||
|
@ -199,7 +204,7 @@ $QEMU_IMG map --output=json "$TEST_IMG".orig | _filter_qemu_img_map
|
|||
TEST_IMG="$TEST_IMG".base _make_test_img 64M
|
||||
$QEMU_IO -c "write -P 0x11 0 32M" "$TEST_IMG".base 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
|
||||
_make_test_img -b "$TEST_IMG".base 64M
|
||||
_make_test_img -b "$TEST_IMG".base 64M -F $IMGFMT
|
||||
$QEMU_IO -c "write -P 0x22 0 3M" "$TEST_IMG" 2>&1 | _filter_qemu_io | _filter_testdir
|
||||
|
||||
echo
|
||||
|
|
|
@ -5,7 +5,7 @@ wrote 67108864/67108864 bytes at offset 0
|
|||
|
||||
=== Check allocation status regression with -B ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 3145728/3145728 bytes at offset 0
|
||||
3 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Offset Length File
|
||||
|
@ -14,7 +14,7 @@ Offset Length File
|
|||
|
||||
=== Check that zero clusters are kept in overlay ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 3145728/3145728 bytes at offset 0
|
||||
3 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
read 3145728/3145728 bytes at offset 0
|
||||
|
@ -31,7 +31,7 @@ read 3145728/3145728 bytes at offset 0
|
|||
=== Converting to an overlay larger than its backing file ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=268435456
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=805306368 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=805306368 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Offset Length File
|
||||
|
||||
wrote 1048576/1048576 bytes at offset 267386880
|
||||
|
@ -141,7 +141,7 @@ read 63963136/63963136 bytes at offset 3145728
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
wrote 33554432/33554432 bytes at offset 0
|
||||
32 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 3145728/3145728 bytes at offset 0
|
||||
3 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ BASE_IMG="$TEST_DIR/image:base.$IMGFMT"
|
|||
TOP_IMG="$TEST_DIR/image:top.$IMGFMT"
|
||||
|
||||
TEST_IMG=$BASE_IMG _make_test_img 64M
|
||||
TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT
|
||||
TEST_IMG=$TOP_IMG _make_test_img -b ./image:base.$IMGFMT -F $IMGFMT
|
||||
|
||||
# (1) The default cluster size depends on the image format
|
||||
# (2) vmdk only supports vmdk backing files, so it always reports the
|
||||
|
@ -82,7 +82,7 @@ BASE_IMG="base.$IMGFMT"
|
|||
TOP_IMG="file:image:top.$IMGFMT"
|
||||
|
||||
TEST_IMG=$BASE_IMG _make_test_img 64M
|
||||
TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG"
|
||||
TEST_IMG=$TOP_IMG _make_test_img -b "$BASE_IMG" -F $IMGFMT
|
||||
|
||||
TEST_IMG=$TOP_IMG _img_info | grep -ve 'cluster_size' -e 'backing file format'
|
||||
|
||||
|
|
|
@ -8,14 +8,14 @@ Formatting 'file:TEST_DIR/a:b.IMGFMT', fmt=IMGFMT size=67108864
|
|||
=== Testing relative backing filename resolution ===
|
||||
|
||||
Formatting 'TEST_DIR/image:base.IMGFMT', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/image:top.IMGFMT', fmt=IMGFMT size=67108864 backing_file=./image:base.IMGFMT
|
||||
Formatting 'TEST_DIR/image:top.IMGFMT', fmt=IMGFMT size=67108864 backing_file=./image:base.IMGFMT backing_fmt=IMGFMT
|
||||
image: TEST_DIR/image:top.IMGFMT
|
||||
file format: IMGFMT
|
||||
virtual size: 64 MiB (67108864 bytes)
|
||||
backing file: ./image:base.IMGFMT (actual path: TEST_DIR/./image:base.IMGFMT)
|
||||
|
||||
Formatting 'base.IMGFMT', fmt=IMGFMT size=67108864
|
||||
Formatting 'file:image:top.IMGFMT', fmt=IMGFMT size=67108864 backing_file=base.IMGFMT
|
||||
Formatting 'file:image:top.IMGFMT', fmt=IMGFMT size=67108864 backing_file=base.IMGFMT backing_fmt=IMGFMT
|
||||
image: ./image:top.IMGFMT
|
||||
file format: IMGFMT
|
||||
virtual size: 64 MiB (67108864 bytes)
|
||||
|
|
|
@ -48,8 +48,8 @@ _require_devices virtio-scsi scsi-hd
|
|||
IMG_SIZE=64K
|
||||
|
||||
_make_test_img $IMG_SIZE
|
||||
TEST_IMG="$TEST_IMG.overlay0" _make_test_img -b "$TEST_IMG" $IMG_SIZE
|
||||
TEST_IMG="$TEST_IMG.overlay1" _make_test_img -b "$TEST_IMG" $IMG_SIZE
|
||||
TEST_IMG="$TEST_IMG.overlay0" _make_test_img -b "$TEST_IMG" -F $IMGFMT $IMG_SIZE
|
||||
TEST_IMG="$TEST_IMG.overlay1" _make_test_img -b "$TEST_IMG" -F $IMGFMT $IMG_SIZE
|
||||
|
||||
# So that we actually have something to mirror and the job does not return
|
||||
# immediately (which may be bad because then we cannot know whether the
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 127
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=65536
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay0', fmt=IMGFMT size=65536 backing_file=TEST_DIR/t.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay1', fmt=IMGFMT size=65536 backing_file=TEST_DIR/t.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay0', fmt=IMGFMT size=65536 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay1', fmt=IMGFMT size=65536 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
||||
wrote 42/42 bytes at offset 0
|
||||
42 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
{ 'execute': 'qmp_capabilities' }
|
||||
|
|
|
@ -29,7 +29,8 @@ class TestStopWithBlockJob(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
iotests.qemu_img('create', '-f', iotests.imgfmt, self.base_img, "1G")
|
||||
iotests.qemu_img('create', '-f', iotests.imgfmt, self.test_img, "-b", self.base_img)
|
||||
iotests.qemu_img('create', '-f', iotests.imgfmt, self.test_img,
|
||||
"-b", self.base_img, '-F', iotests.imgfmt)
|
||||
iotests.qemu_io('-f', iotests.imgfmt, '-c', 'write -P0x5d 1M 128M', self.test_img)
|
||||
self.vm = iotests.VM().add_drive(self.test_img)
|
||||
self.vm.launch()
|
||||
|
|
|
@ -40,7 +40,7 @@ _supported_fmt qcow2
|
|||
_supported_proto file
|
||||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img 64M
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
echo
|
||||
echo "=== Check that node-name can't be changed ==="
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
QA output created by 133
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
=== Check that node-name can't be changed ===
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ class TestBlockdevDel(iotests.QMPTestCase):
|
|||
def addBlockDriverStateOverlay(self, node):
|
||||
self.checkBlockDriverState(node, False)
|
||||
iotests.qemu_img('create', '-u', '-f', iotests.imgfmt,
|
||||
'-b', base_img, new_img, '1M')
|
||||
'-b', base_img, '-F', iotests.imgfmt, new_img, '1M')
|
||||
opts = {'driver': iotests.imgfmt,
|
||||
'node-name': node,
|
||||
'backing': None,
|
||||
|
|
|
@ -89,8 +89,8 @@ test_blockjob()
|
|||
|
||||
|
||||
TEST_IMG="$TEST_DIR/b.$IMGFMT" _make_test_img 1M
|
||||
TEST_IMG="$TEST_DIR/m.$IMGFMT" _make_test_img -b "$TEST_DIR/b.$IMGFMT" 1M
|
||||
_make_test_img -b "$TEST_DIR/m.$IMGFMT" 1M
|
||||
TEST_IMG="$TEST_DIR/m.$IMGFMT" _make_test_img -b "$TEST_DIR/b.$IMGFMT" -F $IMGFMT 1M
|
||||
_make_test_img -b "$TEST_DIR/m.$IMGFMT" 1M -F $IMGFMT
|
||||
|
||||
_launch_qemu -nodefaults
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 141
|
||||
Formatting 'TEST_DIR/b.IMGFMT', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/m.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/b.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/m.IMGFMT
|
||||
Formatting 'TEST_DIR/m.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/b.IMGFMT backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/m.IMGFMT backing_fmt=IMGFMT
|
||||
{'execute': 'qmp_capabilities'}
|
||||
{"return": {}}
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ size=128M
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
TEST_IMG="$TEST_IMG.snap" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base" $size
|
||||
_make_test_img -b "$TEST_IMG.base" $size -F $IMGFMT
|
||||
|
||||
echo
|
||||
echo === Simple test for all cache modes ===
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 142
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT.snap', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
=== Simple test for all cache modes ===
|
||||
|
||||
|
|
|
@ -94,7 +94,7 @@ for opts1 in "" "read-only=on" "read-only=on,force-share=on"; do
|
|||
|
||||
echo
|
||||
echo "== Creating test image =="
|
||||
_make_test_img -b "${TEST_IMG}.base"
|
||||
_make_test_img -b "${TEST_IMG}.base" -F $IMGFMT
|
||||
|
||||
echo
|
||||
echo "== Launching QEMU, opts: '$opts1' =="
|
||||
|
@ -125,7 +125,7 @@ for opts1 in "" "read-only=on" "read-only=on,force-share=on"; do
|
|||
_run_cmd $QEMU_IMG amend -o "size=$size" $L "${TEST_IMG}"
|
||||
_run_cmd $QEMU_IMG commit $L "${TEST_IMG}"
|
||||
_run_cmd $QEMU_IMG resize $L "${TEST_IMG}" $size
|
||||
_run_cmd $QEMU_IMG rebase $L "${TEST_IMG}" -b "${TEST_IMG}.base"
|
||||
_run_cmd $QEMU_IMG rebase $L "${TEST_IMG}" -b "${TEST_IMG}.base" -F $IMGFMT
|
||||
_run_cmd $QEMU_IMG snapshot -l $L "${TEST_IMG}"
|
||||
_run_cmd $QEMU_IMG convert $L "${TEST_IMG}" "${TEST_IMG}.convert"
|
||||
_run_cmd $QEMU_IMG dd $L if="${TEST_IMG}" of="${TEST_IMG}.convert" bs=512 count=1
|
||||
|
@ -135,7 +135,7 @@ for opts1 in "" "read-only=on" "read-only=on,force-share=on"; do
|
|||
# qemu-img create does not support -U
|
||||
if [ -z "$L" ]; then
|
||||
_run_cmd $QEMU_IMG create -f $IMGFMT "${TEST_IMG}" \
|
||||
-b ${TEST_IMG}.base
|
||||
-b ${TEST_IMG}.base -F $IMGFMT
|
||||
# Read the file format. It used to be the case that
|
||||
# file-posix simply truncated the file, but the qcow2
|
||||
# driver then failed to format it because it was unable
|
||||
|
@ -167,9 +167,9 @@ done
|
|||
|
||||
echo
|
||||
echo "== Creating ${TEST_IMG}.[abc] ==" | _filter_testdir
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.a" -b "${TEST_IMG}" | _filter_img_create
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.b" -b "${TEST_IMG}" | _filter_img_create
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.c" -b "${TEST_IMG}.b" \
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.a" -b "${TEST_IMG}" -F $IMGFMT | _filter_img_create
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.b" -b "${TEST_IMG}" -F $IMGFMT | _filter_img_create
|
||||
$QEMU_IMG create -f qcow2 "${TEST_IMG}.c" -b "${TEST_IMG}.b" -F $IMGFMT \
|
||||
| _filter_img_create
|
||||
|
||||
echo
|
||||
|
@ -218,7 +218,7 @@ _send_qemu_cmd $QEMU_HANDLE \
|
|||
_run_cmd $QEMU_IO "${TEST_IMG}" -c 'write 0 512'
|
||||
|
||||
echo "Creating overlay with qemu-img when the guest is running should be allowed"
|
||||
_run_cmd $QEMU_IMG create -f $IMGFMT -b "${TEST_IMG}" "${TEST_IMG}.overlay"
|
||||
_run_cmd $QEMU_IMG create -f $IMGFMT -b "${TEST_IMG}" -F $IMGFMT "${TEST_IMG}.overlay"
|
||||
|
||||
echo "== Closing an image should unlock it =="
|
||||
_send_qemu_cmd $QEMU_HANDLE \
|
||||
|
|
|
@ -6,7 +6,7 @@ QEMU_PROG: -drive if=none,file=null-co://,readonly=off,force-share=on: force-sha
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432
|
||||
|
||||
== Creating test image ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== Launching QEMU, opts: '' ==
|
||||
|
||||
|
@ -68,7 +68,7 @@ _qemu_img_wrapper resize TEST_DIR/t.qcow2 32M
|
|||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
|
@ -92,10 +92,11 @@ _qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2
|
|||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
file format: IMGFMT
|
||||
backing file format: IMGFMT
|
||||
|
||||
== Running utility commands -U ==
|
||||
|
||||
|
@ -130,7 +131,7 @@ _qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
|
|||
qemu-img: unrecognized option '-U'
|
||||
Try 'qemu-img --help' for more information
|
||||
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
|
@ -152,7 +153,7 @@ Round done
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432
|
||||
|
||||
== Creating test image ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== Launching QEMU, opts: 'read-only=on' ==
|
||||
|
||||
|
@ -199,7 +200,7 @@ _qemu_img_wrapper resize TEST_DIR/t.qcow2 32M
|
|||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
|
@ -215,10 +216,11 @@ _qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2
|
|||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: TEST_DIR/t.qcow2: Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
file format: IMGFMT
|
||||
backing file format: IMGFMT
|
||||
|
||||
== Running utility commands -U ==
|
||||
|
||||
|
@ -253,7 +255,7 @@ _qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
|
|||
qemu-img: unrecognized option '-U'
|
||||
Try 'qemu-img --help' for more information
|
||||
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
qemu-img: Could not open 'TEST_DIR/t.qcow2': Failed to get "write" lock
|
||||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
|
||||
|
@ -275,7 +277,7 @@ Round done
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=33554432
|
||||
|
||||
== Creating test image ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== Launching QEMU, opts: 'read-only=on,force-share=on' ==
|
||||
|
||||
|
@ -309,7 +311,7 @@ _qemu_img_wrapper commit TEST_DIR/t.qcow2
|
|||
|
||||
_qemu_img_wrapper resize TEST_DIR/t.qcow2 32M
|
||||
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
|
||||
_qemu_img_wrapper snapshot -l TEST_DIR/t.qcow2
|
||||
|
||||
|
@ -321,8 +323,9 @@ _qemu_img_wrapper bench -c 1 TEST_DIR/t.qcow2
|
|||
|
||||
_qemu_img_wrapper bench -w -c 1 TEST_DIR/t.qcow2
|
||||
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper create -f qcow2 TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
file format: IMGFMT
|
||||
backing file format: IMGFMT
|
||||
|
||||
== Running utility commands -U ==
|
||||
|
||||
|
@ -357,7 +360,7 @@ _qemu_img_wrapper resize -U TEST_DIR/t.qcow2 32M
|
|||
qemu-img: unrecognized option '-U'
|
||||
Try 'qemu-img --help' for more information
|
||||
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base
|
||||
_qemu_img_wrapper rebase -U TEST_DIR/t.qcow2 -b TEST_DIR/t.qcow2.base -F qcow2
|
||||
|
||||
_qemu_img_wrapper snapshot -l -U TEST_DIR/t.qcow2
|
||||
|
||||
|
@ -398,9 +401,9 @@ Is another process using the image [TEST_DIR/t.qcow2]?
|
|||
== Two devices with the same image (read-only=on,force-share=on - read-only=on,force-share=on) ==
|
||||
|
||||
== Creating TEST_DIR/t.qcow2.[abc] ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.a', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.b', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.c', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.b
|
||||
Formatting 'TEST_DIR/t.IMGFMT.a', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.b', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.c', fmt=IMGFMT size=33554432 backing_file=TEST_DIR/t.IMGFMT.b backing_fmt=IMGFMT
|
||||
|
||||
== Two devices sharing the same file in backing chain ==
|
||||
|
||||
|
@ -430,7 +433,7 @@ qemu-io: can't open device TEST_DIR/t.qcow2: Failed to get "write" lock
|
|||
Is another process using the image [TEST_DIR/t.qcow2]?
|
||||
Creating overlay with qemu-img when the guest is running should be allowed
|
||||
|
||||
_qemu_img_wrapper create -f qcow2 -b TEST_DIR/t.qcow2 TEST_DIR/t.qcow2.overlay
|
||||
_qemu_img_wrapper create -f qcow2 -b TEST_DIR/t.qcow2 -F qcow2 TEST_DIR/t.qcow2.overlay
|
||||
== Closing an image should unlock it ==
|
||||
{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'drive_del d0' } }
|
||||
{"return": ""}
|
||||
|
|
|
@ -50,7 +50,7 @@ echo
|
|||
echo == backing file contains zeros ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Make sure that the whole cluster is allocated even for partial write_zeroes
|
||||
# when the backing file contains zeros
|
||||
|
@ -74,7 +74,7 @@ echo
|
|||
echo == backing file contains non-zero data before write_zeroes ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Single cluster; non-zero data at the cluster start
|
||||
# ... | XX -- 00 -- | ...
|
||||
|
@ -97,7 +97,7 @@ echo
|
|||
echo == backing file contains non-zero data after write_zeroes ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Single cluster; non-zero data directly after request
|
||||
# ... | -- 00 XX -- | ...
|
||||
|
@ -120,7 +120,7 @@ echo
|
|||
echo == write_zeroes covers non-zero data ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# non-zero data at front of request
|
||||
# Backing file: -- XX -- --
|
||||
|
@ -160,7 +160,7 @@ echo
|
|||
echo == spanning two clusters, non-zero before request ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Two clusters; non-zero data before request:
|
||||
# 1. At cluster start: 32k: XX -- -- 00 | 00 -- -- --
|
||||
|
@ -190,7 +190,7 @@ echo
|
|||
echo == spanning two clusters, non-zero after request ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Two clusters; non-zero data after request:
|
||||
# 1. Directly after request: 32k: -- -- -- 00 | 00 XX -- --
|
||||
|
@ -220,7 +220,7 @@ echo
|
|||
echo == spanning two clusters, partially overwriting backing file ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Backing file: -- -- XX XX | XX XX -- --
|
||||
# Active layer: -- -- XX 00 | 00 XX -- --
|
||||
|
@ -239,7 +239,7 @@ echo
|
|||
echo == spanning multiple clusters, non-zero in first cluster ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Backing file: 64k: XX XX -- -- | -- -- -- -- | -- -- -- --
|
||||
# Active layer: 64k: XX XX 00 00 | 00 00 00 00 | 00 -- -- --
|
||||
|
@ -255,7 +255,7 @@ echo
|
|||
echo == spanning multiple clusters, non-zero in intermediate cluster ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Backing file: 64k: -- -- -- -- | -- XX XX -- | -- -- -- --
|
||||
# Active layer: 64k: -- -- 00 00 | 00 00 00 00 | 00 -- -- --
|
||||
|
@ -270,7 +270,7 @@ echo
|
|||
echo == spanning multiple clusters, non-zero in final cluster ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Backing file: 64k: -- -- -- -- | -- -- -- -- | -- -- XX XX
|
||||
# Active layer: 64k: -- -- 00 00 | 00 00 00 00 | 00 -- XX XX
|
||||
|
@ -286,7 +286,7 @@ echo
|
|||
echo == spanning multiple clusters, partially overwriting backing file ==
|
||||
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Backing file: 64k: -- XX XX XX | XX XX XX XX | XX XX XX --
|
||||
# Active layer: 64k: -- XX 00 00 | 00 00 00 00 | 00 XX XX --
|
||||
|
@ -338,7 +338,7 @@ CLUSTER_SIZE=2048 TEST_IMG="$TEST_IMG.base" _make_test_img $((size + 1024))
|
|||
# Write at the front: sector-wise, the request is:
|
||||
# backing: 128m... | -- --
|
||||
# active: 128m... | 00 -- -- --
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $size 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -346,7 +346,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write at the back: sector-wise, the request is:
|
||||
# backing: 128m... | -- --
|
||||
# active: 128m... | -- -- -- 00
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $((size + 1536)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -354,7 +354,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write at middle: sector-wise, the request is:
|
||||
# backing: 128m... | -- --
|
||||
# active: 128m... | -- 00 00 --
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $((size + 512)) 1024" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -362,7 +362,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write entire cluster: sector-wise, the request is:
|
||||
# backing: 128m... | -- --
|
||||
# active: 128m... | 00 00 00 00
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -373,7 +373,7 @@ $QEMU_IO -c "write -z $size 512" "$TEST_IMG.base" | _filter_qemu_io
|
|||
# Write at the front: sector-wise, the request is:
|
||||
# backing: 128m... | 00 00
|
||||
# active: 128m... | 00 -- -- --
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $size 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -381,7 +381,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write at the back: sector-wise, the request is:
|
||||
# backing: 128m... | 00 00
|
||||
# active: 128m... | -- -- -- 00
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $((size + 1536)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -389,7 +389,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write at middle: sector-wise, the request is:
|
||||
# backing: 128m... | 00 00
|
||||
# active: 128m... | -- 00 00 --
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $((size + 512)) 1024" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -397,7 +397,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Write entire cluster: sector-wise, the request is:
|
||||
# backing: 128m... | 00 00
|
||||
# active: 128m... | 00 00 00 00
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -z $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "alloc $size 2048" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
||||
|
@ -427,7 +427,7 @@ echo == unaligned image tail cluster, allocation required ==
|
|||
# Backing file: 128m... | XX --
|
||||
# Active layer: 128m... | -- -- 00 --
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $((size + 1024))
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -P 1 $((size)) 512" "$TEST_IMG.base" | _filter_qemu_io
|
||||
$QEMU_IO -c "write -z $((size + 1024)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "read -P 1 $((size)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
|
@ -438,7 +438,7 @@ $QEMU_IMG map --output=json "$TEST_IMG" | _filter_qemu_img_map
|
|||
# Backing file: 128m: ... | -- XX
|
||||
# Active layer: 128m: ... | 00 -- -- 00
|
||||
CLUSTER_SIZE=512 TEST_IMG="$TEST_IMG.base" _make_test_img $((size + 1024))
|
||||
_make_test_img -b "$TEST_IMG.base" $((size + 2048))
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT $((size + 2048))
|
||||
$QEMU_IO -c "write -P 1 $((size + 512)) 512" "$TEST_IMG.base" | _filter_qemu_io
|
||||
$QEMU_IO -c "write -z $((size)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
$QEMU_IO -c "read -P 0 $((size)) 512" "$TEST_IMG" | _filter_qemu_io
|
||||
|
|
|
@ -2,7 +2,7 @@ QA output created by 154
|
|||
|
||||
== backing file contains zeros ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 0
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2048/2048 bytes at offset 10240
|
||||
|
@ -22,7 +22,7 @@ wrote 2048/2048 bytes at offset 27648
|
|||
|
||||
== backing file contains non-zero data before write_zeroes ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 32768
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 1024/1024 bytes at offset 34816
|
||||
|
@ -49,7 +49,7 @@ read 2048/2048 bytes at offset 67584
|
|||
|
||||
== backing file contains non-zero data after write_zeroes ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 34816
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 1024/1024 bytes at offset 33792
|
||||
|
@ -76,7 +76,7 @@ read 3072/3072 bytes at offset 40960
|
|||
|
||||
== write_zeroes covers non-zero data ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 5120
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2048/2048 bytes at offset 5120
|
||||
|
@ -113,7 +113,7 @@ read 4096/4096 bytes at offset 28672
|
|||
|
||||
== spanning two clusters, non-zero before request ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 32768
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2048/2048 bytes at offset 35840
|
||||
|
@ -155,7 +155,7 @@ read 5120/5120 bytes at offset 68608
|
|||
|
||||
== spanning two clusters, non-zero after request ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 37888
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2048/2048 bytes at offset 35840
|
||||
|
@ -197,7 +197,7 @@ read 1024/1024 bytes at offset 72704
|
|||
|
||||
== spanning two clusters, partially overwriting backing file ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 4096/4096 bytes at offset 2048
|
||||
4 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2048/2048 bytes at offset 3072
|
||||
|
@ -217,7 +217,7 @@ read 2048/2048 bytes at offset 6144
|
|||
|
||||
== spanning multiple clusters, non-zero in first cluster ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 65536
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 7168/7168 bytes at offset 67584
|
||||
|
@ -233,7 +233,7 @@ read 10240/10240 bytes at offset 67584
|
|||
|
||||
== spanning multiple clusters, non-zero in intermediate cluster ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 70656
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 7168/7168 bytes at offset 67584
|
||||
|
@ -246,7 +246,7 @@ read 12288/12288 bytes at offset 65536
|
|||
|
||||
== spanning multiple clusters, non-zero in final cluster ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 75776
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 7168/7168 bytes at offset 67584
|
||||
|
@ -262,7 +262,7 @@ read 2048/2048 bytes at offset 75776
|
|||
|
||||
== spanning multiple clusters, partially overwriting backing file ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 10240/10240 bytes at offset 66560
|
||||
10 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 7168/7168 bytes at offset 67584
|
||||
|
@ -305,25 +305,25 @@ wrote 2048/2048 bytes at offset 134217728
|
|||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134219776, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134218752
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134217728
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134219264
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 134218240
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 134217728
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
|
@ -331,25 +331,25 @@ wrote 2048/2048 bytes at offset 134217728
|
|||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
wrote 512/512 bytes at offset 134217728
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134217728
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134219264
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 1024/1024 bytes at offset 134218240
|
||||
1 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": true, "data": false}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2048/2048 bytes at offset 134217728
|
||||
2 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
2048/2048 bytes allocated at offset 128 MiB
|
||||
|
@ -377,7 +377,7 @@ read 1024/1024 bytes at offset 134217728
|
|||
|
||||
== unaligned image tail cluster, allocation required ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134218752
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134217728
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 512/512 bytes at offset 134218752
|
||||
|
@ -389,7 +389,7 @@ read 1536/1536 bytes at offset 134218240
|
|||
[{ "start": 0, "length": 134217728, "depth": 1, "zero": true, "data": false},
|
||||
{ "start": 134217728, "length": 2048, "depth": 0, "zero": false, "data": true, "offset": OFFSET}]
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134218752
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134219776 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 512/512 bytes at offset 134218240
|
||||
512 bytes, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 512/512 bytes at offset 134217728
|
||||
|
|
|
@ -60,9 +60,12 @@ class BaseClass(iotests.QMPTestCase):
|
|||
|
||||
def setUp(self):
|
||||
qemu_img('create', '-f', iotests.imgfmt, back0_img, '1440K')
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back0_img, back1_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back1_img, back2_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back2_img, source_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back0_img,
|
||||
'-F', iotests.imgfmt, back1_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back1_img,
|
||||
'-F', iotests.imgfmt, back2_img)
|
||||
qemu_img('create', '-f', iotests.imgfmt, '-b', back2_img,
|
||||
'-F', iotests.imgfmt, source_img)
|
||||
|
||||
self.vm = iotests.VM()
|
||||
# Add the BDS via blockdev-add so it stays around after the mirror block
|
||||
|
@ -89,7 +92,8 @@ class BaseClass(iotests.QMPTestCase):
|
|||
if self.existing:
|
||||
if self.target_backing:
|
||||
qemu_img('create', '-f', iotests.imgfmt,
|
||||
'-b', self.target_backing, target_img, '1440K')
|
||||
'-b', self.target_backing, '-F', 'raw',
|
||||
target_img, '1440K')
|
||||
else:
|
||||
qemu_img('create', '-f', iotests.imgfmt, target_img, '1440K')
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ _unsupported_imgopts data_file
|
|||
|
||||
# Create source disk
|
||||
TEST_IMG="$TEST_IMG.backing" _make_test_img 1M
|
||||
_make_test_img -b "$TEST_IMG.backing" 1M
|
||||
_make_test_img -b "$TEST_IMG.backing" -F $IMGFMT 1M
|
||||
|
||||
$QEMU_IO -c 'write -P 1 0 256k' "$TEST_IMG.backing" | _filter_qemu_io
|
||||
$QEMU_IO -c 'write -P 2 64k 192k' "$TEST_IMG" | _filter_qemu_io
|
||||
|
@ -68,7 +68,7 @@ _send_qemu_cmd $QEMU_HANDLE \
|
|||
'return'
|
||||
|
||||
# Create snapshot
|
||||
TEST_IMG="$TEST_IMG.overlay" _make_test_img -u -b "$TEST_IMG" 1M
|
||||
TEST_IMG="$TEST_IMG.overlay" _make_test_img -u -b "$TEST_IMG" -F $IMGFMT 1M
|
||||
_send_qemu_cmd $QEMU_HANDLE \
|
||||
"{ 'execute': 'blockdev-snapshot-sync',
|
||||
'arguments': { 'device': 'source',
|
||||
|
@ -85,7 +85,8 @@ _send_qemu_cmd $QEMU_HANDLE \
|
|||
'return'
|
||||
|
||||
# Create target image
|
||||
TEST_IMG="$TEST_IMG.target.overlay" _make_test_img -u -b "$TEST_IMG.target" 1M
|
||||
TEST_IMG="$TEST_IMG.target.overlay" _make_test_img -u -b "$TEST_IMG.target" \
|
||||
-F $IMGFMT 1M
|
||||
|
||||
# Mirror snapshot
|
||||
_send_qemu_cmd $QEMU_HANDLE \
|
||||
|
@ -111,7 +112,7 @@ _send_qemu_cmd $QEMU_HANDLE \
|
|||
# Copy source backing chain to the target before completing the job
|
||||
cp "$TEST_IMG.backing" "$TEST_IMG.target.backing"
|
||||
cp "$TEST_IMG" "$TEST_IMG.target"
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.target.backing" "$TEST_IMG.target"
|
||||
$QEMU_IMG rebase -u -b "$TEST_IMG.target.backing" -F $IMGFMT "$TEST_IMG.target"
|
||||
|
||||
# Complete block job
|
||||
_send_qemu_cmd $QEMU_HANDLE \
|
||||
|
|
|
@ -1,20 +1,20 @@
|
|||
QA output created by 156
|
||||
Formatting 'TEST_DIR/t.IMGFMT.backing', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.backing
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.backing backing_fmt=IMGFMT
|
||||
wrote 262144/262144 bytes at offset 0
|
||||
256 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 196608/196608 bytes at offset 65536
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
{ 'execute': 'qmp_capabilities' }
|
||||
{"return": {}}
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT backing_fmt=IMGFMT
|
||||
{ 'execute': 'blockdev-snapshot-sync', 'arguments': { 'device': 'source', 'snapshot-file': 'TEST_DIR/t.IMGFMT.overlay', 'format': 'IMGFMT', 'mode': 'existing' } }
|
||||
{"return": {}}
|
||||
{ 'execute': 'human-monitor-command', 'arguments': { 'command-line': 'qemu-io source "write -P 3 128k 128k"' } }
|
||||
wrote 131072/131072 bytes at offset 131072
|
||||
128 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
{"return": ""}
|
||||
Formatting 'TEST_DIR/t.IMGFMT.target.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.target
|
||||
Formatting 'TEST_DIR/t.IMGFMT.target.overlay', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.target backing_fmt=IMGFMT
|
||||
{ 'execute': 'drive-mirror', 'arguments': { 'device': 'source', 'target': 'TEST_DIR/t.IMGFMT.target.overlay', 'mode': 'existing', 'sync': 'top' } }
|
||||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "created", "id": "source"}}
|
||||
{"timestamp": {"seconds": TIMESTAMP, "microseconds": TIMESTAMP}, "event": "JOB_STATUS_CHANGE", "data": {"status": "running", "id": "source"}}
|
||||
|
|
|
@ -64,7 +64,7 @@ echo "== verify pattern =="
|
|||
$QEMU_IO --object $SECRET -c "read -P 0xa 0 $size" --image-opts $IMGSPECBASE | _filter_qemu_io | _filter_testdir
|
||||
|
||||
echo "== create overlay =="
|
||||
_make_test_img -u --object $SECRET -o "encryption=on,encrypt.key-secret=sec0" -b "$TEST_IMG_BASE" $size
|
||||
_make_test_img -u --object $SECRET -o "encryption=on,encrypt.key-secret=sec0" -b "$TEST_IMG_BASE" -F $IMGFMT $size
|
||||
|
||||
echo
|
||||
echo "== writing part of a cluster =="
|
||||
|
|
|
@ -10,7 +10,7 @@ wrote 134217728/134217728 bytes at offset 0
|
|||
read 134217728/134217728 bytes at offset 0
|
||||
128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
== create overlay ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base encryption=on
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT encryption=on
|
||||
|
||||
== writing part of a cluster ==
|
||||
wrote 1024/1024 bytes at offset 0
|
||||
|
|
|
@ -49,8 +49,8 @@ IMG_SIZE=1M
|
|||
|
||||
# Create the images
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $IMG_SIZE | _filter_imgfmt
|
||||
TEST_IMG="$TEST_IMG.int" _make_test_img -b "$TEST_IMG.base" | _filter_imgfmt
|
||||
_make_test_img -b "$TEST_IMG.int" | _filter_imgfmt
|
||||
TEST_IMG="$TEST_IMG.int" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT | _filter_imgfmt
|
||||
_make_test_img -b "$TEST_IMG.int" -F $IMGFMT -F $IMGFMT | _filter_imgfmt
|
||||
|
||||
# First test: reopen $TEST.IMG changing the detect-zeroes option on
|
||||
# its backing file ($TEST_IMG.int).
|
||||
|
@ -106,8 +106,8 @@ echo "*** Commit and then change an option on the backing file"
|
|||
echo
|
||||
# Create the images again
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $IMG_SIZE | _filter_imgfmt
|
||||
TEST_IMG="$TEST_IMG.int" _make_test_img -b "$TEST_IMG.base" | _filter_imgfmt
|
||||
_make_test_img -b "$TEST_IMG.int" | _filter_imgfmt
|
||||
TEST_IMG="$TEST_IMG.int" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT| _filter_imgfmt
|
||||
_make_test_img -b "$TEST_IMG.int" -F $IMGFMT | _filter_imgfmt
|
||||
|
||||
_launch_qemu -drive if=none,file="${TEST_IMG}"
|
||||
_send_qemu_cmd $QEMU_HANDLE \
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 161
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/t.IMGFMT.int', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.int
|
||||
Formatting 'TEST_DIR/t.IMGFMT.int', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.int backing_fmt=IMGFMT
|
||||
|
||||
*** Change an option on the backing file
|
||||
|
||||
|
@ -29,8 +29,8 @@ Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.
|
|||
*** Commit and then change an option on the backing file
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=1048576
|
||||
Formatting 'TEST_DIR/t.IMGFMT.int', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.int
|
||||
Formatting 'TEST_DIR/t.IMGFMT.int', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=1048576 backing_file=TEST_DIR/t.IMGFMT.int backing_fmt=IMGFMT
|
||||
{ 'execute': 'qmp_capabilities' }
|
||||
{"return": {}}
|
||||
{ 'execute': 'block-commit', 'arguments': { 'device': 'none0', 'top': 'TEST_DIR/t.IMGFMT.int' } }
|
||||
|
|
|
@ -84,8 +84,8 @@ echo
|
|||
|
||||
len=$((2100 * 1024 * 1024 + 512)) # larger than 2G, and not cluster aligned
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $len
|
||||
TEST_IMG="$TEST_IMG.itmd" _make_test_img -b "$TEST_IMG.base" $len
|
||||
_make_test_img -b "$TEST_IMG.itmd" $len
|
||||
TEST_IMG="$TEST_IMG.itmd" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT $len
|
||||
_make_test_img -b "$TEST_IMG.itmd" -F $IMGFMT $len
|
||||
# Update the top image to use a feature that is incompatible with fast path
|
||||
case $reason in
|
||||
snapshot) $QEMU_IMG snapshot -c snap "$TEST_IMG" ;;
|
||||
|
|
|
@ -3,8 +3,8 @@ QA output created by 176
|
|||
=== Test pass snapshot.0 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -43,8 +43,8 @@ ID TAG
|
|||
=== Test pass snapshot.1 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -84,8 +84,8 @@ ID TAG
|
|||
=== Test pass snapshot.2 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -125,8 +125,8 @@ ID TAG
|
|||
=== Test pass snapshot.3 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
wrote 196608/196608 bytes at offset 2147287040
|
||||
192 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 131072/131072 bytes at offset 2147352576
|
||||
|
@ -163,8 +163,8 @@ ID TAG
|
|||
=== Test pass bitmap.0 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
QMP_VERSION
|
||||
{"return": {}}
|
||||
{"return": {}}
|
||||
|
@ -212,8 +212,8 @@ QMP_VERSION
|
|||
=== Test pass bitmap.1 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
QMP_VERSION
|
||||
{"return": {}}
|
||||
{"return": {}}
|
||||
|
@ -262,8 +262,8 @@ QMP_VERSION
|
|||
=== Test pass bitmap.2 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
QMP_VERSION
|
||||
{"return": {}}
|
||||
{"return": {}}
|
||||
|
@ -312,8 +312,8 @@ QMP_VERSION
|
|||
=== Test pass bitmap.3 ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=2202010112
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd
|
||||
Formatting 'TEST_DIR/t.IMGFMT.itmd', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=2202010112 backing_file=TEST_DIR/t.IMGFMT.itmd backing_fmt=IMGFMT
|
||||
QMP_VERSION
|
||||
{"return": {}}
|
||||
{"return": {}}
|
||||
|
|
|
@ -51,7 +51,7 @@ echo "== setting up files =="
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
$QEMU_IO -c "write -P 11 0 $size" "$TEST_IMG.base" | _filter_qemu_io
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
$QEMU_IO -c "write -P 22 0 $size" "$TEST_IMG" | _filter_qemu_io
|
||||
|
||||
# Limited to 64k max-transfer
|
||||
|
|
|
@ -4,7 +4,7 @@ QA output created by 177
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
wrote 134217728/134217728 bytes at offset 0
|
||||
128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 134217728/134217728 bytes at offset 0
|
||||
128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ echo '=== Testing write zeroes with unmap ==='
|
|||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img 64M
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
# Offsets chosen at or near 2M boundaries so test works at all cluster sizes
|
||||
# 8k and larger (smaller clusters fail due to non-contiguous allocations)
|
||||
|
|
|
@ -3,7 +3,7 @@ QA output created by 179
|
|||
=== Testing write zeroes with unmap ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 2097152/2097152 bytes at offset 2097152
|
||||
2 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
wrote 2097152/2097152 bytes at offset 6291456
|
||||
|
|
|
@ -66,7 +66,7 @@ echo "== verify pattern =="
|
|||
$QEMU_IO --object $SECRET0 -c "read -P 0xa 0 $size" --image-opts $IMGSPECBASE | _filter_qemu_io | _filter_testdir
|
||||
|
||||
echo "== create overlay =="
|
||||
_make_test_img --object $SECRET1 -o "encrypt.format=luks,encrypt.key-secret=sec1,encrypt.iter-time=10" -u -b "$TEST_IMG_BASE" $size
|
||||
_make_test_img --object $SECRET1 -o "encrypt.format=luks,encrypt.key-secret=sec1,encrypt.iter-time=10" -u -b "$TEST_IMG_BASE" -F $IMGFMT $size
|
||||
|
||||
echo
|
||||
echo "== writing part of a cluster =="
|
||||
|
|
|
@ -10,7 +10,7 @@ wrote 16777216/16777216 bytes at offset 0
|
|||
read 16777216/16777216 bytes at offset 0
|
||||
16 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
== create overlay ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=16777216 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=16777216 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== writing part of a cluster ==
|
||||
wrote 1024/1024 bytes at offset 0
|
||||
|
|
|
@ -54,8 +54,8 @@ echo
|
|||
|
||||
TEST_IMG="${TEST_IMG}.base" _make_test_img $size
|
||||
TEST_IMG="${TEST_IMG}.mid" _make_test_img -o "backing_fmt=$IMGFMT" -b "${TEST_IMG}.base"
|
||||
_make_test_img -b "${TEST_IMG}.mid"
|
||||
TEST_IMG="${TEST_IMG}.ovl2" _make_test_img -b "${TEST_IMG}.mid"
|
||||
_make_test_img -b "${TEST_IMG}.mid" -F $IMGFMT
|
||||
TEST_IMG="${TEST_IMG}.ovl2" _make_test_img -b "${TEST_IMG}.mid" -F $IMGFMT
|
||||
|
||||
$QEMU_IO -c 'write -P 0x55 1M 64k' "${TEST_IMG}.mid" | _filter_qemu_io
|
||||
|
||||
|
@ -102,10 +102,10 @@ echo === Preparing and starting VM with -drive ===
|
|||
echo
|
||||
|
||||
TEST_IMG="${TEST_IMG}.base" _make_test_img $size
|
||||
TEST_IMG="${TEST_IMG}.mid" _make_test_img -b "${TEST_IMG}.base"
|
||||
_make_test_img -b "${TEST_IMG}.mid"
|
||||
TEST_IMG="${TEST_IMG}.ovl2" _make_test_img -b "${TEST_IMG}.mid"
|
||||
TEST_IMG="${TEST_IMG}.ovl3" _make_test_img -b "${TEST_IMG}.ovl2"
|
||||
TEST_IMG="${TEST_IMG}.mid" _make_test_img -b "${TEST_IMG}.base" -F $IMGFMT
|
||||
_make_test_img -b "${TEST_IMG}.mid" -F $IMGFMT
|
||||
TEST_IMG="${TEST_IMG}.ovl2" _make_test_img -b "${TEST_IMG}.mid" -F $IMGFMT
|
||||
TEST_IMG="${TEST_IMG}.ovl3" _make_test_img -b "${TEST_IMG}.ovl2" -F $IMGFMT
|
||||
|
||||
$QEMU_IO -c 'write -P 0x55 1M 64k' "${TEST_IMG}.mid" | _filter_qemu_io
|
||||
|
||||
|
|
|
@ -4,8 +4,8 @@ QA output created by 191
|
|||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl2', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl2', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 1048576
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
{ 'execute': 'qmp_capabilities' }
|
||||
|
@ -413,10 +413,10 @@ backing file format: IMGFMT
|
|||
=== Preparing and starting VM with -drive ===
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl2', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl3', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.ovl2
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl2', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT.ovl3', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.ovl2 backing_fmt=IMGFMT
|
||||
wrote 65536/65536 bytes at offset 1048576
|
||||
64 KiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
{ 'execute': 'qmp_capabilities' }
|
||||
|
|
|
@ -56,8 +56,8 @@ run_qemu()
|
|||
|
||||
size=64M
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
TEST_IMG="$TEST_IMG.mid" _make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.mid"
|
||||
TEST_IMG="$TEST_IMG.mid" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
_make_test_img -b "$TEST_IMG.mid" -F $IMGFMT
|
||||
|
||||
echo
|
||||
echo "Change backing file of mid (opened read-only)"
|
||||
|
@ -75,7 +75,7 @@ echo
|
|||
echo "Change backing file of top (opened writable)"
|
||||
echo
|
||||
|
||||
TEST_IMG="$TEST_IMG.mid" _make_test_img -b "$TEST_IMG.base"
|
||||
TEST_IMG="$TEST_IMG.mid" _make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
run_qemu -drive if=none,file="$TEST_IMG",node-name=top <<EOF
|
||||
{"execute":"qmp_capabilities"}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
QA output created by 195
|
||||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=67108864
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.mid backing_fmt=IMGFMT
|
||||
|
||||
Change backing file of mid (opened read-only)
|
||||
|
||||
|
@ -42,7 +42,7 @@ backing file format: IMGFMT
|
|||
|
||||
Change backing file of top (opened writable)
|
||||
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT.mid', fmt=IMGFMT size=67108864 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
Testing: -drive if=none,file=TEST_DIR/t.IMGFMT,node-name=top
|
||||
{
|
||||
QMP_VERSION
|
||||
|
|
|
@ -63,7 +63,7 @@ echo "== writing whole image base =="
|
|||
$QEMU_IO --object $SECRET0 -c "write -P 0xa 0 $size" --image-opts $IMGSPECBASE | _filter_qemu_io | _filter_testdir
|
||||
|
||||
echo "== create overlay =="
|
||||
_make_test_img --object $SECRET1 -o "encrypt.format=luks,encrypt.key-secret=sec1,encrypt.iter-time=10" -u -b "$TEST_IMG_BASE" $size
|
||||
_make_test_img --object $SECRET1 -o "encrypt.format=luks,encrypt.key-secret=sec1,encrypt.iter-time=10" -u -b "$TEST_IMG_BASE" -F $IMGFMT $size
|
||||
|
||||
echo
|
||||
echo "== writing whole image layer =="
|
||||
|
|
|
@ -6,7 +6,7 @@ Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=16777216
|
|||
wrote 16777216/16777216 bytes at offset 0
|
||||
16 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
== create overlay ==
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=16777216 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=16777216 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
|
||||
== writing whole image layer ==
|
||||
wrote 16777216/16777216 bytes at offset 0
|
||||
|
@ -79,6 +79,7 @@ image: json:{ /* filtered */ }
|
|||
file format: IMGFMT
|
||||
virtual size: 16 MiB (16777216 bytes)
|
||||
backing file: TEST_DIR/t.IMGFMT.base
|
||||
backing file format: IMGFMT
|
||||
Format specific information:
|
||||
compression type: zlib
|
||||
encrypt:
|
||||
|
|
|
@ -52,7 +52,7 @@ echo "== setting up files =="
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img $size
|
||||
$QEMU_IO -c "write -P 11 0 $size" "$TEST_IMG.base" | _filter_qemu_io
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
$QEMU_IO -c "write -P 22 0 110M" "$TEST_IMG" | _filter_qemu_io
|
||||
|
||||
# Limited to 64k max-transfer
|
||||
|
|
|
@ -4,7 +4,7 @@ QA output created by 204
|
|||
Formatting 'TEST_DIR/t.IMGFMT.base', fmt=IMGFMT size=134217728
|
||||
wrote 134217728/134217728 bytes at offset 0
|
||||
128 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base
|
||||
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728 backing_file=TEST_DIR/t.IMGFMT.base backing_fmt=IMGFMT
|
||||
wrote 115343360/115343360 bytes at offset 0
|
||||
110 MiB, X ops; XX:XX:XX.X (XXX YYY/sec and XXX ops/sec)
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ with iotests.FilePath('base.img') as base_img_path, \
|
|||
assert qemu_img('create', '-f', iotests.imgfmt, base_img_path, '64M') == 0
|
||||
assert qemu_io_silent(base_img_path, '-c', 'write -P 1 0M 1M') == 0
|
||||
assert qemu_img('create', '-f', iotests.imgfmt, '-b', base_img_path,
|
||||
top_img_path) == 0
|
||||
'-F', iotests.imgfmt, top_img_path) == 0
|
||||
assert qemu_io_silent(top_img_path, '-c', 'write -P 2 1M 1M') == 0
|
||||
|
||||
log('Done')
|
||||
|
|
|
@ -49,9 +49,9 @@ for filter_node_name in False, True:
|
|||
assert qemu_img('create', '-f', iotests.imgfmt,
|
||||
base_img_path, '64M') == 0
|
||||
assert qemu_img('create', '-f', iotests.imgfmt, '-b', base_img_path,
|
||||
mid_img_path) == 0
|
||||
'-F', iotests.imgfmt, mid_img_path) == 0
|
||||
assert qemu_img('create', '-f', iotests.imgfmt, '-b', mid_img_path,
|
||||
top_img_path) == 0
|
||||
'-F', iotests.imgfmt, top_img_path) == 0
|
||||
|
||||
# Something to commit
|
||||
assert qemu_io_silent(mid_img_path, '-c', 'write -P 1 0 1M') == 0
|
||||
|
|
|
@ -48,7 +48,7 @@ _unsupported_imgopts "subformat=monolithicFlat" \
|
|||
|
||||
TEST_IMG="$TEST_IMG.base" _make_test_img 1M
|
||||
TEST_IMG="$TEST_IMG.not_base" _make_test_img 1M
|
||||
_make_test_img -b "$TEST_IMG.base"
|
||||
_make_test_img -b "$TEST_IMG.base" -F $IMGFMT
|
||||
|
||||
make_opts()
|
||||
{
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue