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 5 of 8] [CA-39589] Refactoring: extracts out the "suspe

To: xen-api@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-API] [PATCH 5 of 8] [CA-39589] Refactoring: extracts out the "suspend_domain" function from a deeply nested block
From: Jonathan Knowles <jonathan.knowles@xxxxxxxxxxxxx>
Date: Mon, 29 Mar 2010 11:53:44 +0100
Delivery-date: Mon, 29 Mar 2010 03:55:23 -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 1269859682 -3600
# Node ID e6d4f3a5b318bf0503270b4b7252344468af4bf3
# Parent  af259cf5d310d9f44cc7380de6ed5117ab7c38fa
[CA-39589] Refactoring: extracts out the "suspend_domain" function from a 
deeply nested block.

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

diff -r af259cf5d310 -r e6d4f3a5b318 ocaml/xapi/vmops.ml
--- a/ocaml/xapi/vmops.ml       Mon Mar 29 11:48:02 2010 +0100
+++ b/ocaml/xapi/vmops.ml       Mon Mar 29 11:48:02 2010 +0100
@@ -912,6 +912,13 @@
                | Xal.Shutdown x ->
                        failwith (Printf.sprintf "Expected domain shutdown 
reason: %d" x)
        in
+       let suspend_domain ~fd ~hvm () = with_xal (fun xal ->
+               Domain.suspend ~xc ~xs ~hvm domid fd [] 
~progress_callback:progress_cb
+                       (fun () ->
+                               handle_death
+                                       (clean_shutdown_with_reason
+                                               ~xal ~__context ~self:vm domid 
Domain.Suspend)))
+       in
        Xapi_xenops_errors.handle_xenops_error
                (fun () ->
                        with_xc_and_xs
@@ -940,14 +947,7 @@
                                                                finally
                                                                        (fun () 
->
                                                                                
debug "suspend: phase 3/4: suspending to disk";
-                                                                               
with_xal
-                                                                               
        (fun xal ->
-                                                                               
                Domain.suspend ~xc ~xs ~hvm domid fd []
-                                                                               
                        ~progress_callback:progress_cb
-                                                                               
                        (fun () ->
-                                                                               
                                handle_death (clean_shutdown_with_reason ~xal
-                                                                               
                                        ~__context ~self:vm domid
-                                                                               
                                        Domain.Suspend)));
+                                                                               
suspend_domain ~fd ~hvm ();
                                                                                
(* If the suspend succeeds, set the suspend_VDI *)
                                                                                
Db.VM.set_suspend_VDI ~__context ~self:vm ~value:vdi_ref;)
                                                                        (fun () 
-> Unix.close fd);
1 file changed, 8 insertions(+), 8 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