mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-25 15:15:25 +00:00
qemu: Rename qemuProcessBuildDestroyHugepagesPath
At the same time, move its internals into a separate function so that they can be reused. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
parent
d52e6043bc
commit
eff2b2edb1
@ -2077,7 +2077,7 @@ qemuDomainAttachMemory(virQEMUDriverPtr driver,
|
|||||||
priv->qemuCaps, vm->def, mem, NULL, true) < 0)
|
priv->qemuCaps, vm->def, mem, NULL, true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuProcessBuildDestroyHugepagesPath(driver, vm, mem, true) < 0)
|
if (qemuProcessBuildDestroyMemoryPaths(driver, vm, mem, true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuDomainNamespaceSetupMemory(driver, vm, mem) < 0)
|
if (qemuDomainNamespaceSetupMemory(driver, vm, mem) < 0)
|
||||||
|
@ -3324,8 +3324,42 @@ qemuProcessNeedHugepagesPath(virDomainDefPtr def,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
qemuProcessBuildDestroyMemoryPathsImpl(virQEMUDriverPtr driver,
|
||||||
|
virDomainDefPtr def,
|
||||||
|
const char *path,
|
||||||
|
bool build)
|
||||||
|
{
|
||||||
|
if (build) {
|
||||||
|
if (virFileExists(path))
|
||||||
|
return 0;
|
||||||
|
|
||||||
|
if (virFileMakePathWithMode(path, 0700) < 0) {
|
||||||
|
virReportSystemError(errno,
|
||||||
|
_("Unable to create %s"),
|
||||||
|
path);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (qemuSecurityDomainSetPathLabel(driver->securityManager,
|
||||||
|
def, path) < 0) {
|
||||||
|
virReportError(VIR_ERR_INTERNAL_ERROR,
|
||||||
|
_("Unable to label %s"), path);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (rmdir(path) < 0 &&
|
||||||
|
errno != ENOENT)
|
||||||
|
VIR_WARN("Unable to remove hugepage path: %s (errno=%d)",
|
||||||
|
path, errno);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuProcessBuildDestroyHugepagesPath(virQEMUDriverPtr driver,
|
qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
virDomainMemoryDefPtr mem,
|
virDomainMemoryDefPtr mem,
|
||||||
bool build)
|
bool build)
|
||||||
@ -3347,31 +3381,11 @@ qemuProcessBuildDestroyHugepagesPath(virQEMUDriverPtr driver,
|
|||||||
if (!hugepagePath)
|
if (!hugepagePath)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (build) {
|
if (qemuProcessBuildDestroyMemoryPathsImpl(driver, vm->def,
|
||||||
if (virFileExists(hugepagePath)) {
|
hugepagePath, build) < 0)
|
||||||
ret = 0;
|
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
|
||||||
|
|
||||||
if (virFileMakePathWithMode(hugepagePath, 0700) < 0) {
|
VIR_FREE(hugepagePath);
|
||||||
virReportSystemError(errno,
|
|
||||||
_("Unable to create %s"),
|
|
||||||
hugepagePath);
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (qemuSecurityDomainSetPathLabel(driver->securityManager,
|
|
||||||
vm->def, hugepagePath) < 0) {
|
|
||||||
virReportError(VIR_ERR_INTERNAL_ERROR,
|
|
||||||
"%s", _("Unable to set huge path in security driver"));
|
|
||||||
goto cleanup;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if (rmdir(hugepagePath) < 0 &&
|
|
||||||
errno != ENOENT)
|
|
||||||
VIR_WARN("Unable to remove hugepage path: %s (errno=%d)",
|
|
||||||
hugepagePath, errno);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -5550,7 +5564,7 @@ qemuProcessPrepareHost(virQEMUDriverPtr driver,
|
|||||||
NULL) < 0)
|
NULL) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
if (qemuProcessBuildDestroyHugepagesPath(driver, vm, NULL, true) < 0)
|
if (qemuProcessBuildDestroyMemoryPaths(driver, vm, NULL, true) < 0)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
/* Ensure no historical cgroup for this VM is lying around bogus
|
/* Ensure no historical cgroup for this VM is lying around bogus
|
||||||
@ -6254,7 +6268,7 @@ void qemuProcessStop(virQEMUDriverPtr driver,
|
|||||||
goto endjob;
|
goto endjob;
|
||||||
}
|
}
|
||||||
|
|
||||||
qemuProcessBuildDestroyHugepagesPath(driver, vm, NULL, false);
|
qemuProcessBuildDestroyMemoryPaths(driver, vm, NULL, false);
|
||||||
|
|
||||||
vm->def->id = -1;
|
vm->def->id = -1;
|
||||||
|
|
||||||
@ -7112,7 +7126,7 @@ qemuProcessReconnect(void *opaque)
|
|||||||
goto cleanup;
|
goto cleanup;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qemuProcessBuildDestroyHugepagesPath(driver, obj, NULL, true) < 0)
|
if (qemuProcessBuildDestroyMemoryPaths(driver, obj, NULL, true) < 0)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
if ((qemuDomainAssignAddresses(obj->def, priv->qemuCaps,
|
if ((qemuDomainAssignAddresses(obj->def, priv->qemuCaps,
|
||||||
|
@ -38,7 +38,7 @@ int qemuProcessStopCPUs(virQEMUDriverPtr driver,
|
|||||||
virDomainPausedReason reason,
|
virDomainPausedReason reason,
|
||||||
qemuDomainAsyncJob asyncJob);
|
qemuDomainAsyncJob asyncJob);
|
||||||
|
|
||||||
int qemuProcessBuildDestroyHugepagesPath(virQEMUDriverPtr driver,
|
int qemuProcessBuildDestroyMemoryPaths(virQEMUDriverPtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
virDomainMemoryDefPtr mem,
|
virDomainMemoryDefPtr mem,
|
||||||
bool build);
|
bool build);
|
||||||
|
Loading…
Reference in New Issue
Block a user