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: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
Peter Krempa 2018-05-11 14:11:36 +02:00
parent 90309bcdc5
commit b5aec60cc4
4 changed files with 6 additions and 6 deletions

View File

@ -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;
}

View File

@ -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__*/

View File

@ -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;
}

View File

@ -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;
}