From: Sergio Lopez <slp@redhat.com>
To: qemu-devel@nongnu.org
Cc: Kevin Wolf <kwolf@redhat.com>,
qemu-block@nongnu.org, Sergio Lopez <slp@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Max Reitz <mreitz@redhat.com>, John Snow <jsnow@redhat.com>
Subject: [PATCH v6 0/8] blockdev: Fix AioContext handling for various blockdev actions
Date: Wed, 8 Jan 2020 15:31:30 +0100 [thread overview]
Message-ID: <20200108143138.129909-1-slp@redhat.com> (raw)
This patch series includes fixes for various issues related to
AioContext mismanagement for various blockdev-initiated actions.
It also adds tests for those actions when executed on drives running
on an IOThread AioContext.
---
Changelog:
v6:
- Rename the patch series.
- Add "block/backup-top: Don't acquire context while dropping top"
- Add "blockdev: Acquire AioContext on dirty bitmap functions"
- Add "blockdev: Return bs to the proper context on snapshot abort"
- Add "iotests: Test handling of AioContexts with some blockdev
actions" (thanks Kevin Wolf)
- Fix context release on error. (thanks Kevin Wolf)
v5:
- Include fix for iotest 141 in patch 2. (thanks Max Reitz)
- Also fix iotest 185 and 219 in patch 2. (thanks Max Reitz)
- Move error block after context acquisition/release, to we can use
goto to bail out and release resources. (thanks Max Reitz)
- Properly release old_context in qmp_blockdev_mirror. (thanks Max
Reitz)
v4:
- Unify patches 1-4 and 5-7 to avoid producing broken interim
states. (thanks Max Reitz)
- Include a fix for iotest 141. (thanks Kevin Wolf)
v3:
- Rework the whole patch series to fix the issue by consolidating all
operations in the transaction model. (thanks Kevin Wolf)
v2:
- Honor bdrv_try_set_aio_context() context acquisition requirements
(thanks Max Reitz).
- Release the context at drive_backup_prepare() instead of avoiding
re-acquiring it at do_drive_baclup(). (thanks Max Reitz)
- Convert a single patch into a two-patch series.
---
Sergio Lopez (8):
blockdev: fix coding style issues in drive_backup_prepare
blockdev: unify qmp_drive_backup and drive-backup transaction paths
blockdev: unify qmp_blockdev_backup and blockdev-backup transaction
paths
blockdev: honor bdrv_try_set_aio_context() context requirements
block/backup-top: Don't acquire context while dropping top
blockdev: Acquire AioContext on dirty bitmap functions
blockdev: Return bs to the proper context on snapshot abort
iotests: Test handling of AioContexts with some blockdev actions
block/backup-top.c | 5 -
block/backup.c | 3 +
blockdev.c | 391 ++++++++++++++++++++-----------------
tests/qemu-iotests/141.out | 2 +
tests/qemu-iotests/185.out | 2 +
tests/qemu-iotests/219 | 7 +-
tests/qemu-iotests/219.out | 8 +
tests/qemu-iotests/281 | 247 +++++++++++++++++++++++
tests/qemu-iotests/281.out | 5 +
tests/qemu-iotests/group | 1 +
10 files changed, 484 insertions(+), 187 deletions(-)
create mode 100755 tests/qemu-iotests/281
create mode 100644 tests/qemu-iotests/281.out
--
2.23.0
next reply other threads:[~2020-01-08 14:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-08 14:31 Sergio Lopez [this message]
2020-01-08 14:31 ` [PATCH v6 1/8] blockdev: fix coding style issues in drive_backup_prepare Sergio Lopez
2020-01-08 14:31 ` [PATCH v6 2/8] blockdev: unify qmp_drive_backup and drive-backup transaction paths Sergio Lopez
2020-01-08 14:31 ` [PATCH v6 3/8] blockdev: unify qmp_blockdev_backup and blockdev-backup " Sergio Lopez
2020-01-08 14:31 ` [PATCH v6 4/8] blockdev: honor bdrv_try_set_aio_context() context requirements Sergio Lopez
2020-01-08 14:31 ` [PATCH v6 5/8] block/backup-top: Don't acquire context while dropping top Sergio Lopez
2020-01-08 14:31 ` [PATCH v6 6/8] blockdev: Acquire AioContext on dirty bitmap functions Sergio Lopez
2020-01-15 15:19 ` Kevin Wolf
2020-01-08 14:31 ` [PATCH v6 7/8] blockdev: Return bs to the proper context on snapshot abort Sergio Lopez
2020-01-15 15:22 ` Kevin Wolf
2020-01-08 14:31 ` [PATCH v6 8/8] iotests: Test handling of AioContexts with some blockdev actions Sergio Lopez
2020-01-15 15:27 ` [PATCH v6 0/8] blockdev: Fix AioContext handling for various " Kevin Wolf
2020-01-16 17:17 ` Paolo Bonzini
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=20200108143138.129909-1-slp@redhat.com \
--to=slp@redhat.com \
--cc=armbru@redhat.com \
--cc=jsnow@redhat.com \
--cc=kwolf@redhat.com \
--cc=mreitz@redhat.com \
--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).