All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kevin Wolf <kwolf@redhat.com>
To: qemu-block@nongnu.org
Cc: kwolf@redhat.com, qemu-devel@nongnu.org
Subject: [PULL 08/25] block-backend: Fix argument order when calling 'qapi_event_send_block_io_error()'
Date: Mon, 10 Feb 2025 17:10:17 +0100	[thread overview]
Message-ID: <20250210161034.76494-9-kwolf@redhat.com> (raw)
In-Reply-To: <20250210161034.76494-1-kwolf@redhat.com>

From: Peter Krempa <pkrempa@redhat.com>

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).

Cc: qemu-stable@nongnu.org
Fixes: 7452162adec2 ("qapi: add qom-path to BLOCK_IO_ERROR event")
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Message-ID: <09728d784888b38d7a8f09ee5e9e9c542c875e1e.1737973614.git.pkrempa@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
 block/block-backend.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/block/block-backend.c b/block/block-backend.c
index b610582644..d093f01f89 100644
--- a/block/block-backend.c
+++ b/block/block-backend.c
@@ -2141,7 +2141,7 @@ static void send_qmp_error_event(BlockBackend *blk,
     g_autofree char *path = blk_get_attached_dev_path(blk);
 
     optype = is_read ? IO_OPERATION_TYPE_READ : IO_OPERATION_TYPE_WRITE;
-    qapi_event_send_block_io_error(blk_name(blk), path,
+    qapi_event_send_block_io_error(path, blk_name(blk),
                                    bs ? bdrv_get_node_name(bs) : NULL, optype,
                                    action, blk_iostatus_is_enabled(blk),
                                    error == ENOSPC, strerror(error));
-- 
2.48.1



  parent reply	other threads:[~2025-02-10 16:12 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-10 16:10 [PULL 00/25] Block layer patches Kevin Wolf
2025-02-10 16:10 ` [PULL 01/25] vpc: Split off vpc_ignore_current_size() helper Kevin Wolf
2025-02-10 16:10 ` [PULL 02/25] vpc: Read images exported from Azure correctly Kevin Wolf
2025-02-10 16:10 ` [PULL 03/25] block: Improve blk_get_attached_dev_id() docstring Kevin Wolf
2025-02-10 16:10 ` [PULL 04/25] block: Fix leak in send_qmp_error_event Kevin Wolf
2025-02-10 16:10 ` [PULL 05/25] scripts/qemu-gdb: Always do full stack dump for python errors Kevin Wolf
2025-02-10 16:10 ` [PULL 06/25] scripts/qemu-gdb: Simplify fs_base fetching for coroutines Kevin Wolf
2025-02-10 16:10 ` [PULL 07/25] scripts/qemu-gdb: Support coroutine dumps in coredumps Kevin Wolf
2025-02-10 16:10 ` Kevin Wolf [this message]
2025-02-10 16:10 ` [PULL 09/25] block: Add 'active' field to BlockDeviceInfo Kevin Wolf
2025-02-10 16:10 ` [PULL 10/25] block: Allow inactivating already inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 11/25] block: Inactivate external snapshot overlays when necessary Kevin Wolf
2025-02-10 16:10 ` [PULL 12/25] migration/block-active: Remove global active flag Kevin Wolf
2025-02-10 16:10 ` [PULL 13/25] block: Don't attach inactive child to active node Kevin Wolf
2025-02-10 16:10 ` [PULL 14/25] block: Fix crash on block_resize on inactive node Kevin Wolf
2025-02-10 16:10 ` [PULL 15/25] block: Add option to create inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 16/25] block: Add blockdev-set-active QMP command Kevin Wolf
2025-02-10 16:10 ` [PULL 17/25] block: Support inactive nodes in blk_insert_bs() Kevin Wolf
2025-02-10 16:10 ` [PULL 18/25] block/export: Don't ignore image activation error in blk_exp_add() Kevin Wolf
2025-02-10 16:10 ` [PULL 19/25] block: Drain nodes before inactivating them Kevin Wolf
2025-02-10 16:10 ` [PULL 20/25] block/export: Add option to allow export of inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 21/25] nbd/server: Support " Kevin Wolf
2025-02-10 16:10 ` [PULL 22/25] iotests: Add filter_qtest() Kevin Wolf
2025-02-10 16:10 ` [PULL 23/25] iotests: Add qsd-migrate case Kevin Wolf
2025-02-10 16:10 ` [PULL 24/25] iotests: Add (NBD-based) tests for inactive nodes Kevin Wolf
2025-02-10 16:10 ` [PULL 25/25] block: remove unused BLOCK_OP_TYPE_DATAPLANE Kevin Wolf
2025-02-11  2:37 ` [PULL 00/25] Block layer patches Stefan Hajnoczi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250210161034.76494-9-kwolf@redhat.com \
    --to=kwolf@redhat.com \
    --cc=qemu-block@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.