const char *path,
virDomainBlockStatsPtr stats)
{
- int ret = -1, idx;
+ int ret = -1;
virDomainObjPtr vm;
virDomainDiskDefPtr disk = NULL;
virLXCDomainObjPrivatePtr priv;
goto cleanup;
}
- if ((idx = virDomainDiskIndexByName(vm->def, path, false)) < 0) {
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
virReportError(VIR_ERR_INVALID_ARG,
_("invalid path: %s"), path);
goto cleanup;
}
- disk = vm->def->disks[idx];
if (!disk->info.alias) {
virReportError(VIR_ERR_INTERNAL_ERROR,
int * nparams,
unsigned int flags)
{
- int tmp, ret = -1, idx;
+ int tmp, ret = -1;
virDomainObjPtr vm;
virDomainDiskDefPtr disk = NULL;
virLXCDomainObjPrivatePtr priv;
goto cleanup;
}
} else {
- if ((idx = virDomainDiskIndexByName(vm->def, path, false)) < 0) {
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
virReportError(VIR_ERR_INVALID_ARG,
_("invalid path: %s"), path);
goto cleanup;
}
- disk = vm->def->disks[idx];
if (!disk->info.alias) {
virReportError(VIR_ERR_INTERNAL_ERROR,
for (j = 0; j < ndisk; j++) {
virJSONValuePtr disk = virJSONValueArrayGet(entry, j);
virJSONValuePtr pci;
- int diskaddr[3], pciaddr[4], idx;
+ int diskaddr[3], pciaddr[4];
const char *diskaddr_comp[] = {"bus", "target", "unit"};
const char *pciaddr_comp[] = {"domain", "bus", "slot", "function"};
+ virDomainDiskDefPtr diskDef;
if (!disk) {
virReportError(VIR_ERR_INTERNAL_ERROR,
pci_address.bus = pciaddr[1];
pci_address.slot = pciaddr[2];
pci_address.function = pciaddr[3];
- if ((idx = virDomainDiskIndexByAddress(
+ if (!(diskDef = virDomainDiskByAddress(
vmdef, &pci_address,
- diskaddr[0], diskaddr[1], diskaddr[2])) < 0)
+ diskaddr[0], diskaddr[1], diskaddr[2])))
continue;
- if (VIR_STRDUP(*alias, vmdef->disks[idx]->dst) < 0)
+ if (VIR_STRDUP(*alias, diskDef->dst) < 0)
goto cleanup;
if (*alias) {
switch ((virDomainDeviceType) dev->type) {
case VIR_DOMAIN_DEVICE_DISK:
disk = dev->data.disk;
- pos = virDomainDiskIndexByName(vmdef, disk->dst, false);
- if (pos < 0) {
+ if (!(orig = virDomainDiskByName(vmdef, disk->dst, false))) {
virReportError(VIR_ERR_INVALID_ARG,
_("target %s doesn't exist."), disk->dst);
return -1;
}
- orig = vmdef->disks[pos];
if (!(orig->device == VIR_DOMAIN_DISK_DEVICE_CDROM) &&
!(orig->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY)) {
virReportError(VIR_ERR_INVALID_ARG, "%s",
virQEMUDriverPtr driver = dom->conn->privateData;
virDomainObjPtr vm;
qemuDomainObjPrivatePtr priv;
- int ret = -1, idx;
+ int ret = -1;
char *device = NULL;
virDomainDiskDefPtr disk = NULL;
goto endjob;
}
- if ((idx = virDomainDiskIndexByName(vm->def, path, false)) < 0) {
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
virReportError(VIR_ERR_INVALID_ARG,
_("invalid path: %s"), path);
goto endjob;
}
- disk = vm->def->disks[idx];
/* qcow2 and qed must be sized on 512 byte blocks/sectors,
* so adjust size if necessary to round up.
int ret = -1;
if (*path) {
- int idx;
-
- if ((idx = virDomainDiskIndexByName(vm->def, path, false)) < 0) {
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
virReportError(VIR_ERR_INVALID_ARG, _("invalid path: %s"), path);
goto cleanup;
}
- disk = vm->def->disks[idx];
if (!disk->info.alias) {
virReportError(VIR_ERR_INTERNAL_ERROR,
int ret = -1;
virDomainDiskDefPtr disk = NULL;
virStorageSourcePtr src;
- int idx;
bool activeFail = false;
virQEMUDriverConfigPtr cfg = NULL;
if (qemuDomainObjBeginJob(driver, vm, QEMU_JOB_QUERY) < 0)
goto cleanup;
- /* Check the path belongs to this domain. */
- if ((idx = virDomainDiskIndexByName(vm->def, path, false)) < 0) {
+ if (!(disk = virDomainDiskByName(vm->def, path, false))) {
virReportError(VIR_ERR_INVALID_ARG,
_("invalid path %s not assigned to domain"), path);
goto endjob;
}
- disk = vm->def->disks[idx];
src = disk->src;
if (virStorageSourceIsEmpty(src)) {
virReportError(VIR_ERR_INVALID_ARG,
if (snap->def->disks[i].snapshot == VIR_DOMAIN_SNAPSHOT_LOCATION_NONE)
continue;
- if (vm->newDef) {
- int indx = virDomainDiskIndexByName(vm->newDef,
- vm->def->disks[i]->dst,
- false);
- if (indx >= 0) {
- persistDisk = vm->newDef->disks[indx];
- persist = true;
- }
- }
+ if (vm->newDef &&
+ (persistDisk = virDomainDiskByName(vm->newDef,
+ vm->def->disks[i]->dst,
+ false)))
+ persist = true;
ret = qemuDomainSnapshotCreateSingleDiskActive(driver, vm,
&snap->def->disks[i],
if (snap->def->disks[i].snapshot ==
VIR_DOMAIN_SNAPSHOT_LOCATION_NONE)
continue;
- if (vm->newDef) {
- int indx = virDomainDiskIndexByName(vm->newDef,
- vm->def->disks[i]->dst,
- false);
- if (indx >= 0) {
- persistDisk = vm->newDef->disks[indx];
- persist = true;
- }
- }
+ if (vm->newDef &&
+ (persistDisk = virDomainDiskByName(vm->newDef,
+ vm->def->disks[i]->dst,
+ false)))
+ persist = true;
qemuDomainSnapshotUndoSingleDiskActive(driver, vm,
vm->def->disks[i],
int ret = -1;
size_t i;
int idx = -1;
- int conf_idx = -1;
+ virDomainDiskDefPtr conf_disk = NULL;
bool set_bytes = false;
bool set_iops = false;
bool set_bytes_max = false;
}
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- if ((conf_idx = virDomainDiskIndexByName(persistentDef, disk, true)) < 0) {
+ if (!(conf_disk = virDomainDiskByName(persistentDef, disk, true))) {
virReportError(VIR_ERR_INVALID_ARG,
_("missing persistent configuration for disk '%s'"),
disk);
}
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- sa_assert(persistentDef);
- oldinfo = &persistentDef->disks[conf_idx]->blkdeviotune;
+ oldinfo = &conf_disk->blkdeviotune;
if (!set_bytes) {
info.total_bytes_sec = oldinfo->total_bytes_sec;
info.read_bytes_sec = oldinfo->read_bytes_sec;
info.read_iops_sec = oldinfo->read_iops_sec;
info.write_iops_sec = oldinfo->write_iops_sec;
}
- persistentDef->disks[conf_idx]->blkdeviotune = info;
+ conf_disk->blkdeviotune = info;
ret = virDomainSaveConfig(cfg->configDir, persistentDef);
if (ret < 0) {
virReportError(VIR_ERR_OPERATION_INVALID, "%s",
}
if (flags & VIR_DOMAIN_AFFECT_CONFIG) {
- int idx = virDomainDiskIndexByName(persistentDef, disk, true);
- if (idx < 0) {
+ virDomainDiskDefPtr diskDef;
+ if (!(diskDef = virDomainDiskByName(persistentDef, disk, true))) {
virReportError(VIR_ERR_INVALID_ARG,
_("disk '%s' was not found in the domain config"),
disk);
goto endjob;
}
- reply = persistentDef->disks[idx]->blkdeviotune;
+ reply = diskDef->blkdeviotune;
}
for (i = 0; i < QEMU_NB_BLOCK_IO_TUNE_PARAM_MAX && i < *nparams; i++) {