[Libguestfs] [PATCH v3 10/13] v2v: factor out opening and populating guestfs handle

Richard W.M. Jones rjones at redhat.com
Tue Oct 20 14:20:21 UTC 2015


On Tue, Oct 20, 2015 at 04:08:18PM +0300, Roman Kagan wrote:
> Signed-off-by: Roman Kagan <rkagan at virtuozzo.com>
> ---
>  v2v/v2v.ml | 32 ++++++++++++++++++++------------
>  1 file changed, 20 insertions(+), 12 deletions(-)
> 
> diff --git a/v2v/v2v.ml b/v2v/v2v.ml
> index c28905d..23bd708 100644
> --- a/v2v/v2v.ml
> +++ b/v2v/v2v.ml
> @@ -60,19 +60,9 @@ let rec main () =
>    let overlays = create_overlays source.s_disks in
>    let targets = init_targets overlays source output output_format in
>  
> -  (* Open the guestfs handle. *)
>    message (f_"Opening the overlay");
> -  let g = new G.guestfs () in
> -  g#set_identifier "v2v";
> -  if trace () then g#set_trace true;
> -  if verbose () then g#set_verbose true;
> -  g#set_network true;
> -  List.iter (
> -    fun ({ov_overlay_file = overlay_file}) ->
> -      g#add_drive_opts overlay_file
> -        ~format:"qcow2" ~cachemode:"unsafe" ~discard:"besteffort"
> -        ~copyonread:true
> -  ) overlays;
> +  let g = open_guestfs () in
> +  populate_overlays g overlays;
>  
>    g#launch ();
>  
> @@ -261,6 +251,24 @@ and init_targets overlays source output output_format =
>  
>    output#prepare_targets source targets
>  
> +and open_guestfs () =
> +  (* Open the guestfs handle. *)
> +  let g = new G.guestfs () in
> +  g#set_identifier "v2v";
> +  if trace () then g#set_trace true;
> +  if verbose () then g#set_verbose true;
> +  g#set_network true;
> +  g
> +
> +and populate_overlays (g:G.guestfs) overlays =
> +  (* Populate guestfs handle with qcow2 overlays. *)
> +  List.iter (
> +    fun ({ov_overlay_file = overlay_file}) ->
> +      g#add_drive_opts overlay_file
> +        ~format:"qcow2" ~cachemode:"unsafe" ~discard:"besteffort"
> +        ~copyonread:true
> +  ) overlays
> +
>  and inspect_source g root_choice =
>    let roots = g#inspect_os () in
>    let roots = Array.to_list roots in

ACK.

Since these are all the refactoring patches out of the way, I'm just
going to pause the review here, and test everything.  If the tests
pass, I will push patches 1 - 10 immediately (except patch 9), and
then continue with the review.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html




More information about the Libguestfs mailing list