WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-api

[Xen-API] [PATCH 3 of 8] [CA-39589] Refactoring: lifts a number of defin

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH 3 of 8] [CA-39589] Refactoring: lifts a number of definitions out of a deeply nested block
From: Jonathan Knowles <jonathan.knowles@xxxxxxxxxxxxx>
Date: Mon, 29 Mar 2010 11:53:42 +0100
Delivery-date: Mon, 29 Mar 2010 03:56:14 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <patchbomb.1269860019@radon>
List-help: <mailto:xen-api-request@lists.xensource.com?subject=help>
List-id: Discussion of API issues surrounding Xen <xen-api.lists.xensource.com>
List-post: <mailto:xen-api@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-api>, <mailto:xen-api-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-api-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Jonathan Knowles <jonathan.knowles@xxxxxxxxxxxxx>
# Date 1269859681 -3600
# Node ID 72d353d9ebe73fe82bcec06ea283a0fefdcba512
# Parent  4a9675ecf42df55895f201e2e7928d4ff0c6fc7f
[CA-39589] Refactoring: lifts a number of definitions out of a deeply nested 
block.

Signed-off-by: Jonathan Knowles <jonathan.knowles@xxxxxxxxxxxxx>
Acked-by: Marcus Granado <Marcus.Granado@xxxxxxxxxxxxx>

diff -r 4a9675ecf42d -r 72d353d9ebe7 ocaml/xapi/vmops.ml
--- a/ocaml/xapi/vmops.ml       Mon Mar 29 11:48:00 2010 +0100
+++ b/ocaml/xapi/vmops.ml       Mon Mar 29 11:48:01 2010 +0100
@@ -892,18 +892,19 @@
 
 let suspend ~live ~progress_cb ~__context ~xc ~xs ~vm =
        let uuid = Db.VM.get_uuid ~__context ~self:vm in
-       let hvm = Helpers.has_booted_hvm ~__context ~self:vm in
        let domid = Helpers.domid_of_vm ~__context ~self:vm in
+       let is_paused = Db.VM.get_power_state ~__context ~self:vm = `Paused in
+       let min = Db.VM.get_memory_dynamic_min ~__context ~self:vm in
+       let max = Db.VM.get_memory_dynamic_max ~__context ~self:vm in
+       let min = Int64.to_int (Int64.div min 1024L) in
+       let max = Int64.to_int (Int64.div max 1024L) in
+       let suspend_SR = Helpers.choose_suspend_sr ~__context ~vm in
+       let required_space = get_suspend_space __context vm in
        Xapi_xenops_errors.handle_xenops_error
                (fun () ->
                        with_xc_and_xs
                                (fun xc xs ->
-                                       let is_paused = Db.VM.get_power_state 
~__context ~self:vm = `Paused in
                                        if is_paused then Domain.unpause ~xc 
domid;
-                                       let min = Db.VM.get_memory_dynamic_min 
~__context ~self:vm in
-                                       let max = Db.VM.get_memory_dynamic_max 
~__context ~self:vm in
-                                       let min = Int64.to_int (Int64.div min 
1024L) in
-                                       let max = Int64.to_int (Int64.div max 
1024L) in
                                        finally (fun () ->
                                                (* Balloon down the guest as 
far as we can to force it to clear unnecessary caches etc. *)
                                                debug "suspend phase 0/4: 
asking guest to balloon down";
@@ -912,8 +913,6 @@
                                                debug "suspend phase 1/4: 
hot-unplugging any PCI devices";
                                                let hvm = (Xc.domain_getinfo xc 
domid).Xc.hvm_guest in
                                                if hvm then 
unplug_pcidevs_noexn ~__context ~vm domid (Device.PCI.list xc xs domid);
-                                               let suspend_SR = 
Helpers.choose_suspend_sr ~__context ~vm in
-                                               let required_space = 
get_suspend_space __context vm in
                                                Sm_fs_ops.with_new_fs_vdi 
__context
                                                        ~name_label:"Suspend 
image" ~name_description:"Suspend image"
                                                        ~sR:suspend_SR 
~_type:`suspend ~required_space
@@ -928,7 +927,6 @@
                                                                        [ 
Unix.O_WRONLY; Unix.O_CREAT ] 0o600 in
                                                                finally
                                                                        (fun () 
->
-                                                                               
let domid = Helpers.domid_of_vm ~__context ~self:vm in
                                                                                
debug "suspend: phase 3/4: suspending to disk";
                                                                                
with_xal
                                                                                
        (fun xal ->
1 file changed, 7 insertions(+), 9 deletions(-)
ocaml/xapi/vmops.ml |   16 +++++++---------


Attachment: xen-api.hg-8.patch
Description: Text Data

_______________________________________________
xen-api mailing list
xen-api@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/mailman/listinfo/xen-api