diff mbox

[5/5] oxenstored: make --restart option best-effort

Message ID 1491571642-24403-6-git-send-email-jonathan.davies@citrix.com (mailing list archive)
State New, archived
Headers show

Commit Message

Jonathan Davies April 7, 2017, 1:27 p.m. UTC
Only attempt to restore from saved state if it exists.

Without this, oxenstored immediately exits with an exception if the
--restart option is provided but the state file is not present.

(The time-of-check to time-of-use race isn't a concern as oxenstored is
the only thing that should write the state file.)

Signed-off-by: Jonathan Davies <jonathan.davies@citrix.com>
---
 tools/ocaml/xenstored/xenstored.ml | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff mbox

Patch

diff --git a/tools/ocaml/xenstored/xenstored.ml b/tools/ocaml/xenstored/xenstored.ml
index 77fd9e3..bb780d0 100644
--- a/tools/ocaml/xenstored/xenstored.ml
+++ b/tools/ocaml/xenstored/xenstored.ml
@@ -287,8 +287,9 @@  let _ =
 
 	Logging.init_xenstored_log();
 
-	if cf.restart then (
-		DB.from_file store domains cons (Paths.xen_run_stored ^ "/db");
+	let filename = Paths.xen_run_stored ^ "/db" in
+	if cf.restart && Sys.file_exists filename then (
+		DB.from_file store domains cons filename;
 		Event.bind_dom_exc_virq eventchn
 	) else (
 		if !Disk.enable then (