mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-10 23:07:44 +00:00
PHYP: Adding reboot domain function
Adding reboot <domain> function for pHyp driver.
This commit is contained in:
parent
4037f0257c
commit
41461ff7f7
@ -3383,6 +3383,39 @@ cleanup:
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int
|
||||||
|
phypDomainReboot(virDomainPtr dom, unsigned int flags ATTRIBUTE_UNUSED)
|
||||||
|
{
|
||||||
|
int result = -1;
|
||||||
|
ConnectionData *connection_data = dom->conn->networkPrivateData;
|
||||||
|
virConnectPtr conn = dom->conn;
|
||||||
|
LIBSSH2_SESSION *session = connection_data->session;
|
||||||
|
phyp_driverPtr phyp_driver = conn->privateData;
|
||||||
|
int system_type = phyp_driver->system_type;
|
||||||
|
char *managed_system = phyp_driver->managed_system;
|
||||||
|
int exit_status = 0;
|
||||||
|
char *ret = NULL;
|
||||||
|
virBuffer buf = VIR_BUFFER_INITIALIZER;
|
||||||
|
|
||||||
|
virBufferAddLit(&buf, "chsysstate");
|
||||||
|
if (system_type == HMC)
|
||||||
|
virBufferVSprintf(&buf, " -m %s", managed_system);
|
||||||
|
virBufferVSprintf(&buf,
|
||||||
|
" -r lpar -o shutdown --id %d --immed --restart",
|
||||||
|
dom->id);
|
||||||
|
ret = phypExecBuffer(session, &buf, &exit_status, dom->conn, false);
|
||||||
|
|
||||||
|
if (exit_status < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
result = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
VIR_FREE(ret);
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
phypDomainShutdown(virDomainPtr dom)
|
phypDomainShutdown(virDomainPtr dom)
|
||||||
{
|
{
|
||||||
@ -3707,7 +3740,7 @@ static virDriver phypDriver = {
|
|||||||
NULL, /* domainSuspend */
|
NULL, /* domainSuspend */
|
||||||
phypDomainResume, /* domainResume */
|
phypDomainResume, /* domainResume */
|
||||||
phypDomainShutdown, /* domainShutdown */
|
phypDomainShutdown, /* domainShutdown */
|
||||||
NULL, /* domainReboot */
|
phypDomainReboot, /* domainReboot */
|
||||||
phypDomainDestroy, /* domainDestroy */
|
phypDomainDestroy, /* domainDestroy */
|
||||||
NULL, /* domainGetOSType */
|
NULL, /* domainGetOSType */
|
||||||
NULL, /* domainGetMaxMemory */
|
NULL, /* domainGetMaxMemory */
|
||||||
|
Loading…
Reference in New Issue
Block a user