]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
oxenstored: make --restart option best-effort
authorJonathan Davies <jonathan.davies@citrix.com>
Fri, 7 Apr 2017 13:27:22 +0000 (14:27 +0100)
committerWei Liu <wei.liu2@citrix.com>
Mon, 10 Apr 2017 13:46:45 +0000 (14:46 +0100)
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>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Christian Lindig <christian.lindig@citrix.com>
Release-acked-by: Julien Grall <julien.grall@arm.com>
tools/ocaml/xenstored/xenstored.ml

index 77fd9e3bacbe5de3b743c2aa157c871e393ed168..bb780d045948a32c60f77695d97bb67d1765be57 100644 (file)
@@ -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 (