xm: Add a new option to xm dump-core

The option is -R|--reset.  A guest domain is reset after saving
a core dump of the guest domain when specified the option.

Signed-off-by: Masaki Kanno <kanno.masaki@jp.fujitsu.com>
This commit is contained in:
Keir Fraser committed 2008-04-25 13:40:39 +01:00
1 parent 17da362de7
commit 9fb02748d0
1 file changed
+13 -4
+13 -4
View File
@@ -133,7 +133,7 @@ SUBCOMMAND_HELP = {
'Read and/or clear Xend\'s message buffer.'),
'domid' : ('<DomainName>', 'Convert a domain name to domain id.'),
'domname' : ('<DomId>', 'Convert a domain id to domain name.'),
'dump-core' : ('[-L|--live] [-C|--crash] <Domain> [Filename]',
'dump-core' : ('[-L|--live] [-C|--crash] [-R|--reset] <Domain> [Filename]',
'Dump core for a specific domain.'),
'info' : ('[-c|--config]', 'Get information about Xen host.'),
'log' : ('', 'Print Xend log'),
@@ -243,6 +243,7 @@ SUBCOMMAND_OPTIONS = {
'dump-core': (
('-L', '--live', 'Dump core without pausing the domain'),
('-C', '--crash', 'Crash domain after dumping core'),
('-R', '--reset', 'Reset domain after dumping core'),
),
'start': (
('-p', '--paused', 'Do not unpause domain after starting it'),
@@ -1280,14 +1281,19 @@ def xm_unpause(args):
def xm_dump_core(args):
live = False
crash = False
reset = False
try:
(options, params) = getopt.gnu_getopt(args, 'LC', ['live','crash'])
(options, params) = getopt.gnu_getopt(args, 'LCR', ['live', 'crash', 'reset'])
for (k, v) in options:
if k in ('-L', '--live'):
live = True
if k in ('-C', '--crash'):
elif k in ('-C', '--crash'):
crash = True
elif k in ('-R', '--reset'):
reset = True
if crash and reset:
raise OptionError("You may not specify more than one '-CR' option")
if len(params) not in (1, 2):
raise OptionError("Expects 1 or 2 argument(s)")
except getopt.GetoptError, e:
@@ -1309,8 +1315,11 @@ def xm_dump_core(args):
if crash:
print "Destroying domain: %s ..." % str(dom)
server.xend.domain.destroy(dom)
elif reset:
print "Resetting domain: %s ..." % str(dom)
server.xend.domain.reset(dom)
finally:
if not live and not crash and ds == DOM_STATE_RUNNING:
if not live and not crash and not reset and ds == DOM_STATE_RUNNING:
server.xend.domain.unpause(dom)
def xm_rename(args):
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.