From: Jonathan Davies Date: Fri, 7 Apr 2017 13:27:20 +0000 (+0100) Subject: oxenstored: save remote evtchn port, not local port X-Git-Tag: archive/raspbian/4.11.1-1+rpi1~1^2~66^2~2244 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=27ce9d49d0a57d0bd18dcea483000bc041b55a3c;p=xen.git oxenstored: save remote evtchn port, not local port Previously, Domain.dump output the number of the local port corresponding to each domain's event-channel. However, when oxenstored exits, it closes /dev/xen/evtchn which causes the kernel to close the local port (evtchn_release), so this port is no longer useful. Instead, store the remote port. This can be used to reconnect the event-channel by binding the original remote port to a fresh local port. Indeed, the logic for parsing the stored state already expects a remote port as it passes the parsed port number to Domain.make (via Domains.create), which takes a remote port. Signed-off-by: Jonathan Davies Reviewed-by: Wei Liu Reviewed-by: Christian Lindig Release-acked-by: Julien Grall --- diff --git a/tools/ocaml/xenstored/domain.ml b/tools/ocaml/xenstored/domain.ml index 4515650d51..eda2ea91af 100644 --- a/tools/ocaml/xenstored/domain.ml +++ b/tools/ocaml/xenstored/domain.ml @@ -62,7 +62,7 @@ let string_of_port = function | Some x -> string_of_int (Xeneventchn.to_int x) let dump d chan = - fprintf chan "dom,%d,%nd,%s\n" d.id d.mfn (string_of_port d.port) + fprintf chan "dom,%d,%nd,%d\n" d.id d.mfn d.remote_port let notify dom = match dom.port with | None ->