Re: [PATCH v4 0/3] qapi: Fix some command blocked for too long

Michael Tokarev <[email protected]>
Newsgroups gmane.comp.emulators.qemu.block,gmane.comp.emulators.qemu,gmane.comp.emulators.qemu.stable
Message-ID <[email protected]>
On 4/1/25 16:02, zoudongjie via wrote:
> From: Zhu Yangyang <[email protected]>
> 
> QMP may will be blocked for a long time on bdrv_drained_begin() when a
> network disk is configured and the network failure is just about to occur.
> 
> In theory, any command may be blocked if it calls bdrv_drained_begin().
> 
> This series add a timeout parameter for qmp_block_set_io_throttle() and
> qmp_block_resize() to control their execution duration.

Hi!

Has this (oldish) patchset been abandoned/lost somehow?

Thanks,

/mjt

> Changelog
> v4 ---
>    1. Corrected the added version of the timeout parameter from 10.0 to 10.1
>    2. Add a patch to add the timeout parameter for qmp_block_resize().
> 
> 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/[email protected]/
> 
> 
> Zhu Yangyang (3):
>    io/block: Refactoring the bdrv_drained_begin() function and implement
>      a timeout mechanism.
>    qapi/throttle: add timeout parameter for qmp_block_set_io_throttle()
>    qapi/resize: add timeout parameter for qmp_block_resize()
> 
>   block/block-backend.c                       | 14 ++++-
>   block/io.c                                  | 58 +++++++++++++++++----
>   block/monitor/block-hmp-cmds.c              |  2 +-
>   block/qapi-system.c                         | 10 +++-
>   blockdev.c                                  | 16 +++++-
>   include/block/aio-wait.h                    | 47 ++++++++++++-----
>   include/block/block-io.h                    | 22 +++++++-
>   include/system/block-backend-global-state.h |  1 +
>   qapi/block-core.json                        | 11 +++-
>   util/aio-wait.c                             |  5 ++
>   10 files changed, 155 insertions(+), 31 deletions(-)
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.