From: Christian Limpach Date: Tue, 22 Dec 2009 19:24:33 +0000 (+0000) Subject: Merge branch 'master' of git://git.uk.xensource.com/xenclient/toolstack X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=2143ab0e881004ea822a8c6cab371f18e09cdeaa;p=xenclient%2Ftoolstack.git Merge branch 'master' of git://git.uk.xensource.com/xenclient/toolstack --- 2143ab0e881004ea822a8c6cab371f18e09cdeaa diff --cc xenvm/vmconfig.ml index f04188c,fbe536c..62e0b26 --- a/xenvm/vmconfig.ml +++ b/xenvm/vmconfig.ml @@@ -342,18 -342,27 +342,20 @@@ let config_disk_of_string s | _ -> acc ) [] left in (physpath, Device.Vbd.physty_of_string physty_s, - virtpath, Device.Vbd.mode_of_string mode_s, - Device.Vbd.devty_of_string devtype_s, kvs) + virtpath, Device.Vbd.mode_of_string mode_s, + Device.Vbd.devty_of_string devtype_s, + snapshot_mode_of_string snapshotmode_s, + kvs) | _ -> - failwith "need at least 5 arguments for disk" + failwith "need at least 6 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;