X-Git-Url: http://git.annexia.org/?p=virt-mem.git;a=blobdiff_plain;f=lib%2Fvirt_mem_capture.ml;h=dab261b3a26112f51920a1e2c985d7d962623eae;hp=154f76d709b17bd3f0c301a3cd05adac6ad36fb8;hb=HEAD;hpb=f515867f07955345c801e13e6667485667cfc199 diff --git a/lib/virt_mem_capture.ml b/lib/virt_mem_capture.ml index 154f76d..dab261b 100644 --- a/lib/virt_mem_capture.ml +++ b/lib/virt_mem_capture.ml @@ -22,6 +22,9 @@ open Printf open ExtString +module D = Libvirt.Domain + +open Virt_mem_types open Virt_mem_gettext.Gettext (* This will contain what is passed by the user as '-o' option. *) @@ -36,10 +39,9 @@ let argcheck debug = exit 1 ) -(* Capture the images before kernel symbol analysis is attempted. - * Just save them to the output file(s). - *) -let rec beforeksyms debug = function +(* Capture the image. *) +let rec run debug kimage = () +(* | [] -> prerr_endline (s_"virt-mem capture: warning: no kernel images were captured") @@ -51,11 +53,11 @@ let rec beforeksyms debug = function * is the domain ID (if known) or a mangled domain name. *) List.iter ( - fun ((domid, domname, _, _) as image) -> + fun ({ dom = dom; domname = domname } as image) -> let filename = !output_filename ^ "." ^ - match domid with - | Some id -> string_of_int id + match dom with + | Some dom -> string_of_int (D.get_id dom) | None -> let f = function | ('a'..'z'|'A'..'Z'|'0'..'9'|'_' as c) -> String.make 1 c @@ -65,7 +67,7 @@ let rec beforeksyms debug = function save_image image filename ) images -and save_image (_, domname, arch, mem) filename = +and save_image { domname = domname } filename = assert false; let chan = open_out filename in @@ -74,6 +76,7 @@ and save_image (_, domname, arch, mem) filename = printf (f_"virt-mem capture: wrote kernel image from %s to filename %s\n") domname filename +*) let summary = s_"capture memory image for post-mortem analysis" let description = s_"Capture a memory image to a file for later post-mortem @@ -89,6 +92,6 @@ let extra_args = [ let () = Virt_mem.register - ~external_cmd:false ~extra_args - ~argcheck ~beforeksyms + ~needs_everything:true ~run + ~external_cmd:false ~extra_args ~argcheck "capture" summary description