On Tue, Sep 15, 2026 at 06:16:53PM +0800, Zhang Chen wrote:
> diff --git a/monitor/hmp-cmds.c b/monitor/hmp-cmds.c
> index 91701ddf33..d7dd24d951 100644
> --- a/monitor/hmp-cmds.c
> +++ b/monitor/hmp-cmds.c
> @@ -246,11 +246,31 @@ void hmp_info_iothreads(MonitorHMP *hmp, const QDict 
> *qdict)
>      IOThreadInfoList *info_list = qmp_query_iothreads(NULL);
>      IOThreadInfoList *info;
>      IOThreadInfo *value;
> +    IOThreadHolderList *h;
>  
>      for (info = info_list; info; info = info->next) {
>          value = info->value;
>          monitor_hmp_printf(hmp, "%s:\n", value->id);
>          monitor_hmp_printf(hmp, "  thread_id=%" PRId64 "\n", 
> value->thread_id);
> +        monitor_hmp_printf(hmp, "  holders=");
> +        for (h = value->holders; h; h = h->next) {
> +            IOThreadHolder *holder = h->value;
> +
> +            switch (holder->type) {
> +            case IO_THREAD_HOLDER_KIND_BLOCK_EXPORT:
> +                monitor_hmp_printf(hmp, "[block-export: %s]",
> +                                   holder->u.block_export.export_id);
> +                break;

Kevin: Special-casing block exports is unfortunate. Other IOThread users
tend to be full-blown Objects. Do you think BlockExport should become an
Object with a path (e.g. /block-exports/ similar to how /audiodevs and
other object types are in the QOM tree)?

What I'm thinking is that block-export-add/block-export-del remain the
commands for managing the lifetime of exports - we don't use --object
syntax. But simply making BlockExport an Object would make this and
maybe other future changes cleaner (no special cases for non-Objects).

Attachment: signature.asc
Description: PGP signature

Reply via email to