Message ID | 20180514165424.12884-17-zhangckid@gmail.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
* Zhang Chen (zhangckid@gmail.com) wrote: > From: zhanghailiang <zhang.zhanghailiang@huawei.com> > > Notify all net filters about the checkpoint and failover event. > > Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com> Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com> > --- > migration/colo.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/migration/colo.c b/migration/colo.c > index 3dfd84d897..15463e2823 100644 > --- a/migration/colo.c > +++ b/migration/colo.c > @@ -88,6 +88,11 @@ static void secondary_vm_do_failover(void) > if (local_err) { > error_report_err(local_err); > } > + /* Notify all filters of all NIC to do checkpoint */ > + colo_notify_filters_event(COLO_EVENT_FAILOVER, &local_err); > + if (local_err) { > + error_report_err(local_err); > + } > > if (!autostart) { > error_report("\"-S\" qemu option will be ignored in secondary side"); > @@ -799,6 +804,13 @@ void *colo_process_incoming_thread(void *opaque) > goto out; > } > > + /* Notify all filters of all NIC to do checkpoint */ > + colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err); > + if (local_err) { > + qemu_mutex_unlock_iothread(); > + goto out; > + } > + > vmstate_loading = false; > vm_start(); > trace_colo_vm_state_change("stop", "run"); > -- > 2.17.0 > -- Dr. David Alan Gilbert / dgilbert@redhat.com / Manchester, UK
diff --git a/migration/colo.c b/migration/colo.c index 3dfd84d897..15463e2823 100644 --- a/migration/colo.c +++ b/migration/colo.c @@ -88,6 +88,11 @@ static void secondary_vm_do_failover(void) if (local_err) { error_report_err(local_err); } + /* Notify all filters of all NIC to do checkpoint */ + colo_notify_filters_event(COLO_EVENT_FAILOVER, &local_err); + if (local_err) { + error_report_err(local_err); + } if (!autostart) { error_report("\"-S\" qemu option will be ignored in secondary side"); @@ -799,6 +804,13 @@ void *colo_process_incoming_thread(void *opaque) goto out; } + /* Notify all filters of all NIC to do checkpoint */ + colo_notify_filters_event(COLO_EVENT_CHECKPOINT, &local_err); + if (local_err) { + qemu_mutex_unlock_iothread(); + goto out; + } + vmstate_loading = false; vm_start(); trace_colo_vm_state_change("stop", "run");