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

[Xen-devel] [PATCH][VT][12/15] When the guest shuts down a VM, make sure that the domain gets destroyed.



When the guest shuts down a VM, make sure that the domain gets destroyed.

Device model needs to do xm destroy before it exits on
guest shutdown/poweroff/halt -p.

Signed-off-by: Edwin Zhai <edwin.zhai@xxxxxxxxx>
Signed-off-by: Arun Sharma <arun.sharma@xxxxxxxxx>

diff -r ac8cae1f2c47 -r 455dff354413 tools/ioemu/monitor.c
--- a/tools/ioemu/monitor.c     Tue Aug  9 19:06:45 2005
+++ b/tools/ioemu/monitor.c     Tue Aug  9 19:12:44 2005
@@ -225,14 +225,10 @@
     }
 }
 
+extern void destroy_vmx_domain(void);
 static void do_quit(void)
 {
-    extern int domid;
-    extern FILE* logfile;
-    char destroy_cmd[20];
-    sprintf(destroy_cmd, "xm destroy %d", domid);
-    if (system(destroy_cmd) == -1)
-        fprintf(logfile, "%s failed.!\n", destroy_cmd);
+    destroy_vmx_domain();
     exit(0);
 }
 
diff -r ac8cae1f2c47 -r 455dff354413 tools/ioemu/target-i386-dm/helper2.c
--- a/tools/ioemu/target-i386-dm/helper2.c      Tue Aug  9 19:06:45 2005
+++ b/tools/ioemu/target-i386-dm/helper2.c      Tue Aug  9 19:12:44 2005
@@ -328,7 +328,16 @@
        env->send_event = 1;
 }
 
-//static unsigned long tsc_per_tick = 1; /* XXX: calibrate */
+void
+destroy_vmx_domain(void)
+{
+    extern int domid;
+    extern FILE* logfile;
+    char destroy_cmd[20];
+    sprintf(destroy_cmd, "xm destroy %d", domid);
+    if (system(destroy_cmd) == -1)
+        fprintf(logfile, "%s failed.!\n", destroy_cmd);
+}
 
 int main_loop(void)
 {
@@ -396,6 +405,7 @@
                        }
                }
        }
+        destroy_vmx_domain();
        return 0;
 }
 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.