提交 b5aec60c 编写于 作者: P Peter Krempa

qemu: alias: Allow passing alias of parent when generating PR manager alias

For use with blockdev the PR manager will be bound to a virStorageSource
rather than a virDomainDiskDef, so we will need to use the correct
alias.

Allow passing a string rather than the whole disk.
Signed-off-by: NPeter Krempa <pkrempa@redhat.com>
上级 90309bcd
......@@ -783,11 +783,11 @@ qemuDomainGetManagedPRAlias(void)
char *
qemuDomainGetUnmanagedPRAlias(const virDomainDiskDef *disk)
qemuDomainGetUnmanagedPRAlias(const char *parentalias)
{
char *ret;
ignore_value(virAsprintf(&ret, "pr-helper-%s", disk->info.alias));
ignore_value(virAsprintf(&ret, "pr-helper-%s", parentalias));
return ret;
}
......@@ -94,6 +94,6 @@ char *qemuAliasChardevFromDevAlias(const char *devAlias)
const char *qemuDomainGetManagedPRAlias(void);
char *qemuDomainGetUnmanagedPRAlias(const virDomainDiskDef *disk);
char *qemuDomainGetUnmanagedPRAlias(const char *parentalias);
#endif /* __QEMU_ALIAS_H__*/
......@@ -1482,7 +1482,7 @@ qemuBuildDriveSourcePR(virBufferPtr buf,
if (virStoragePRDefIsManaged(disk->src->pr))
defaultAlias = qemuDomainGetManagedPRAlias();
else if (!(alias = qemuDomainGetUnmanagedPRAlias(disk)))
else if (!(alias = qemuDomainGetUnmanagedPRAlias(disk->info.alias)))
return -1;
......@@ -9755,7 +9755,7 @@ qemuBuildPRManagerInfoProps(virDomainObjPtr vm,
if (VIR_STRDUP(alias, qemuDomainGetManagedPRAlias()) < 0)
goto cleanup;
} else {
if (!(alias = qemuDomainGetUnmanagedPRAlias(disk)))
if (!(alias = qemuDomainGetUnmanagedPRAlias(disk->info.alias)))
goto cleanup;
}
......
......@@ -3842,7 +3842,7 @@ qemuDomainDiskNeedRemovePR(virDomainObjPtr vm,
return 0;
if (!virStoragePRDefIsManaged(disk->src->pr)) {
*aliasret = qemuDomainGetUnmanagedPRAlias(disk);
*aliasret = qemuDomainGetUnmanagedPRAlias(disk->info.alias);
return *aliasret ? 0 : -1;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册