qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/3] Support guest reboots when in Xen HVM mode


From: John Baboval
Subject: Re: [Qemu-devel] [PATCH 1/3] Support guest reboots when in Xen HVM mode
Date: Mon, 07 Nov 2011 11:44:48 -0500
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10



On 11/07/2011 11:43 AM, Stefano Stabellini wrote:
On Fri, 28 Oct 2011, John Baboval wrote:
Call xc_domain_shutdown with the reboot flag when the guest requests a
reboot.
Thanks for the patch!
Sorry for the delay in replaying but away for XenSummit Asia.

Signed-off-by: John V. Baboval<address@hidden>
Signed-off-by: Tom Goetz<address@hidden>
---
   xen-all.c |   22 ++++++++++++++++++++++
   1 files changed, 22 insertions(+), 0 deletions(-)

diff --git a/xen-all.c b/xen-all.c
index b5e28ab..cd71b24 100644
--- a/xen-all.c
+++ b/xen-all.c
@@ -742,6 +742,7 @@ static void cpu_handle_ioreq(void *opaque)
               }
               if (qemu_reset_requested_get()) {
                   qemu_system_reset(VMRESET_REPORT);
+                reboot_hvm_domain();
               }
           }
   @@ -979,3 +980,24 @@ void destroy_hvm_domain(void)
           xc_interface_close(xc_handle);
       }
   }
+
+void reboot_hvm_domain(void)
+{
+    XenXC xc_handle;
+    int sts;
+
+    xc_handle = xen_xc_interface_open(0, 0, 0);
+    if (xc_handle == XC_HANDLER_INITIAL_VALUE) {
+        fprintf(stderr, "Cannot acquire xenctrl handle\n");
+    } else {
+        sts = xc_domain_shutdown(xc_handle, xen_domid, SHUTDOWN_reboot);
+        if (sts != 0) {
+            fprintf(stderr, "? xc_domain_shutdown failed to issue reboot, "
+                    "sts %d, %s\n", sts, strerror(errno));
+        } else {
+            fprintf(stderr, "Issued domain %d reboot\n", xen_domid);
+        }
+        xc_interface_close(xc_handle);
+    }
+}
I think that what you are doing is correct but I couldn't help but
notice that reboot_hvm_domain is very similar to destroy_hvm_domain.
I would rather unify the two functions and have a single shutdown_domain
function with two arguments: a reboot/destroy argument and xc_handle
(we don't need to open a new one, we can reuse state->xce_handle).
Are you OK with submitting a new version of this patch with these
changes?

Sounds good to me. I have a huge backlog of stuff to debug and test though, so it'll be a few days before I get to this.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]