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;
|
||||
}
|
||||
|
||||
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
|
||||
phypDomainShutdown(virDomainPtr dom)
|
||||
{
|
||||
@ -3707,7 +3740,7 @@ static virDriver phypDriver = {
|
||||
NULL, /* domainSuspend */
|
||||
phypDomainResume, /* domainResume */
|
||||
phypDomainShutdown, /* domainShutdown */
|
||||
NULL, /* domainReboot */
|
||||
phypDomainReboot, /* domainReboot */
|
||||
phypDomainDestroy, /* domainDestroy */
|
||||
NULL, /* domainGetOSType */
|
||||
NULL, /* domainGetMaxMemory */
|
||||
|
Loading…
Reference in New Issue
Block a user