]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: alias: Allow passing alias of parent when generating PR manager alias
authorPeter Krempa <pkrempa@redhat.com>
Fri, 11 May 2018 12:11:36 +0000 (14:11 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 16 May 2018 04:32:28 +0000 (06:32 +0200)
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>
src/qemu/qemu_alias.c
src/qemu/qemu_alias.h
src/qemu/qemu_command.c
src/qemu/qemu_hotplug.c

index bd714f7aee09010fd88517f9359d4f120c9fdc48..578a33b2848ab107c2e3f659ada09a545d80cb20 100644 (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;
 }
index 76678658c0f2736c224182828dfb941c584a1049..51f64624d7881820e961ed8970baf5f952a71ca8 100644 (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__*/
index a9cf86180372924e8662037850167534d22f1c75..c6988923e9fc835894eee3197d55fdfd078d7f66 100644 (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;
     }
 
index 4fa150e672d4919a75bfa7dd4cee5e486e8d4c2d..0bc7be28d1b67b719082e0e11cac4e1fc95fdc98 100644 (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;
     }