failover: Rename function to hide_device()

You should not use pasive.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Message-Id: <20201118083748.1328-17-quintela@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
Juan Quintela 2020-11-18 09:37:37 +01:00 committed by Michael S. Tsirkin
parent 89631fed27
commit b91ad981b8
3 changed files with 20 additions and 19 deletions

View file

@ -217,8 +217,8 @@ bool qdev_should_hide_device(QemuOpts *opts)
DeviceListener *listener; DeviceListener *listener;
QTAILQ_FOREACH(listener, &device_listeners, link) { QTAILQ_FOREACH(listener, &device_listeners, link) {
if (listener->should_be_hidden) { if (listener->hide_device) {
if (listener->should_be_hidden(listener, opts)) { if (listener->hide_device(listener, opts)) {
return true; return true;
} }
} }

View file

@ -3161,8 +3161,8 @@ static void virtio_net_migration_state_notifier(Notifier *notifier, void *data)
virtio_net_handle_migration_primary(n, s); virtio_net_handle_migration_primary(n, s);
} }
static bool virtio_net_primary_should_be_hidden(DeviceListener *listener, static bool failover_hide_primary_device(DeviceListener *listener,
QemuOpts *device_opts) QemuOpts *device_opts)
{ {
VirtIONet *n = container_of(listener, VirtIONet, primary_listener); VirtIONet *n = container_of(listener, VirtIONet, primary_listener);
bool hide; bool hide;
@ -3220,8 +3220,7 @@ static void virtio_net_device_realize(DeviceState *dev, Error **errp)
} }
if (n->failover) { if (n->failover) {
n->primary_listener.should_be_hidden = n->primary_listener.hide_device = failover_hide_primary_device;
virtio_net_primary_should_be_hidden;
qatomic_set(&n->failover_primary_hidden, true); qatomic_set(&n->failover_primary_hidden, true);
device_listener_register(&n->primary_listener); device_listener_register(&n->primary_listener);
n->migration_state.notify = virtio_net_migration_state_notifier; n->migration_state.notify = virtio_net_migration_state_notifier;

View file

@ -81,16 +81,17 @@ typedef void (*BusUnrealize)(BusState *bus);
* </note> * </note>
* *
* # Hiding a device # * # Hiding a device #
* To hide a device, a DeviceListener function should_be_hidden() needs to * To hide a device, a DeviceListener function hide_device() needs to
* be registered. * be registered.
* It can be used to defer adding a device and therefore hide it from the * It can be used to defer adding a device and therefore hide it from
* guest. The handler registering to this DeviceListener can save the QOpts * the guest. The handler registering to this DeviceListener can save
* passed to it for re-using it later and must return that it wants the device * the QOpts passed to it for re-using it later. It must return if it
* to be/remain hidden or not. When the handler function decides the device * wants the device to be hidden or visible. When the handler function
* shall not be hidden it will be added in qdev_device_add() and * decides the device shall be visible it will be added with
* realized as any other device. Otherwise qdev_device_add() will return early * qdev_device_add() and realized as any other device. Otherwise
* without adding the device. The guest will not see a "hidden" device * qdev_device_add() will return early without adding the device. The
* until it was marked don't hide and qdev_device_add called again. * guest will not see a "hidden" device until it was marked visible
* and qdev_device_add called again.
* *
*/ */
struct DeviceClass { struct DeviceClass {
@ -196,11 +197,12 @@ struct DeviceListener {
void (*realize)(DeviceListener *listener, DeviceState *dev); void (*realize)(DeviceListener *listener, DeviceState *dev);
void (*unrealize)(DeviceListener *listener, DeviceState *dev); void (*unrealize)(DeviceListener *listener, DeviceState *dev);
/* /*
* This callback is called upon init of the DeviceState and allows to * This callback is called upon init of the DeviceState and
* inform qdev that a device should be hidden, depending on the device * informs qdev if a device should be visible or hidden. We can
* opts, for example, to hide a standby device. * hide a failover device depending for example on the device
* opts.
*/ */
bool (*should_be_hidden)(DeviceListener *listener, QemuOpts *device_opts); bool (*hide_device)(DeviceListener *listener, QemuOpts *device_opts);
QTAILQ_ENTRY(DeviceListener) link; QTAILQ_ENTRY(DeviceListener) link;
}; };