[libvirt] [PATCH 02/13] qemu: alias: Allow passing alias of parent when generating PR manager alias

Peter Krempa pkrempa at redhat.com
Mon May 14 10:41:53 UTC 2018


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 at redhat.com>
---
 src/qemu/qemu_alias.c   | 4 ++--
 src/qemu/qemu_alias.h   | 2 +-
 src/qemu/qemu_command.c | 4 ++--
 src/qemu/qemu_hotplug.c | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_alias.c b/src/qemu/qemu_alias.c
index bd714f7aee..578a33b284 100644
--- a/src/qemu/qemu_alias.c
+++ b/src/qemu/qemu_alias.c
@@ -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;
 }
diff --git a/src/qemu/qemu_alias.h b/src/qemu/qemu_alias.h
index 76678658c0..51f64624d7 100644
--- a/src/qemu/qemu_alias.h
+++ b/src/qemu/qemu_alias.h
@@ -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__*/
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 11ad77f145..24b482efd8 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -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;


@@ -9705,7 +9705,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;
     }

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index 1d748ccffb..52e1abdcd3 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -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;
     }

-- 
2.16.2




More information about the libvir-list mailing list