mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 02:30:03 +01:00
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 <kanno.masaki@jp.fujitsu.com>
This commit is contained in:
1 parent
b8fb8d5f77
commit
5fedaf9ef7
3 files changed
+9
-8
No files matched your search
@@ -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):
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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)
|
||||
|
||||