[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 0/8] blockdev: Fix AioContext handling for various blockdev ac
From: |
Sergio Lopez |
Subject: |
[PATCH v6 0/8] blockdev: Fix AioContext handling for various blockdev actions |
Date: |
Wed, 8 Jan 2020 15:31:30 +0100 |
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
- [PATCH v6 0/8] blockdev: Fix AioContext handling for various blockdev actions,
Sergio Lopez <=
- [PATCH v6 1/8] blockdev: fix coding style issues in drive_backup_prepare, Sergio Lopez, 2020/01/08
- [PATCH v6 3/8] blockdev: unify qmp_blockdev_backup and blockdev-backup transaction paths, Sergio Lopez, 2020/01/08
- [PATCH v6 2/8] blockdev: unify qmp_drive_backup and drive-backup transaction paths, Sergio Lopez, 2020/01/08
- [PATCH v6 4/8] blockdev: honor bdrv_try_set_aio_context() context requirements, Sergio Lopez, 2020/01/08
- [PATCH v6 6/8] blockdev: Acquire AioContext on dirty bitmap functions, Sergio Lopez, 2020/01/08
- [PATCH v6 7/8] blockdev: Return bs to the proper context on snapshot abort, Sergio Lopez, 2020/01/08
- [PATCH v6 8/8] iotests: Test handling of AioContexts with some blockdev actions, Sergio Lopez, 2020/01/08
- [PATCH v6 5/8] block/backup-top: Don't acquire context while dropping top, Sergio Lopez, 2020/01/08