static int
qemuCheckpointWriteMetadata(virDomainObjPtr vm,
virDomainMomentObjPtr checkpoint,
- virCapsPtr caps G_GNUC_UNUSED,
virDomainXMLOptionPtr xmlopt,
const char *checkpointDir)
{
virDomainCheckpointSetCurrent(vm->checkpoints, NULL);
if (update_parent && parent) {
virDomainCheckpointSetCurrent(vm->checkpoints, parent);
- if (qemuCheckpointWriteMetadata(vm, parent, driver->caps,
+ if (qemuCheckpointWriteMetadata(vm, parent,
driver->xmlopt,
cfg->checkpointDir) < 0) {
VIR_WARN("failed to set parent checkpoint '%s' as current",
/* Called inside job lock */
static int
qemuCheckpointPrepare(virQEMUDriverPtr driver,
- virCapsPtr caps G_GNUC_UNUSED,
virDomainObjPtr vm,
virDomainCheckpointDefPtr def)
{
int
qemuCheckpointCreateCommon(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- virCapsPtr caps,
virDomainCheckpointDefPtr *def,
virJSONValuePtr *actions,
virDomainMomentObjPtr *chk)
g_autoptr(virJSONValue) tmpactions = NULL;
virDomainMomentObjPtr parent;
- if (qemuCheckpointPrepare(driver, caps, vm, *def) < 0)
+ if (qemuCheckpointPrepare(driver, vm, *def) < 0)
return -1;
if ((parent = virDomainCheckpointGetCurrent(vm->checkpoints)))
static virDomainMomentObjPtr
qemuCheckpointCreate(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- virCapsPtr caps,
virDomainCheckpointDefPtr *def)
{
g_autoptr(virJSONValue) actions = NULL;
virDomainMomentObjPtr chk = NULL;
int rc;
- if (qemuCheckpointCreateCommon(driver, vm, caps, def, &actions, &chk) < 0)
+ if (qemuCheckpointCreateCommon(driver, vm, def, &actions, &chk) < 0)
return NULL;
qemuDomainObjEnterMonitor(driver, vm);
if (update_current)
virDomainCheckpointSetCurrent(vm->checkpoints, chk);
- if (qemuCheckpointWriteMetadata(vm, chk, driver->caps,
+ if (qemuCheckpointWriteMetadata(vm, chk,
driver->xmlopt,
cfg->checkpointDir) < 0) {
/* if writing of metadata fails, error out rather than trying
bool redefine = flags & VIR_DOMAIN_CHECKPOINT_CREATE_REDEFINE;
unsigned int parse_flags = 0;
g_autoptr(virQEMUDriverConfig) cfg = NULL;
- g_autoptr(virCaps) caps = NULL;
g_autoptr(virDomainCheckpointDef) def = NULL;
virCheckFlags(VIR_DOMAIN_CHECKPOINT_CREATE_REDEFINE, NULL);
return NULL;
}
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- return NULL;
-
if (!virDomainObjIsActive(vm)) {
virReportError(VIR_ERR_OPERATION_UNSUPPORTED, "%s",
_("cannot create checkpoint for inactive domain"));
if (redefine) {
chk = qemuCheckpointRedefine(driver, vm, &def, &update_current);
} else {
- chk = qemuCheckpointCreate(driver, vm, caps, &def);
+ chk = qemuCheckpointCreate(driver, vm, &def);
}
if (!chk)
const char *dir;
virDomainMomentObjPtr parent;
virDomainObjPtr vm;
- virCapsPtr caps;
virDomainXMLOptionPtr xmlopt;
int err;
};
if (rep->parent->def)
moment->def->parent_name = g_strdup(rep->parent->def->name);
- rep->err = qemuCheckpointWriteMetadata(rep->vm, moment, rep->caps,
+ rep->err = qemuCheckpointWriteMetadata(rep->vm, moment,
rep->xmlopt, rep->dir);
return 0;
}
if (rem.found) {
virDomainCheckpointSetCurrent(vm->checkpoints, chk);
if (flags & VIR_DOMAIN_CHECKPOINT_DELETE_CHILDREN_ONLY) {
- if (qemuCheckpointWriteMetadata(vm, chk, driver->caps,
+ if (qemuCheckpointWriteMetadata(vm, chk,
driver->xmlopt,
cfg->checkpointDir) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
rep.parent = chk->parent;
rep.vm = vm;
rep.err = 0;
- rep.caps = driver->caps;
rep.xmlopt = driver->xmlopt;
virDomainMomentForEachChild(chk, qemuCheckpointReparentChildren,
&rep);
int
qemuCheckpointCreateCommon(virQEMUDriverPtr driver,
virDomainObjPtr vm,
- virCapsPtr caps,
virDomainCheckpointDefPtr *def,
virJSONValuePtr *actions,
virDomainMomentObjPtr *chk);
int
qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
virDomainMomentObjPtr snapshot,
- virCapsPtr caps G_GNUC_UNUSED,
virDomainXMLOptionPtr xmlopt,
const char *snapshotDir)
{
snap->def->parent_name);
} else {
virDomainSnapshotSetCurrent(vm->snapshots, parentsnap);
- if (qemuDomainSnapshotWriteMetadata(vm, parentsnap, driver->caps,
+ if (qemuDomainSnapshotWriteMetadata(vm, parentsnap,
driver->xmlopt,
cfg->snapshotDir) < 0) {
VIR_WARN("failed to set parent snapshot '%s' as current",
int qemuDomainSnapshotWriteMetadata(virDomainObjPtr vm,
virDomainMomentObjPtr snapshot,
- virCapsPtr caps,
virDomainXMLOptionPtr xmlopt,
const char *snapshotDir);
static int
qemuDomainAttachDeviceConfig(virDomainDefPtr vmdef,
virDomainDeviceDefPtr dev,
- virCapsPtr caps G_GNUC_UNUSED,
virQEMUCapsPtr qemuCaps,
unsigned int parse_flags,
virDomainXMLOptionPtr xmlopt)
static int
qemuDomainDetachDeviceConfig(virDomainDefPtr vmdef,
virDomainDeviceDefPtr dev,
- virCapsPtr caps G_GNUC_UNUSED,
virQEMUCapsPtr qemuCaps,
unsigned int parse_flags,
virDomainXMLOptionPtr xmlopt)
static int
qemuDomainUpdateDeviceConfig(virDomainDefPtr vmdef,
virDomainDeviceDefPtr dev,
- virCapsPtr caps G_GNUC_UNUSED,
virQEMUCapsPtr qemuCaps,
unsigned int parse_flags,
virDomainXMLOptionPtr xmlopt)
virDomainDeviceDefPtr devConf = NULL;
virDomainDeviceDefPtr devLive = NULL;
int ret = -1;
- g_autoptr(virCaps) caps = NULL;
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_INACTIVE |
VIR_DOMAIN_DEF_PARSE_ABI_UPDATE;
cfg = virQEMUDriverGetConfig(driver);
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto cleanup;
-
/* The config and live post processing address auto-generation algorithms
* rely on the correct vm->def or vm->newDef being passed, so call the
* device parse based on which definition is in use */
false) < 0)
goto cleanup;
- if (qemuDomainAttachDeviceConfig(vmdef, devConf, caps, priv->qemuCaps,
+ if (qemuDomainAttachDeviceConfig(vmdef, devConf, priv->qemuCaps,
parse_flags,
driver->xmlopt) < 0)
goto cleanup;
bool force = (flags & VIR_DOMAIN_DEVICE_MODIFY_FORCE) != 0;
int ret = -1;
g_autoptr(virQEMUDriverConfig) cfg = NULL;
- g_autoptr(virCaps) caps = NULL;
unsigned int parse_flags = 0;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
cfg = virQEMUDriverGetConfig(driver);
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto cleanup;
-
if (!(vm = qemuDomainObjFromDomain(dom)))
goto cleanup;
/* virDomainDefCompatibleDevice call is delayed until we know the
* device we're going to update. */
- if ((ret = qemuDomainUpdateDeviceConfig(vmdef, dev, caps, priv->qemuCaps,
+ if ((ret = qemuDomainUpdateDeviceConfig(vmdef, dev, priv->qemuCaps,
parse_flags,
driver->xmlopt)) < 0)
goto endjob;
unsigned int flags)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
- g_autoptr(virCaps) caps = NULL;
g_autoptr(virQEMUDriverConfig) cfg = NULL;
virDomainDeviceDefPtr dev = NULL, dev_copy = NULL;
unsigned int parse_flags = VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG, -1);
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto cleanup;
-
cfg = virQEMUDriverGetConfig(driver);
if ((flags & VIR_DOMAIN_AFFECT_CONFIG) &&
if (!vmdef)
goto cleanup;
- if (qemuDomainDetachDeviceConfig(vmdef, dev, caps, priv->qemuCaps,
+ if (qemuDomainDetachDeviceConfig(vmdef, dev, priv->qemuCaps,
parse_flags,
driver->xmlopt) < 0)
goto cleanup;
unsigned int flags)
{
qemuDomainObjPrivatePtr priv = vm->privateData;
- g_autoptr(virCaps) caps = NULL;
g_autoptr(virQEMUDriverConfig) cfg = NULL;
virDomainDefPtr def = NULL;
virDomainDefPtr persistentDef = NULL;
virCheckFlags(VIR_DOMAIN_AFFECT_LIVE |
VIR_DOMAIN_AFFECT_CONFIG, -1);
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto cleanup;
-
cfg = virQEMUDriverGetConfig(driver);
if ((flags & VIR_DOMAIN_AFFECT_CONFIG) &&
if (virDomainDefFindDevice(vmdef, alias, &dev, true) < 0)
goto cleanup;
- if (qemuDomainDetachDeviceConfig(vmdef, &dev, caps, priv->qemuCaps,
+ if (qemuDomainDetachDeviceConfig(vmdef, &dev, priv->qemuCaps,
parse_flags, driver->xmlopt) < 0)
goto cleanup;
}
if (snapshot && !(flags & VIR_DOMAIN_SNAPSHOT_CREATE_NO_METADATA)) {
if (update_current)
virDomainSnapshotSetCurrent(vm->snapshots, snap);
- if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ if (qemuDomainSnapshotWriteMetadata(vm, snap,
driver->xmlopt,
cfg->snapshotDir) < 0) {
/* if writing of metadata fails, error out rather than trying
cleanup:
if (ret == 0) {
virDomainSnapshotSetCurrent(vm->snapshots, snap);
- if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ if (qemuDomainSnapshotWriteMetadata(vm, snap,
driver->xmlopt,
cfg->snapshotDir) < 0) {
virDomainSnapshotSetCurrent(vm->snapshots, NULL);
const char *dir;
virDomainMomentObjPtr parent;
virDomainObjPtr vm;
- virCapsPtr caps;
virDomainXMLOptionPtr xmlopt;
int err;
int (*writeMetadata)(virDomainObjPtr, virDomainMomentObjPtr,
- virCapsPtr, virDomainXMLOptionPtr, const char *);
+ virDomainXMLOptionPtr, const char *);
};
if (rep->parent->def)
moment->def->parent_name = g_strdup(rep->parent->def->name);
- rep->err = rep->writeMetadata(rep->vm, moment, rep->caps, rep->xmlopt,
+ rep->err = rep->writeMetadata(rep->vm, moment, rep->xmlopt,
rep->dir);
return 0;
}
if (rem.found) {
virDomainSnapshotSetCurrent(vm->snapshots, snap);
if (flags & VIR_DOMAIN_SNAPSHOT_DELETE_CHILDREN_ONLY) {
- if (qemuDomainSnapshotWriteMetadata(vm, snap, driver->caps,
+ if (qemuDomainSnapshotWriteMetadata(vm, snap,
driver->xmlopt,
cfg->snapshotDir) < 0) {
virReportError(VIR_ERR_INTERNAL_ERROR,
rep.parent = snap->parent;
rep.vm = vm;
rep.err = 0;
- rep.caps = driver->caps;
rep.xmlopt = driver->xmlopt;
rep.writeMetadata = qemuDomainSnapshotWriteMetadata;
virDomainMomentForEachChild(snap,
virCommandPtr cmd = NULL;
struct qemuProcessHookData hookData;
virQEMUDriverConfigPtr cfg;
- virCapsPtr caps = NULL;
size_t nnicindexes = 0;
int *nicindexes = NULL;
size_t i;
/* We don't increase cfg's reference counter here. */
hookData.cfg = cfg;
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto cleanup;
-
VIR_DEBUG("Creating domain log file");
if (!(logCtxt = qemuDomainLogContextNew(driver, vm,
QEMU_DOMAIN_LOG_CONTEXT_MODE_START))) {
virCommandFree(cmd);
virObjectUnref(logCtxt);
virObjectUnref(cfg);
- virObjectUnref(caps);
VIR_FREE(nicindexes);
return ret;
}
size_t i;
unsigned int stopFlags = 0;
bool jobStarted = false;
- virCapsPtr caps = NULL;
bool retry = true;
bool tryMonReconn = false;
cfg = virQEMUDriverGetConfig(driver);
priv = obj->privateData;
- if (!(caps = virQEMUDriverGetCapabilities(driver, false)))
- goto error;
-
if (qemuDomainObjBeginJob(driver, obj, QEMU_JOB_MODIFY) < 0)
goto error;
jobStarted = true;
}
virDomainObjEndAPI(&obj);
virObjectUnref(cfg);
- virObjectUnref(caps);
virNWFilterUnlockFilterUpdates();
virIdentitySetCurrent(NULL);
return;