mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
virsh: Add 'reset' command for virsh
Signed-off-by: Xu He Jie <xuhj@linux.vnet.ibm.com>
This commit is contained in:
parent
df1a00559c
commit
0ec9a8c2f2
@ -3191,6 +3191,44 @@ cmdReboot(vshControl *ctl, const vshCmd *cmd)
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* "reset" command
|
||||||
|
*/
|
||||||
|
static const vshCmdInfo info_reset[] = {
|
||||||
|
{"help", N_("reset a domain")},
|
||||||
|
{"desc", N_("Reset the target domain as if by power button")},
|
||||||
|
{NULL, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static const vshCmdOptDef opts_reset[] = {
|
||||||
|
{"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")},
|
||||||
|
{NULL, 0, 0, NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
static bool
|
||||||
|
cmdReset(vshControl *ctl, const vshCmd *cmd)
|
||||||
|
{
|
||||||
|
virDomainPtr dom;
|
||||||
|
bool ret = true;
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
if (!vshConnectionUsability(ctl, ctl->conn))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (!(dom = vshCommandOptDomain(ctl, cmd, &name)))
|
||||||
|
return false;
|
||||||
|
|
||||||
|
if (virDomainReset(dom, 0) == 0) {
|
||||||
|
vshPrint(ctl, _("Domain %s was reset\n"), name);
|
||||||
|
} else {
|
||||||
|
vshError(ctl, _("Failed to reset domain %s"), name);
|
||||||
|
ret = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
virDomainFree(dom);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* "destroy" command
|
* "destroy" command
|
||||||
*/
|
*/
|
||||||
@ -13665,6 +13703,7 @@ static const vshCmdDef domManagementCmds[] = {
|
|||||||
{"migrate-getspeed", cmdMigrateGetMaxSpeed,
|
{"migrate-getspeed", cmdMigrateGetMaxSpeed,
|
||||||
opts_migrate_getspeed, info_migrate_getspeed, 0},
|
opts_migrate_getspeed, info_migrate_getspeed, 0},
|
||||||
{"reboot", cmdReboot, opts_reboot, info_reboot, 0},
|
{"reboot", cmdReboot, opts_reboot, info_reboot, 0},
|
||||||
|
{"reset", cmdReset, opts_reset, info_reset, 0},
|
||||||
{"restore", cmdRestore, opts_restore, info_restore, 0},
|
{"restore", cmdRestore, opts_restore, info_restore, 0},
|
||||||
{"resume", cmdResume, opts_resume, info_resume, 0},
|
{"resume", cmdResume, opts_resume, info_resume, 0},
|
||||||
{"save", cmdSave, opts_save, info_save, 0},
|
{"save", cmdSave, opts_save, info_save, 0},
|
||||||
|
@ -790,6 +790,14 @@ domain actually reboots.
|
|||||||
The exact behavior of a domain when it reboots is set by the
|
The exact behavior of a domain when it reboots is set by the
|
||||||
I<on_reboot> parameter in the domain's XML definition.
|
I<on_reboot> parameter in the domain's XML definition.
|
||||||
|
|
||||||
|
=item B<reset> I<domain-id>
|
||||||
|
|
||||||
|
Reset a domain immediately without any guest shutdown. B<reset>
|
||||||
|
emulates the power reset button on a machine, where all guest
|
||||||
|
hardware sees the RST line set and reinitializes internal state.
|
||||||
|
|
||||||
|
B<Note>: Reset without any guest OS shutdown risks data loss.
|
||||||
|
|
||||||
=item B<restore> I<state-file> [I<--bypass-cache>] [I<--xml> B<file>]
|
=item B<restore> I<state-file> [I<--bypass-cache>] [I<--xml> B<file>]
|
||||||
[{I<--running> | I<--paused>}]
|
[{I<--running> | I<--paused>}]
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user