From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, peter.maydell@linaro.org, qemu-devel@nongnu.org
Subject: [PULL 20/30] iotests/055: Use cache.no-flush for vmdk target
Date: Fri, 8 May 2020 14:41:25 +0200 [thread overview]
Message-ID: <20200508124135.252565-21-kwolf@redhat.com> (raw)
In-Reply-To: <20200508124135.252565-1-kwolf@redhat.com>
055 uses the backup block job to create a compressed backup of an
$IMGFMT image with both qcow2 and vmdk targets. However, cluster
allocation in vmdk is very slow because it flushes the image file after
each L2 update.
There is no reason why we need this level of safety in this test, so
let's disable flushes for vmdk. For the blockdev-backup tests this is
achieved by simply adding the cache.no-flush=on to the drive_add() for
the target. For drive-backup, the caching flags are copied from the
source node, so we'll also add the flag to the source node, even though
it is not vmdk.
This can make the test run significantly faster (though it doesn't make
a difference on tmpfs). In my usual setup it goes from ~45s to ~15s.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20200505064618.16267-1-kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
tests/qemu-iotests/055 | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/tests/qemu-iotests/055 b/tests/qemu-iotests/055
index 7f8e630de3..4d3744b0d3 100755
--- a/tests/qemu-iotests/055
+++ b/tests/qemu-iotests/055
@@ -489,7 +489,7 @@ class TestSingleTransaction(iotests.QMPTestCase):
class TestCompressedToQcow2(iotests.QMPTestCase):
image_len = 64 * 1024 * 1024 # MB
- target_fmt = {'type': 'qcow2', 'args': ()}
+ target_fmt = {'type': 'qcow2', 'args': (), 'drive-opts': ''}
def tearDown(self):
self.vm.shutdown()
@@ -500,14 +500,16 @@ class TestCompressedToQcow2(iotests.QMPTestCase):
pass
def do_prepare_drives(self, attach_target):
- self.vm = iotests.VM().add_drive('blkdebug::' + test_img)
+ self.vm = iotests.VM().add_drive('blkdebug::' + test_img,
+ opts=self.target_fmt['drive-opts'])
qemu_img('create', '-f', self.target_fmt['type'], blockdev_target_img,
str(self.image_len), *self.target_fmt['args'])
if attach_target:
self.vm.add_drive(blockdev_target_img,
img_format=self.target_fmt['type'],
- interface="none")
+ interface="none",
+ opts=self.target_fmt['drive-opts'])
self.vm.launch()
@@ -601,7 +603,8 @@ class TestCompressedToQcow2(iotests.QMPTestCase):
class TestCompressedToVmdk(TestCompressedToQcow2):
- target_fmt = {'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized')}
+ target_fmt = {'type': 'vmdk', 'args': ('-o', 'subformat=streamOptimized'),
+ 'drive-opts': 'cache.no-flush=on'}
@iotests.skip_if_unsupported(['vmdk'])
def setUp(self):
--
2.25.3
next prev parent reply other threads:[~2020-05-08 12:54 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-08 12:41 [PULL 00/30] Block layer patches Kevin Wolf
2020-05-08 12:41 ` [PULL 01/30] iotests: handle tmpfs Kevin Wolf
2020-05-08 12:41 ` [PULL 02/30] iotests/082: require bochs Kevin Wolf
2020-05-08 12:41 ` [PULL 03/30] iotests/148: use skip_if_unsupported Kevin Wolf
2020-05-08 12:41 ` [PULL 04/30] iotests/041: drop self.assert_no_active_block_jobs() Kevin Wolf
2020-05-08 12:41 ` [PULL 05/30] iotests/055: refactor compressed backup to vmdk Kevin Wolf
2020-05-08 12:41 ` [PULL 06/30] iotests/055: skip vmdk target tests if vmdk is not whitelisted Kevin Wolf
2020-05-08 12:41 ` [PULL 07/30] iotests/109: mark required formats as required to support whitelisting Kevin Wolf
2020-05-08 12:41 ` [PULL 08/30] iotests/113: mark bochs " Kevin Wolf
2020-05-08 12:41 ` [PULL 09/30] qcow2: Avoid integer wraparound in qcow2_co_truncate() Kevin Wolf
2020-05-08 12:41 ` [PULL 10/30] vmdk: Rename VmdkMetaData.valid to new_allocation Kevin Wolf
2020-05-08 12:41 ` [PULL 11/30] vmdk: Fix zero cluster allocation Kevin Wolf
2020-05-08 12:41 ` [PULL 12/30] vmdk: Fix partial overwrite of zero cluster Kevin Wolf
2020-05-08 12:41 ` [PULL 13/30] vmdk: Don't update L2 table for zero write on " Kevin Wolf
2020-05-08 12:41 ` [PULL 14/30] vmdk: Flush only once in vmdk_L2update() Kevin Wolf
2020-05-08 12:41 ` [PULL 15/30] iotests: vmdk: Enable zeroed_grained=on by default Kevin Wolf
2020-05-08 12:41 ` [PULL 16/30] iotests/283: Use consistent size for source and target Kevin Wolf
2020-05-08 12:41 ` [PULL 17/30] backup: Improve error for bdrv_getlength() failure Kevin Wolf
2020-05-08 12:41 ` [PULL 18/30] backup: Make sure that source and target size match Kevin Wolf
2020-05-08 12:41 ` [PULL 19/30] iotests: Backup with different source/target size Kevin Wolf
2020-05-08 12:41 ` Kevin Wolf [this message]
2020-05-08 12:41 ` [PULL 21/30] qcow2: Fix preallocation on block devices Kevin Wolf
2020-05-08 12:41 ` [PULL 22/30] gluster: Drop useless has_zero_init callback Kevin Wolf
2020-05-08 12:41 ` [PULL 23/30] file-win32: Support BDRV_REQ_ZERO_WRITE for truncate Kevin Wolf
2020-05-08 12:41 ` [PULL 24/30] nfs: " Kevin Wolf
2020-05-08 12:41 ` [PULL 25/30] rbd: " Kevin Wolf
2020-05-08 12:41 ` [PULL 26/30] sheepdog: " Kevin Wolf
2020-05-08 12:41 ` [PULL 27/30] ssh: " Kevin Wolf
2020-05-08 12:41 ` [PULL 28/30] parallels: Rework truncation logic Kevin Wolf
2020-05-08 12:41 ` [PULL 29/30] vhdx: " Kevin Wolf
2020-05-08 12:41 ` [PULL 30/30] block: Drop unused .bdrv_has_zero_init_truncate Kevin Wolf
2020-05-08 15:10 ` [PULL 00/30] Block layer patches Peter Maydell
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200508124135.252565-21-kwolf@redhat.com \
--to=kwolf@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).