From 5fedaf9ef71dfbecd708cb771574c8c53f08a3c1 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Fri, 13 Mar 2009 07:38:05 +0000 Subject: [PATCH] xend: Fix domain core-dumping about reset option This patch moves a call processing of a domain reset processing from xm to xend. Also, it adds a reset argument to do_dump() of SrvDomain.py. Signed-off-by: Masaki Kanno --- tools/python/xen/xend/XendDomain.py | 10 ++++++---- tools/python/xen/xend/server/SrvDomain.py | 3 ++- tools/python/xen/xm/main.py | 4 +--- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index bba98f596b..b624f786ad 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -1223,7 +1223,7 @@ class XendDomain: log.exception("domain_pause") raise XendError(str(ex)) - def domain_dump(self, domid, filename, live, crash): + def domain_dump(self, domid, filename=None, live=False, crash=False, reset=False): """Dump domain core.""" dominfo = self.domain_lookup_nr(domid) @@ -1244,15 +1244,17 @@ class XendDomain: try: try: log.info("Domain core dump requested for domain %s (%d) " - "live=%d crash=%d.", - dominfo.getName(), dominfo.getDomid(), live, crash) + "live=%d crash=%d reset=%d.", + dominfo.getName(), dominfo.getDomid(), live, crash, reset) dominfo.dumpCore(filename) if crash: self.domain_destroy(domid) + elif reset: + self.domain_reset(domid) except Exception, ex: raise XendError(str(ex)) finally: - if dopause and not crash: + if dopause and not crash and not reset: dominfo.unpause() def domain_destroy(self, domid): diff --git a/tools/python/xen/xend/server/SrvDomain.py b/tools/python/xen/xend/server/SrvDomain.py index 531b02e5cf..b76c7b3652 100644 --- a/tools/python/xen/xend/server/SrvDomain.py +++ b/tools/python/xen/xend/server/SrvDomain.py @@ -104,7 +104,8 @@ class SrvDomain(SrvDir): [['dom', 'int'], ['file', 'str'], ['live', 'int'], - ['crash', 'int']]) + ['crash', 'int'], + ['reset', 'int']]) return fn(req.args, {'dom': self.dom.domid}) def op_migrate(self, op, req): diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index c8bf32174c..c7bc21e523 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -1352,9 +1352,7 @@ def xm_dump_core(args): filename = None print "Dumping core of domain: %s ..." % str(dom) - server.xend.domain.dump(dom, filename, live, crash) - if reset: - server.xend.domain.reset(dom) + server.xend.domain.dump(dom, filename, live, crash, reset) def xm_rename(args): arg_check(args, "rename", 2) -- 2.30.2