PHYP: Adding reboot domain function

Adding reboot <domain> function for pHyp driver.
This commit is contained in:
Eduardo Otubo 2011-04-19 12:34:08 -03:00 committed by Matthias Bolte
parent 4037f0257c
commit 41461ff7f7

View File

@ -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 */