Message ID | 1491571642-24403-4-git-send-email-jonathan.davies@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
diff --git a/tools/ocaml/xenstored/domain.ml b/tools/ocaml/xenstored/domain.ml index 4515650..eda2ea9 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 ->
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 <jonathan.davies@citrix.com> --- tools/ocaml/xenstored/domain.ml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)