mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 10:11:27 +01:00
Hvmloader uses the xenstore ring and then tries to reset it back to its initial state before booting the guest. Occasionally xenstored will read the ring while it is being zeroed and conclude it has been corrupted. This prevents PV drivers from loading in the guest. This patch updates the xenstore ring protocol definition, enabling a server to advertise additional features to the guest. One such feature is defined: the ability to cleanly reset the ring including the higher-level protocol, like an enhanced RESET_WATCHES for rings. This patch implements the ring reconnection features in oxenstored and hvmloader, fixing the bug. This patch also defines an 'invalid' xenstore packet type and uses this to poison the ring over a reconnect. This will make diagnosing this bug much easier in future. Signed-off-by: David Scott <dave.scott@citrix.com> Acked-by: Ian Jackson <ian.jackson@eu.citrix.com> Reviewed-by: Jon Ludlam <jonathan.ludlam@citrix.com>