qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] block layer: permission API refactoring in preparation
@ 2022-02-09 10:54 Emanuele Giuseppe Esposito
  2022-02-09 10:54 ` [PATCH 1/5] crypto: perform permission checks under BQL Emanuele Giuseppe Esposito
                   ` (5 more replies)
  0 siblings, 6 replies; 8+ messages in thread
From: Emanuele Giuseppe Esposito @ 2022-02-09 10:54 UTC (permalink / raw)
  To: qemu-block
  Cc: Kevin Wolf, Fam Zheng, Vladimir Sementsov-Ogievskiy,
	Juan Quintela, qemu-devel, Markus Armbruster,
	Daniel Henrique Barboza, Philippe Mathieu-Daudé, Greg Kurz,
	Hanna Reitz, qemu-ppc, Cédric Le Goater, Stefan Hajnoczi,
	Paolo Bonzini, Emanuele Giuseppe Esposito, Denis V. Lunev,
	Dr. David Alan Gilbert, David Gibson

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



^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-03-01 10:40 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-02-09 10:54 [PATCH 0/5] block layer: permission API refactoring in preparation Emanuele Giuseppe Esposito
2022-02-09 10:54 ` [PATCH 1/5] crypto: perform permission checks under BQL Emanuele Giuseppe Esposito
2022-03-01  9:32   ` Kevin Wolf
2022-02-09 10:54 ` [PATCH 2/5] crypto: distinguish between main loop and I/O in block_crypto_amend_options_generic_luks Emanuele Giuseppe Esposito
2022-02-09 10:54 ` [PATCH 3/5] block: introduce bdrv_activate Emanuele Giuseppe Esposito
2022-02-09 10:54 ` [PATCH 4/5] block: rename bdrv_invalidate_cache_all, blk_invalidate_cache and test_sync_op_invalidate_cache Emanuele Giuseppe Esposito
2022-02-09 10:54 ` [PATCH 5/5] block: move BQL logic of bdrv_co_invalidate_cache in bdrv_activate Emanuele Giuseppe Esposito
2022-03-01 10:34 ` [PATCH 0/5] block layer: permission API refactoring in preparation Kevin Wolf

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).