[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 0/5] block layer: permission API refactoring in preparation
From: |
Emanuele Giuseppe Esposito |
Subject: |
[PATCH 0/5] block layer: permission API refactoring in preparation |
Date: |
Wed, 9 Feb 2022 05:54:47 -0500 |
This serie aims to refactoring and fixing permission API related bugs that came
up in the serie "block layer: split block APIs in global state and I/O".
In that serie, we are splitting all block layer headers in
Global State (GS) APIs, holding always the BQL and running in the
main loop, and I/O running in iothreads.
The patches in this serie are taken from v6 of the API split,
to reduce its size and apply these fixes independently.
Patches 1 and 2 take care of crypto and amend jobs, since they
incorrectly use the permission API also in iothreads.
Patches 3-4-5 take care of bdrv_invalidate_cache and callers,
since this function checks too for permisisons while being
called by an iothread.
Emanuele Giuseppe Esposito (5):
crypto: perform permission checks under BQL
crypto: distinguish between main loop and I/O in
block_crypto_amend_options_generic_luks
block: introduce bdrv_activate
block: rename bdrv_invalidate_cache_all, blk_invalidate_cache and
test_sync_op_invalidate_cache
block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate
block.c | 38 +++++++++++++-------
block/amend.c | 24 +++++++++++++
block/block-backend.c | 4 +--
block/crypto.c | 62 +++++++++++++++++++++-----------
block/export/export.c | 2 +-
block/parallels.c | 2 +-
hw/block/pflash_cfi01.c | 2 +-
hw/nvram/spapr_nvram.c | 2 +-
include/block/block.h | 3 +-
include/block/block_int.h | 14 ++++++++
include/sysemu/block-backend.h | 2 +-
migration/block.c | 2 +-
migration/migration.c | 14 ++++----
migration/savevm.c | 6 ++--
monitor/qmp-cmds.c | 2 +-
tests/unit/test-block-iothread.c | 8 ++---
16 files changed, 131 insertions(+), 56 deletions(-)
--
2.31.1
- [PATCH 0/5] block layer: permission API refactoring in preparation,
Emanuele Giuseppe Esposito <=
- [PATCH 1/5] crypto: perform permission checks under BQL, Emanuele Giuseppe Esposito, 2022/02/09
- [PATCH 2/5] crypto: distinguish between main loop and I/O in block_crypto_amend_options_generic_luks, Emanuele Giuseppe Esposito, 2022/02/09
- [PATCH 4/5] block: rename bdrv_invalidate_cache_all, blk_invalidate_cache and test_sync_op_invalidate_cache, Emanuele Giuseppe Esposito, 2022/02/09
- [PATCH 3/5] block: introduce bdrv_activate, Emanuele Giuseppe Esposito, 2022/02/09
- [PATCH 5/5] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate, Emanuele Giuseppe Esposito, 2022/02/09