Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion lib/xenops_server.ml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ let get_backend () =
| None ->
failwith "No backend implementation set"

let dom0_uuid = ref ""

let set_dom0_uuid uuid = dom0_uuid := uuid

let ignore_exception msg f x =
try f x
with Xenopsd_error e ->
Expand Down Expand Up @@ -353,7 +357,7 @@ module VBD_DB = struct
(Jsonrpc.to_string (rpc_of Vbd.t x)) ;
(* Only if the corresponding VM actually exists *)
let vm = vm_of x.id in
if not (VM_DB.exists vm) then (
if not (VM_DB.exists vm || vm = !dom0_uuid) then (
debug "VM %s not managed by me" vm ;
raise (Xenopsd_error (Does_not_exist ("VM", vm)))
) ;
Expand Down
1 change: 1 addition & 0 deletions xc/xenops_xc_main.ml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ let check_domain0_uuid () =
Inventory.update Inventory._control_domain_uuid uuid ;
uuid
in
Xenops_server.set_dom0_uuid uuid ;
Xenctrl.domain_sethandle xc 0 uuid ;
(* make the minimum entries for dom0 *)
let kvs =
Expand Down