[libvirt] [PATCH v2 9/9] qemu: command: Anotate formatting of the frontend attributes with -drive

Peter Krempa pkrempa at redhat.com
Wed Nov 22 10:01:41 UTC 2017


Explain that certain attributes formatted with -drive are in fact
attributes of the drive itself and not the storage backing it.
---
 src/qemu/qemu_command.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index ca4934b75c..26d395d67c 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1764,8 +1764,13 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
         virBufferAsprintf(&opt, ",index=%d", idx);
     }

+    /* Format attributes for the drive itself (not the storage backing it) which
+     * we've formatted historically with -drive */
     qemuBuildDiskFrontendAttributes(disk, qemuCaps, &opt);

+    /* While this is a frontend attribute, it only makes sense to be used when
+     * legacy -drive is used. In modern qemu the 'ide-cd' or 'scsi-cd' are used.
+     * virtio and other just ignore the attribute anyways */
     if (disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM) {
         if (disk->bus == VIR_DOMAIN_DISK_BUS_SCSI) {
             if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_SCSI_CD))
@@ -1778,12 +1783,15 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
         }
     }

+    /* This is a frontend attribute which was replaced by bootindex passed in
+     * with -device arguments. */
     if (bootable &&
         virQEMUCapsGet(qemuCaps, QEMU_CAPS_DRIVE_BOOT) &&
         (disk->device == VIR_DOMAIN_DISK_DEVICE_DISK ||
          disk->device == VIR_DOMAIN_DISK_DEVICE_LUN) &&
         disk->bus != VIR_DOMAIN_DISK_BUS_IDE)
         virBufferAddLit(&opt, ",boot=on");
+
     if (disk->src->readonly)
         virBufferAddLit(&opt, ",readonly=on");

-- 
2.14.3




More information about the libvir-list mailing list