[libvirt] [PATCH 4/9] qemu: command: Rename and export qemuDiskBusNeedsDeviceArg

Peter Krempa pkrempa at redhat.com
Tue Jul 10 08:44:44 UTC 2018


Change the semantics to exactly opposite and rename it to
qemuDiskBusNeedsDriveArg. This will be necessary as some devices can't
be used with -blockdev.

Signed-off-by: Peter Krempa <pkrempa at redhat.com>
---
 src/qemu/qemu_command.c | 23 +++++++++++++----------
 src/qemu/qemu_command.h |  1 +
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index cea31e6a24..8f5303ed95 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -1330,15 +1330,18 @@ qemuCheckFips(void)
 }


-/* Unfortunately it is not possible to use
-   -device for floppies, or SD
-   devices. Fortunately, those don't need
-   static PCI addresses, so we don't really
-   care that we can't use -device */
-static bool
-qemuDiskBusNeedsDeviceArg(int bus)
+/**
+ * qemuDiskBusNeedsDriveArg:
+ * @bus: disk bus
+ *
+ * Unfortunately it is not possible to use -device for SD devices.
+ * Fortunately, those don't need  static PCI addresses, so we can use -drive
+ * without -device.
+ */
+bool
+qemuDiskBusNeedsDriveArg(int bus)
 {
-    return bus != VIR_DOMAIN_DISK_BUS_SD;
+    return bus == VIR_DOMAIN_DISK_BUS_SD;
 }


@@ -1636,7 +1639,7 @@ qemuBuildDriveStr(virDomainDiskDefPtr disk,
     if (qemuBuildDriveSourceStr(disk, qemuCaps, &opt) < 0)
         goto error;

-    if (qemuDiskBusNeedsDeviceArg(disk->bus)) {
+    if (!qemuDiskBusNeedsDriveArg(disk->bus)) {
         char *drivealias = qemuAliasDiskDriveFromDisk(disk);
         if (!drivealias)
             goto error;
@@ -2250,7 +2253,7 @@ qemuBuildDiskCommandLine(virCommandPtr cmd,

     qemuBlockStorageSourceAttachDataFree(data);

-    if (qemuDiskBusNeedsDeviceArg(disk->bus)) {
+    if (!qemuDiskBusNeedsDriveArg(disk->bus)) {
         if (disk->bus == VIR_DOMAIN_DISK_BUS_FDC) {
             if (qemuBuildFloppyCommandLineOptions(cmd, def, disk,
                                                   bootindex) < 0)
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 4f1b360130..4452c98e4b 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -99,6 +99,7 @@ char *qemuBuildNicDevStr(virDomainDefPtr def,
                          virQEMUCapsPtr qemuCaps);

 char *qemuDeviceDriveHostAlias(virDomainDiskDefPtr disk);
+bool qemuDiskBusNeedsDriveArg(int bus);

 qemuBlockStorageSourceAttachDataPtr
 qemuBuildStorageSourceAttachPrepareDrive(virDomainDiskDefPtr disk,
-- 
2.16.2




More information about the libvir-list mailing list