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:
parent
89631fed27
commit
b91ad981b8
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue