diff options
| author | Lukas Straub <lukasstraub2@web.de> | 2020-05-22 15:53:55 +0800 |
|---|---|---|
| committer | Jason Wang <jasowang@redhat.com> | 2020-06-18 21:05:52 +0800 |
| commit | 45942b79b9f89b42a5f5ccfa861c36a86a95d89a (patch) | |
| tree | b883d75105b47c5bd649af713f9c18c65885532c /linux-headers/linux | |
| parent | 76658541f3950e580ae3be8019f1b4c019a8a638 (diff) | |
| download | focaccia-qemu-45942b79b9f89b42a5f5ccfa861c36a86a95d89a.tar.gz focaccia-qemu-45942b79b9f89b42a5f5ccfa861c36a86a95d89a.zip | |
net/colo-compare.c: Check that colo-compare is active
If the colo-compare object is removed before failover and a checkpoint happens, qemu crashes because it tries to lock the destroyed event_mtx in colo_notify_compares_event. Fix this by checking if everything is initialized by introducing a new variable colo_compare_active which is protected by a new mutex colo_compare_mutex. The new mutex also protects against concurrent access of the net_compares list and makes sure that colo_notify_compares_event isn't active while we destroy event_mtx and event_complete_cond. With this it also is again possible to use colo without colo-compare (periodic mode) and to use multiple colo-compare for multiple network interfaces. Signed-off-by: Lukas Straub <lukasstraub2@web.de> Tested-by: Lukas Straub <lukasstraub2@web.de> Reviewed-by: Zhang Chen <chen.zhang@intel.com> Signed-off-by: Zhang Chen <chen.zhang@intel.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
Diffstat (limited to 'linux-headers/linux')
0 files changed, 0 insertions, 0 deletions