diff options
author | Laurent Vivier <lvivier@redhat.com> | 2021-10-19 09:15:32 +0200 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2021-10-20 04:37:55 -0400 |
commit | bcfc906be47a88803307cd6b665dc4c26fdd6dd2 (patch) | |
tree | f3c02e2f420ddbfa8e691c37c3dbae6f3b6b870c /hw/net | |
parent | 515efffc2fd0928317a0a1ec47b28a972c40ddad (diff) | |
download | qemu-bcfc906be47a88803307cd6b665dc4c26fdd6dd2.zip qemu-bcfc906be47a88803307cd6b665dc4c26fdd6dd2.tar.gz qemu-bcfc906be47a88803307cd6b665dc4c26fdd6dd2.tar.bz2 |
qdev/qbus: remove failover specific code
Commit f3a850565693 ("qdev/qbus: add hidden device support") has
introduced a generic way to hide a device but it has modified
qdev_device_add() to check a specific option of the failover device,
"failover_pair_id", before calling the generic mechanism.
It's not needed (and not generic) to do that in qdev_device_add() because
this is also checked by the failover_hide_primary_device() function that
uses the generic mechanism to hide the device.
Cc: Jens Freimann <jfreimann@redhat.com>
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Message-Id: <20211019071532.682717-3-lvivier@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/net')
-rw-r--r-- | hw/net/virtio-net.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 83642c8..3dd2896 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -3299,7 +3299,17 @@ static bool failover_hide_primary_device(DeviceListener *listener, if (!device_opts) { return false; } - standby_id = qdict_get_try_str(device_opts, "failover_pair_id"); + + if (!qdict_haskey(device_opts, "failover_pair_id")) { + return false; + } + + if (!qdict_haskey(device_opts, "id")) { + error_setg(errp, "Device with failover_pair_id needs to have id"); + return false; + } + + standby_id = qdict_get_str(device_opts, "failover_pair_id"); if (g_strcmp0(standby_id, n->netclient_name) != 0) { return false; } |