On Thu 11 May 2017 04:41:59 PM CEST, Paolo Bonzini wrote:
> --- a/include/sysemu/block-backend.h
> +++ b/include/sysemu/block-backend.h
> @@ -72,11 +72,8 @@ typedef struct BlockDevOps {
> * fields that must be public. This is in particular for QLIST_ENTRY() and
> * friends so that BlockBackends can be kept in lists outside
> block-backend.c */
> typedef struct BlockBackendPublic {
> - /* I/O throttling has its own locking, but also some fields are
> - * protected by the AioContext lock.
> - */
> -
> - /* Protected by AioContext lock. */
> + /* throttled_reqs_lock protects the CoQueues for throttled requests. */
> + CoMutex throttled_reqs_lock;
> CoQueue throttled_reqs[2];
>
> /* Nonzero if the I/O limits are currently being ignored; generally
> * it is zero. */
> unsigned int io_limits_disabled;
Does io_limits_disabled need locking too?
Berto