qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Max Reitz <mreitz@redhat.com>
To: qemu-block@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
	Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>,
	qemu-devel@nongnu.org, Max Reitz <mreitz@redhat.com>
Subject: [PATCH 0/7] iotests/129: Fix it
Date: Wed, 13 Jan 2021 15:06:09 +0100	[thread overview]
Message-ID: <20210113140616.150283-1-mreitz@redhat.com> (raw)

Hi,

There are some problems with iotests 129 (perhaps more than these, but
these are the ones I know of):

1. It checks @busy to see whether a block job is still running; however,
   block jobs tend to unset @busy all the time (when they yield).
   [Fixed by patch 3]

2. It uses blockdev throttling, which quite some time ago has been moved
   to the BB level; since then, such throttling will no longer affect
   block jobs.  We can get throttling to work by using a throttle filter
   node.
   [Fixed by patch 4]

3. The mirror job has a large buffer size by default.  A simple drain
   may lead to it making significant process, which is kind of
   dangerous, because we don’t want the job to complete.
   To get around this, we can simply limit its buffer size.  (And we
   should make the commit job an actual commit job instead of an active
   commit (which is just mirror), because the commit interface does not
   allow setting a buffer size.)
   [Fixed by patches 5 and 6]

This series fixes those things, and now 129 seems to reliably pass for
me.


Apart from the major issues above, there are also minor flaws:

- It doesn’t remove the test images.
  [Fixed by patches 1 and 2]

- pylint and mypy complain.
  (Running mypy with the options given in 297.)
  [Patch 4 removes one pylint complaint; patch 7 the rest.]


Max Reitz (7):
  iotests: Move try_remove to iotests.py
  iotests/129: Remove test images in tearDown()
  iotests/129: Do not check @busy
  iotests/129: Use throttle node
  iotests/129: Actually test a commit job
  iotests/129: Limit mirror job's buffer size
  iotests/129: Clean up pylint and mypy complaints

 tests/qemu-iotests/124        |  8 +---
 tests/qemu-iotests/129        | 76 ++++++++++++++++++++++-------------
 tests/qemu-iotests/iotests.py | 11 +++--
 3 files changed, 55 insertions(+), 40 deletions(-)

-- 
2.29.2



             reply	other threads:[~2021-01-13 14:17 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-13 14:06 Max Reitz [this message]
2021-01-13 14:06 ` [PATCH 1/7] iotests: Move try_remove to iotests.py Max Reitz
2021-01-13 14:25   ` Eric Blake
2021-01-13 14:06 ` [PATCH 2/7] iotests/129: Remove test images in tearDown() Max Reitz
2021-01-13 14:34   ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:43   ` Eric Blake
2021-01-13 14:06 ` [PATCH 3/7] iotests/129: Do not check @busy Max Reitz
2021-01-13 14:48   ` Eric Blake
2021-01-13 15:01   ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:06 ` [PATCH 4/7] iotests/129: Use throttle node Max Reitz
2021-01-13 14:10   ` Max Reitz
2021-01-13 14:53     ` Eric Blake
2021-01-13 15:07     ` Vladimir Sementsov-Ogievskiy
2021-01-13 15:15       ` Max Reitz
2021-01-13 16:46   ` Vladimir Sementsov-Ogievskiy
2021-01-13 17:02     ` Max Reitz
2021-01-13 17:05       ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:06 ` [PATCH 5/7] iotests/129: Actually test a commit job Max Reitz
2021-01-13 15:58   ` Eric Blake
2021-01-13 16:52   ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:06 ` [PATCH 6/7] iotests/129: Limit mirror job's buffer size Max Reitz
2021-01-13 16:03   ` Eric Blake
2021-01-13 17:02   ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:06 ` [PATCH 7/7] iotests/129: Clean up pylint and mypy complaints Max Reitz
2021-01-13 16:04   ` Eric Blake
2021-01-13 14:31 ` [PATCH 0/7] iotests/129: Fix it Vladimir Sementsov-Ogievskiy
2021-01-13 15:19   ` Max Reitz
2021-01-13 15:29     ` Vladimir Sementsov-Ogievskiy
2021-01-13 14:38 ` Kevin Wolf
2021-01-13 14:59   ` Vladimir Sementsov-Ogievskiy
2021-01-13 15:26   ` Max Reitz
2021-01-13 15:43     ` Kevin Wolf

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=20210113140616.150283-1-mreitz@redhat.com \
    --to=mreitz@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    --cc=vsementsov@virtuozzo.com \
    /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).