[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 00/27] Virtio net failover fixes
From: |
Juan Quintela |
Subject: |
[PATCH v2 00/27] Virtio net failover fixes |
Date: |
Wed, 18 Nov 2020 09:37:21 +0100 |
Hi
This is a big rework of the network failover setup. General idea is:
* We don't cache the name of the primary/standby devices
We have several problems there with stale pointers
* After this:
- We can always remove either the primary/standby devices without trouble
- Pluggin/unplugging works
- We go to device opts to see what the failover device are.
Notice that we are plugging/unplugging the device, so it is not critical.
- Once there, I "fixed" managedsave for libvirt (now gives an error instead o=
f just hanging)
* Fields not cached anymore:
- primary_device_dict
- primary_device_opts
- standby_id
- primary_device_id
- primary_dev
* I renamed the should_be_hidden() callback to hide device, but if
people preffer the old name I can leave it.
* Add (some) doc to some functions
* Remove almost 100 lines of code while fixing things.
Please review.
Later, Juan.
Juan Quintela (27):
migration: Network Failover can't work with a paused guest
failover: fix indentantion
failover: Use always atomics for primary_should_be_hidden
failover: primary bus is only used once, and where it is set
failover: Remove unused parameter
failover: Remove external partially_hotplugged property
failover: qdev_device_add() returns err or dev set
failover: Rename bool to failover_primary_hidden
failover: g_strcmp0() knows how to handle NULL
failover: Remove primary_device_opts
failover: remove standby_id variable
failover: Remove primary_device_dict
failover: Remove memory leak
failover: simplify virtio_net_find_primary()
failover: should_be_hidden() should take a bool
failover: Rename function to hide_device()
failover: virtio_net_connect_failover_devices() does nothing
failover: Rename to failover_find_primary_device()
failover: simplify qdev_device_add() failover case
failover: simplify qdev_device_add()
failover: make sure that id always exist
failover: remove failover_find_primary_device() error parameter
failover: split failover_find_primary_device_id()
failover: We don't need to cache primary_device_id anymore
failover: Caller of this two functions already have primary_dev
failover: simplify failover_unplug_primary
failover: Remove primary_dev member
include/hw/qdev-core.h | 28 ++--
include/hw/virtio/virtio-net.h | 9 +-
hw/core/qdev.c | 19 +--
hw/net/virtio-net.c | 298 +++++++++++++--------------------
migration/migration.c | 13 ++
softmmu/qdev-monitor.c | 43 ++---
6 files changed, 167 insertions(+), 243 deletions(-)
--=20
2.26.2
- [PATCH v2 00/27] Virtio net failover fixes,
Juan Quintela <=
- [PATCH v2 01/27] migration: Network Failover can't work with a paused guest, Juan Quintela, 2020/11/18
- [PATCH v2 02/27] failover: fix indentantion, Juan Quintela, 2020/11/18
- [PATCH v2 04/27] failover: primary bus is only used once, and where it is set, Juan Quintela, 2020/11/18
- [PATCH v2 03/27] failover: Use always atomics for primary_should_be_hidden, Juan Quintela, 2020/11/18
- [PATCH v2 05/27] failover: Remove unused parameter, Juan Quintela, 2020/11/18
- [PATCH v2 06/27] failover: Remove external partially_hotplugged property, Juan Quintela, 2020/11/18
- [PATCH v2 08/27] failover: Rename bool to failover_primary_hidden, Juan Quintela, 2020/11/18
- [PATCH v2 09/27] failover: g_strcmp0() knows how to handle NULL, Juan Quintela, 2020/11/18
- [PATCH v2 07/27] failover: qdev_device_add() returns err or dev set, Juan Quintela, 2020/11/18