mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
qemu: Add helper to initialize storage file backend with correct uid/gid
Add a wrapper that determines the correct uid and gid for a certain storage file and domain.
This commit is contained in:
parent
8e7cd8866c
commit
63fc72d38a
@ -2437,6 +2437,29 @@ qemuDomainGetImageIds(virQEMUDriverConfigPtr cfg,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
int
|
||||||
|
qemuDomainStorageFileInit(virQEMUDriverPtr driver,
|
||||||
|
virDomainObjPtr vm,
|
||||||
|
virStorageSourcePtr src)
|
||||||
|
{
|
||||||
|
virQEMUDriverConfigPtr cfg = virQEMUDriverGetConfig(driver);
|
||||||
|
uid_t uid;
|
||||||
|
gid_t gid;
|
||||||
|
int ret = -1;
|
||||||
|
|
||||||
|
qemuDomainGetImageIds(cfg, vm, src, &uid, &gid);
|
||||||
|
|
||||||
|
if (virStorageFileInitAs(src, uid, gid) < 0)
|
||||||
|
goto cleanup;
|
||||||
|
|
||||||
|
ret = 0;
|
||||||
|
|
||||||
|
cleanup:
|
||||||
|
virObjectUnref(cfg);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
|
qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
|
||||||
virDomainObjPtr vm,
|
virDomainObjPtr vm,
|
||||||
|
@ -353,6 +353,10 @@ int qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
|
|||||||
virDomainDiskDefPtr disk,
|
virDomainDiskDefPtr disk,
|
||||||
bool force);
|
bool force);
|
||||||
|
|
||||||
|
int qemuDomainStorageFileInit(virQEMUDriverPtr driver,
|
||||||
|
virDomainObjPtr vm,
|
||||||
|
virStorageSourcePtr src);
|
||||||
|
|
||||||
int qemuDomainCleanupAdd(virDomainObjPtr vm,
|
int qemuDomainCleanupAdd(virDomainObjPtr vm,
|
||||||
qemuDomainCleanupCallback cb);
|
qemuDomainCleanupCallback cb);
|
||||||
void qemuDomainCleanupRemove(virDomainObjPtr vm,
|
void qemuDomainCleanupRemove(virDomainObjPtr vm,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user