block: Convert bdrv_io_plug() to co_wrapper
BlockDriver->bdrv_io_plug is categorized as IO callback, and it currently doesn't run in a coroutine. We should let it take a graph rdlock since the callback traverses the block nodes graph, which however is only possible in a coroutine. The only caller of this function is blk_io_plug(), therefore make blk_io_plug() a co_wrapper, so that we're always running in a coroutine where the lock can be taken. Signed-off-by:Emanuele Giuseppe Esposito <eesposit@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com> Message-Id: <20230113204212.359076-3-kwolf@redhat.com> Reviewed-by:
Emanuele Giuseppe Esposito <eesposit@redhat.com> Signed-off-by:
Kevin Wolf <kwolf@redhat.com>
Showing
- block/block-backend.c 2 additions, 2 deletionsblock/block-backend.c
- block/file-posix.c 5 additions, 5 deletionsblock/file-posix.c
- block/io.c 4 additions, 4 deletionsblock/io.c
- block/nvme.c 2 additions, 2 deletionsblock/nvme.c
- include/block/block-io.h 2 additions, 1 deletioninclude/block/block-io.h
- include/block/block_int-common.h 1 addition, 1 deletioninclude/block/block_int-common.h
- include/sysemu/block-backend-io.h 3 additions, 1 deletioninclude/sysemu/block-backend-io.h
Loading
Please register or sign in to comment