"--key-file"; keyfile
] in
let _ =
- try Forkhelpers.execute_command_get_output ~withpath:false "cryptsetup" opts
+ try Forkhelpers.execute_command_get_output ~withpath:true "/sbin/cryptsetup" opts
with Forkhelpers.Spawn_internal_error (log, output, status) ->
let s = sprintf "output=%S status=%s" output (string_of_unix_process status) in
raise (Cryptsetup_failure ("create", name, s))
let cryptsetup_remove name =
let opts = [ "remove"; name ] in
let _ =
- try Forkhelpers.execute_command_get_output ~withpath:false "cryptsetup" opts
+ try Forkhelpers.execute_command_get_output ~withpath:true "/sbin/cryptsetup" opts
with Forkhelpers.Spawn_internal_error (log, output, status) ->
let s = sprintf "output=%S status=%s" output (string_of_unix_process status) in
raise (Cryptsetup_failure ("remove", name, s))
dc.disk_crypt_key_file
) disk.disk_crypt in
state.vm_tap2_disks <- (disk, tap2dev, cryptdev) :: state.vm_tap2_disks;
- tap2dev, Device.Vbd.Phys
+ (default tap2dev (may (fun x -> "/dev/mapper/" ^ x) cryptdev)), Device.Vbd.Phys
| _ ->
disk.disk_physpath, disk.disk_physty
in
| _ ->
failwith "need at least 5 arguments for disk"
in
- let crypt_cipher, crypt_key_size, crypt_key_file =
- (try Some (List.assoc "cipher" kvs) with Not_found -> None),
- (try Some (List.assoc "key-size" kvs) with Not_found -> None),
- (try Some (List.assoc "key-file" kvs) with Not_found -> None)
- in
let dc =
- if crypt_cipher = None && crypt_key_size = None && crypt_key_file = None then
- None
- else
- Some {
- disk_crypt_cipher = (match crypt_cipher with None -> "aes-xts-plain" | Some c -> c);
- disk_crypt_key_size = (match crypt_key_size with None -> 256 | Some i -> int_of_string i);
- disk_crypt_key_file = "";
+ try Some {
+ disk_crypt_key_file = (List.assoc "key-file" kvs);
+ disk_crypt_cipher = (try (List.assoc "cipher" kvs) with Not_found -> "aes-xts-plain");
+ disk_crypt_key_size = (try int_of_string (List.assoc "key-size" kvs) with Not_found -> 256);
}
+ with Not_found -> None
in
{
disk_physpath = physpath;