# HG changeset patch
# User Jonathan Knowles <[email protected]>
# 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 <[email protected]>
Acked-by: Marcus Granado <[email protected]>

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 ++++++++--------


# HG changeset patch
# User Jonathan Knowles <[email protected]>
# 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 <[email protected]>
Acked-by: Marcus Granado <[email protected]>

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);
_______________________________________________
xen-api mailing list
[email protected]
http://lists.xensource.com/mailman/listinfo/xen-api

Reply via email to