提交 8abbc72b 编写于 作者: P Peter Krempa

qemu: domain: Add helper for getting the disk backend alias

The disk backend alias was historically the alias of the -drive backing
the storage. For setups with -blockdev this will become more complex as
it will depend on other configs and generally will differ.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 b05a48c0
......@@ -8599,6 +8599,34 @@ qemuDomainDetermineDiskChain(virQEMUDriverPtr driver,
}
/**
* qemuDomainDiskGetBackendAlias:
* @disk: disk definition
* @qemuCaps: emulator capabilities
* @backendAlias: filled with the alias of the disk storage backend
*
* Returns the correct alias for the disk backend. This may be the alias of
* -drive for legacy setup or the correct node name for -blockdev setups.
*
* @backendAlias may be NULL on success if the backend does not exist
* (disk is empty). Caller is responsible for freeing @backendAlias.
*
* Returns 0 on success, -1 on error with libvirt error reported.
*/
int
qemuDomainDiskGetBackendAlias(virDomainDiskDefPtr disk,
virQEMUCapsPtr qemuCaps ATTRIBUTE_UNUSED,
char **backendAlias)
{
*backendAlias = NULL;
if (!(*backendAlias = qemuAliasDiskDriveFromDisk(disk)))
return -1;
return 0;
}
/**
* qemuDomainDiskChainElementRevoke:
*
......
......@@ -732,6 +732,12 @@ int qemuDomainStorageFileInit(virQEMUDriverPtr driver,
virStorageSourcePtr parent);
char *qemuDomainStorageAlias(const char *device, int depth);
int qemuDomainDiskGetBackendAlias(virDomainDiskDefPtr disk,
virQEMUCapsPtr qemuCaps,
char **backendAlias)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2)
ATTRIBUTE_NONNULL(3) ATTRIBUTE_RETURN_CHECK;
void qemuDomainDiskChainElementRevoke(virQEMUDriverPtr driver,
virDomainObjPtr vm,
virStorageSourcePtr elem);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册