]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: command: Move disk 'serial' into frontend parameter formatter
authorPeter Krempa <pkrempa@redhat.com>
Tue, 14 Nov 2017 12:50:52 +0000 (13:50 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Wed, 22 Nov 2017 19:37:36 +0000 (20:37 +0100)
Disk serial is not a property of the image but of the disk frontend.
Account for this appropriately.

src/qemu/qemu_command.c

index 31df61a94470b509c5a3187e03336be918e1db19..d2866816911b7de1f9f6fc96c59a6f7ad81c6de5 100644 (file)
@@ -1625,6 +1625,7 @@ qemuBuildDriveSourceStr(virDomainDiskDefPtr disk,
 
 static void
 qemuBuildDiskFrontendAttributes(virDomainDiskDefPtr disk,
+                                virQEMUCapsPtr qemuCaps,
                                 virBufferPtr buf)
 {
     /* generate geometry command string */
@@ -1640,6 +1641,12 @@ qemuBuildDiskFrontendAttributes(virDomainDiskDefPtr disk,
             virBufferAsprintf(buf, ",trans=%s",
                               virDomainDiskGeometryTransTypeToString(disk->geometry.trans));
     }
+
+    if (disk->serial &&
+        virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) {
+        virBufferAddLit(buf, ",serial=");
+        virBufferEscape(buf, '\\', " ", "%s", disk->serial);
+    }
 }
 
 
@@ -1703,13 +1710,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
     if (disk->src->readonly)
         virBufferAddLit(&opt, ",readonly=on");
 
-    qemuBuildDiskFrontendAttributes(disk, &opt);
-
-    if (disk->serial &&
-        virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_SERIAL)) {
-        virBufferAddLit(&opt, ",serial=");
-        virBufferEscape(&opt, '\\', " ", "%s", disk->serial);
-    }
+    qemuBuildDiskFrontendAttributes(disk, qemuCaps, &opt);
 
     if (disk->cachemode) {
         virBufferAsprintf(&opt, ",cache=%s",