]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
do not ignore qemuMonitorAddDrive failure; make uses identical
authorJim Meyering <meyering@redhat.com>
Tue, 18 May 2010 14:02:12 +0000 (16:02 +0200)
committerJim Meyering <meyering@redhat.com>
Tue, 18 May 2010 17:23:33 +0000 (19:23 +0200)
There were three very similar uses of qemuMonitorAddDrive.
This change makes the three 17-line sequences identical.
* src/qemu/qemu_driver.c (qemudDomainAttachPciDiskDevice): Detect
failure.  Add VIR_WARN and braces.
(qemudDomainAttachSCSIDisk): Add VIR_WARN and braces.
(qemudDomainAttachUsbMassstorageDevice): Likewise.

src/qemu/qemu_driver.c

index 812860a97c5d93556443ab4a21639a069492c3f4..609fabe106715e1ab68f78d530e1ea5e6b1ffb1a 100644 (file)
@@ -6941,9 +6941,15 @@ static int qemudDomainAttachPciDiskDevice(struct qemud_driver *driver,
     qemuDomainObjEnterMonitorWithDriver(driver, vm);
     if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) {
         ret = qemuMonitorAddDrive(priv->mon, drivestr);
-        if (ret == 0)
-            qemuMonitorAddDevice(priv->mon, devstr);
-            /* XXX remove the drive upon fail */
+        if (ret == 0) {
+            ret = qemuMonitorAddDevice(priv->mon, devstr);
+            if (ret < 0) {
+                VIR_WARN(_("qemuMonitorAddDevice failed on %s (%s)"),
+                         drivestr, devstr);
+                /* XXX should call 'drive_del' on error but this does not
+                   exist yet */
+            }
+        }
     } else {
         virDomainDevicePCIAddress guestAddr;
         ret = qemuMonitorAddPCIDisk(priv->mon,
@@ -7164,12 +7170,16 @@ static int qemudDomainAttachSCSIDisk(struct qemud_driver *driver,
 
     qemuDomainObjEnterMonitorWithDriver(driver, vm);
     if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) {
-        ret = qemuMonitorAddDrive(priv->mon,
-                                  drivestr);
-        if (ret == 0)
-            ret = qemuMonitorAddDevice(priv->mon,
-                                       devstr);
-            /* XXX should call 'drive_del' on error but this does not exist yet */
+        ret = qemuMonitorAddDrive(priv->mon, drivestr);
+        if (ret == 0) {
+            ret = qemuMonitorAddDevice(priv->mon, devstr);
+            if (ret < 0) {
+                VIR_WARN(_("qemuMonitorAddDevice failed on %s (%s)"),
+                         drivestr, devstr);
+                /* XXX should call 'drive_del' on error but this does not
+                   exist yet */
+            }
+        }
     } else {
         virDomainDeviceDriveAddress driveAddr;
         ret = qemuMonitorAttachDrive(priv->mon,
@@ -7253,12 +7263,16 @@ static int qemudDomainAttachUsbMassstorageDevice(struct qemud_driver *driver,
 
     qemuDomainObjEnterMonitorWithDriver(driver, vm);
     if (qemuCmdFlags & QEMUD_CMD_FLAG_DEVICE) {
-        ret = qemuMonitorAddDrive(priv->mon,
-                                  drivestr);
-        if (ret == 0)
-            ret = qemuMonitorAddDevice(priv->mon,
-                                       devstr);
-            /* XXX should call 'drive_del' on error but this does not exist yet */
+        ret = qemuMonitorAddDrive(priv->mon, drivestr);
+        if (ret == 0) {
+            ret = qemuMonitorAddDevice(priv->mon, devstr);
+            if (ret < 0) {
+                VIR_WARN(_("qemuMonitorAddDevice failed on %s (%s)"),
+                         drivestr, devstr);
+                /* XXX should call 'drive_del' on error but this does not
+                   exist yet */
+            }
+        }
     } else {
         ret = qemuMonitorAddUSBDisk(priv->mon, disk->src);
     }