qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v6 05/33] include/sysemu/block-backend: split header into I/O


From: Kevin Wolf
Subject: Re: [PATCH v6 05/33] include/sysemu/block-backend: split header into I/O and global state (GS) API
Date: Mon, 7 Feb 2022 18:04:05 +0100

Am 21.01.2022 um 18:05 hat Emanuele Giuseppe Esposito geschrieben:
> Similarly to the previous patches, split block-backend.h
> in block-backend-io.h and block-backend-global-state.h
> 
> In addition, remove "block/block.h" include as it seems
> it is not necessary anymore, together with "qemu/iov.h"
> 
> block-backend-common.h contains the structures shared between
> the two headers, and the functions that can't be categorized as
> I/O or global state.
> 
> Assertions are added in the next patch.
> 
> Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>

The same "GS or I/O" category is needed for drain and other polling
functions here (mainly the synchronous I/O functions like blk_pread()
etc.).

Most of these functions just wrap the bdrv_*() counterpart, so I'm not
reviewing them in detail now. I don't expect surprises as long as both
interfaces are consistent.

> diff --git a/block/block-backend.c b/block/block-backend.c
> index 23e727199b..6f91dcc85d 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -79,6 +79,7 @@ struct BlockBackend {
>      bool allow_aio_context_change;
>      bool allow_write_beyond_eof;
>  
> +    /* Protected by BQL lock */
>      NotifierList remove_bs_notifiers, insert_bs_notifiers;
>      QLIST_HEAD(, BlockBackendAioNotifier) aio_notifiers;

This should be just "BQL" (like in patch 2) because the L in "BQL"
already means "lock", so "BQL lock" would be the "Big QEMU lock lock".
(More instances in this patch.)

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]