On Wed, Mar 26, 2025 at 05:26:32PM +0800, zoudongjie wrote:
> From: Zhu Yangyang <zhuyangyan...@huawei.com>
> 
> Calling qmp_block_set_io_throttle() will be blocked for a long time
> when a network disk is configured and the network failure is just about
> to occur.
> 
> This series add a timeout parameter for qmp_block_set_io_throttle to control
> its execution duration.
> 
> Changelog
> v3 ---
>   Unify AIO_WAIT_WHILE_{TIMEOUT/INTERNAL} by replacing 
> AIO_WAIT_WHILE_INTERNAL() with
>   AIO_WAIT_WHILE_TIMEOUT(..., 0).
> 
> v2 ----
>   1. Support 0 in BDRV_POLL_WHILE_TIMEOUT(), 0 means infinite.
>   2. Use uint64_t timeout_ns instead of int64 timeout to name variables.
>   3. Use timer_pending() to check for expiry instead of explicitly checking
>      against the deadline for BDRV_POLL_WHILE_TIMEOUT().
>   4. Add documentation for bdrv_drained_begin_timeout(), note that 
> bdrv_drained_end()
>      must be called when -ETIMEDOUT is returned.
>   5. Add a timeout parameter to the qmp_block_set_io_throttle() instead of 
> hardcoding
>      the timeout, and the default value is 0, mean an infinite timeout.
> 
> v1 patch link:
> https://lore.kernel.org/qemu-devel/20250308101618.721954-1-zoudong...@huawei.com/
> 
> Zhu Yangyang (2):
>   io/block: Refactoring the bdrv_drained_begin() function and implement
>     a timeout mechanism.
>   qapi/throttle: add timeout parameter for qmp_block_set_io_throttle()
> 
>  block/block-backend.c                       | 14 ++++-
>  block/io.c                                  | 58 +++++++++++++++++----
>  block/qapi-system.c                         | 10 +++-
>  include/block/aio-wait.h                    | 47 ++++++++++++-----
>  include/block/block-io.h                    | 22 +++++++-
>  include/system/block-backend-global-state.h |  1 +
>  qapi/block-core.json                        |  5 +-
>  util/aio-wait.c                             |  5 ++
>  8 files changed, 135 insertions(+), 27 deletions(-)
> 
> -- 
> 2.33.0
> 

Aside from Markus' comments:

Reviewed-by: Stefan Hajnoczi <stefa...@redhat.com>

Attachment: signature.asc
Description: PGP signature

Reply via email to