int
-qemuSetupDiskCgroup(virDomainObjPtr vm,
- virDomainDiskDefPtr disk)
+qemuSetupImageChainCgroup(virDomainObjPtr vm,
+ virStorageSourcePtr src)
{
virStorageSourcePtr next;
bool forceReadonly = false;
- for (next = disk->src; virStorageSourceIsBacking(next); next = next->backingStore) {
+ for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
if (qemuSetupImageCgroupInternal(vm, next, forceReadonly) < 0)
return -1;
int
-qemuTeardownDiskCgroup(virDomainObjPtr vm,
- virDomainDiskDefPtr disk)
+qemuTeardownImageChainCgroup(virDomainObjPtr vm,
+ virStorageSourcePtr src)
{
virStorageSourcePtr next;
- for (next = disk->src; virStorageSourceIsBacking(next); next = next->backingStore) {
+ for (next = src; virStorageSourceIsBacking(next); next = next->backingStore) {
if (qemuTeardownImageCgroup(vm, next) < 0)
return -1;
}
goto cleanup;
for (i = 0; i < vm->def->ndisks; i++) {
- if (qemuSetupDiskCgroup(vm, vm->def->disks[i]) < 0)
+ if (qemuSetupImageChainCgroup(vm, vm->def->disks[i]->src) < 0)
goto cleanup;
}
virStorageSourcePtr src);
int qemuTeardownImageCgroup(virDomainObjPtr vm,
virStorageSourcePtr src);
-int qemuSetupDiskCgroup(virDomainObjPtr vm,
- virDomainDiskDefPtr disk);
-int qemuTeardownDiskCgroup(virDomainObjPtr vm,
- virDomainDiskDefPtr disk);
+int qemuSetupImageChainCgroup(virDomainObjPtr vm,
+ virStorageSourcePtr src);
+int qemuTeardownImageChainCgroup(virDomainObjPtr vm,
+ virStorageSourcePtr src);
int qemuSetupInputCgroup(virDomainObjPtr vm,
virDomainInputDefPtr dev);
int qemuTeardownInputCgroup(virDomainObjPtr vm,
case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI:
if (scsisrc->protocol == VIR_DOMAIN_HOSTDEV_SCSI_PROTOCOL_TYPE_ISCSI) {
virDomainHostdevSubsysSCSIiSCSIPtr iscsisrc = &scsisrc->u.iscsi;
- /* Follow qemuSetupDiskCgroup() and qemuSetImageCgroupInternal()
- * which does nothing for non local storage
- */
VIR_DEBUG("Not updating /dev for hostdev iSCSI path '%s'", iscsisrc->src->path);
} else {
virDomainHostdevSubsysSCSIHostPtr scsihostsrc = &scsisrc->u.host;
if (disk->mirror->format &&
disk->mirror->format != VIR_STORAGE_FILE_RAW &&
(qemuDomainNamespaceSetupDisk(vm, disk->src) < 0 ||
- qemuSetupDiskCgroup(vm, disk) < 0 ||
+ qemuSetupImageChainCgroup(vm, disk->src) < 0 ||
qemuSecuritySetDiskLabel(driver, vm, disk) < 0))
goto cleanup;
if (qemuSecuritySetDiskLabel(driver, vm, disk) < 0)
goto rollback_namespace;
- if (qemuSetupDiskCgroup(vm, disk) < 0)
+ if (qemuSetupImageChainCgroup(vm, disk->src) < 0)
goto rollback_label;
ret = 0;
goto cleanup;
rollback_cgroup:
- if (qemuTeardownDiskCgroup(vm, disk) < 0)
+ if (qemuTeardownImageChainCgroup(vm, disk->src) < 0)
VIR_WARN("Unable to tear down cgroup access on %s",
NULLSTR(virDomainDiskGetSource(disk)));
rollback_label: