mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Closing the evtchn handle will unbind and free all local ports. The new xenstored would need to rebind all evtchns, which is work that we don't want or need to be doing during the critical handover period. However, it turns out that the Windows PV drivers also rebind their local port too across suspend/resume, leaving (o)xenstored with a stale idea of the remote port to use. In this case, reusing the established connection is the only robust option. Therefore: * Have oxenstored open /dev/xen/evtchn without CLOEXEC at start of day. * Extend the handover information with the evtchn fd, domexc virq local port, and the local port number for each domain connection. * Have (the new) oxenstored recover the open handle using Xeneventchn.fdopen, and use the provided local ports rather than trying to rebind them. When this new information isn't present (i.e. live updating from an oxenstored prior to this change), the best-effort status quo will have to do. Signed-off-by: Edwin Török <edvin.torok@citrix.com> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Christian Lindig <christian.lindig@citrix.com>