#include "virsystemd.h"
#include "virinitctl.h"
#include "domain_driver.h"
+#include "domain_job.h"
#define VIR_FROM_THIS VIR_FROM_LXC
-VIR_ENUM_IMPL(virLXCDomainJob,
- LXC_JOB_LAST,
- "none",
- "query",
- "destroy",
- "modify",
-);
-
VIR_LOG_INIT("lxc.lxc_domain");
static int
{
struct virLXCDomainJobObj *job = &priv->job;
- job->active = LXC_JOB_NONE;
+ job->active = VIR_JOB_NONE;
job->owner = 0;
}
int
virLXCDomainObjBeginJob(virLXCDriver *driver G_GNUC_UNUSED,
virDomainObj *obj,
- enum virLXCDomainJob job)
+ virDomainJob job)
{
virLXCDomainObjPrivate *priv = obj->privateData;
unsigned long long now;
while (priv->job.active) {
VIR_DEBUG("Wait normal job condition for starting job: %s",
- virLXCDomainJobTypeToString(job));
+ virDomainJobTypeToString(job));
if (virCondWaitUntil(&priv->job.cond, &obj->parent.lock, then) < 0)
goto error;
}
virLXCDomainObjResetJob(priv);
- VIR_DEBUG("Starting job: %s", virLXCDomainJobTypeToString(job));
+ VIR_DEBUG("Starting job: %s", virDomainJobTypeToString(job));
priv->job.active = job;
priv->job.owner = virThreadSelfID();
error:
VIR_WARN("Cannot start job (%s) for domain %s;"
" current job is (%s) owned by (%d)",
- virLXCDomainJobTypeToString(job),
+ virDomainJobTypeToString(job),
obj->def->name,
- virLXCDomainJobTypeToString(priv->job.active),
+ virDomainJobTypeToString(priv->job.active),
priv->job.owner);
if (errno == ETIMEDOUT)
virDomainObj *obj)
{
virLXCDomainObjPrivate *priv = obj->privateData;
- enum virLXCDomainJob job = priv->job.active;
+ virDomainJob job = priv->job.active;
VIR_DEBUG("Stopping job: %s",
- virLXCDomainJobTypeToString(job));
+ virDomainJobTypeToString(job));
virLXCDomainObjResetJob(priv);
virCondSignal(&priv->job.cond);
if (virDomainSetMemoryFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0)
if (virDomainSetMemoryParametersEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
/* QEMU and LXC implementation are identical */
goto cleanup;
}
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjIsActive(vm)) {
NULL)))
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0) {
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0) {
if (!vm->persistent)
virDomainObjListRemove(driver->domains, vm);
goto cleanup;
if (virDomainDestroyFlagsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_DESTROY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_DESTROY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (!(caps = virLXCDriverGetCapabilities(driver, false)))
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0)
if (virDomainBlockStatsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainBlockStatsFlagsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainSetBlkioParametersEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjGetDefs(vm, flags, &def, &persistentDef) < 0)
if (virDomainInterfaceStatsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainSetAutostartEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (!vm->persistent) {
if (virDomainSuspendEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainResumeEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainSendProcessSignalEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainShutdownFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainRebootEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainAttachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjUpdateModificationImpact(vm, &flags) < 0)
if (virDomainUpdateDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjUpdateModificationImpact(vm, &flags) < 0)
if (virDomainDetachDeviceFlagsEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
if (virDomainObjUpdateModificationImpact(vm, &flags) < 0)
if (virDomainLxcOpenNamespaceEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainMemoryStatsEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)
if (virDomainSetMetadataEnsureACL(dom->conn, vm->def, flags) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_MODIFY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_MODIFY) < 0)
goto cleanup;
ret = virDomainObjSetMetadata(vm, type, metadata, key, uri,
if (virDomainGetHostnameEnsureACL(dom->conn, vm->def) < 0)
goto cleanup;
- if (virLXCDomainObjBeginJob(driver, vm, LXC_JOB_QUERY) < 0)
+ if (virLXCDomainObjBeginJob(driver, vm, VIR_JOB_QUERY) < 0)
goto cleanup;
if (virDomainObjCheckActive(vm) < 0)