The same can be achieved by using qemuSecurity[Set|Restore]ImageLabel.
Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: John Ferlan <jferlan@redhat.com>
disk->mirror->format != VIR_STORAGE_FILE_RAW &&
(qemuDomainNamespaceSetupDisk(vm, disk->src) < 0 ||
qemuSetupImageChainCgroup(vm, disk->src) < 0 ||
- qemuSecuritySetDiskLabel(driver, vm, disk) < 0))
+ qemuSecuritySetImageLabel(driver, vm, disk->src, true) < 0))
goto cleanup;
disk->src = oldsrc;
if (qemuDomainNamespaceSetupDisk(vm, disk->src) < 0)
goto rollback_lock;
- if (qemuSecuritySetDiskLabel(driver, vm, disk) < 0)
+ if (qemuSecuritySetImageLabel(driver, vm, disk->src, true) < 0)
goto rollback_namespace;
if (qemuSetupImageChainCgroup(vm, disk->src) < 0)
VIR_WARN("Unable to tear down cgroup access on %s",
NULLSTR(virDomainDiskGetSource(disk)));
rollback_label:
- if (qemuSecurityRestoreDiskLabel(driver, vm, disk) < 0)
+ if (qemuSecurityRestoreImageLabel(driver, vm, disk->src, true) < 0)
VIR_WARN("Unable to restore security label on %s",
NULLSTR(virDomainDiskGetSource(disk)));
}
-int
-qemuSecuritySetDiskLabel(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk)
-{
- qemuDomainObjPrivatePtr priv = vm->privateData;
- pid_t pid = -1;
- int ret = -1;
-
- if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT))
- pid = vm->pid;
-
- if (virSecurityManagerTransactionStart(driver->securityManager) < 0)
- goto cleanup;
-
- if (virSecurityManagerSetDiskLabel(driver->securityManager,
- vm->def,
- disk) < 0)
- goto cleanup;
-
- if (virSecurityManagerTransactionCommit(driver->securityManager,
- pid, priv->rememberOwner) < 0)
- goto cleanup;
-
- ret = 0;
- cleanup:
- virSecurityManagerTransactionAbort(driver->securityManager);
- return ret;
-}
-
-
-int
-qemuSecurityRestoreDiskLabel(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk)
-{
- qemuDomainObjPrivatePtr priv = vm->privateData;
- pid_t pid = -1;
- int ret = -1;
-
- if (qemuDomainNamespaceEnabled(vm, QEMU_DOMAIN_NS_MOUNT))
- pid = vm->pid;
-
- if (virSecurityManagerTransactionStart(driver->securityManager) < 0)
- goto cleanup;
-
- if (virSecurityManagerRestoreDiskLabel(driver->securityManager,
- vm->def,
- disk) < 0)
- goto cleanup;
-
- if (virSecurityManagerTransactionCommit(driver->securityManager,
- pid, priv->rememberOwner) < 0)
- goto cleanup;
-
- ret = 0;
- cleanup:
- virSecurityManagerTransactionAbort(driver->securityManager);
- return ret;
-}
-
-
int
qemuSecuritySetImageLabel(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virDomainObjPtr vm,
bool migrated);
-int qemuSecuritySetDiskLabel(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk);
-
-int qemuSecurityRestoreDiskLabel(virQEMUDriverPtr driver,
- virDomainObjPtr vm,
- virDomainDiskDefPtr disk);
-
int qemuSecuritySetImageLabel(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virStorageSourcePtr src,