[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] block-backend: Fix argument order when calling 'qapi_event_s
From: |
Peter Krempa |
Subject: |
Re: [PATCH] block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()' |
Date: |
Mon, 27 Jan 2025 12:07:09 +0100 |
User-agent: |
Mutt/2.2.13 (2024-03-09) |
On Mon, Jan 27, 2025 at 10:53:16 +0000, Daniel P. Berrangé wrote:
> On Mon, Jan 27, 2025 at 11:29:24AM +0100, Peter Krempa wrote:
> > Commit 7452162adec25c10 introduced 'qom-path' argument to BLOCK_IO_ERROR
> > event but when the event is instantiated in 'send_qmp_error_event()' the
> > arguments for 'device' and 'qom_path' in
> > qapi_event_send_block_io_error() were reversed :
> >
> > Generated code for sending event:
> >
> > void qapi_event_send_block_io_error(const char *qom_path,
> > const char *device,
> > const char *node_name,
> > IoOperationType operation,
> > [...]
> >
> > Call inside send_qmp_error_event():
> >
> > qapi_event_send_block_io_error(blk_name(blk),
> > blk_get_attached_dev_path(blk),
> > bs ? bdrv_get_node_name(bs) : NULL,
> > optype,
> > [...]
> >
> > This results into reporting the QOM path as the device alias and vice
> > versa which in turn breaks libvirt, which expects the device alias being
> > either a valid alias or empty (which would make libvirt do the lookup by
> > node-name instead).
> >
> > Fixes: 7452162adec25c1003d5bf0079aca52913a80e0c
> > Signed-off-by: Peter Krempa <pkrempa@redhat.com>
>
> Hmm, luckily that was only introduced in 9.2.0, so we can probably just
> fix it in stable, and not worry about libvirt needs to add back compat
> to workaround the initially broken 9.2.0 release events.
Indeed, there's no need for a specific libvirt workaround. Although I
still plan to modify the libvirt code to prefer node-name if present due
to other reasons (to have the correct path of the image if the error
happened in a backing image), which will also workaround this issue in
the end.