]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Fix virLXCPrepareHostDevices method
authorDaniel P. Berrange <berrange@redhat.com>
Mon, 7 Jan 2013 18:16:54 +0000 (18:16 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Mon, 7 Jan 2013 18:16:54 +0000 (18:16 +0000)
The virLXCPrepareHostDevices method was returning success even
when it reported an error, and failed to handle several host
device types

src/lxc/lxc_hostdev.c

index 21f3096986949be99deb6d836d826bb7cf5be92c..4fa050820ccddc97e590d71d9ffdf4e794d1b84c 100644 (file)
@@ -299,15 +299,29 @@ int virLXCPrepareHostDevices(virLXCDriverPtr driver,
                 virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                                _("Unsupported hostdev type %s"),
                                virDomainHostdevSubsysTypeToString(dev->source.subsys.type));
+                return -1;
+            }
+            break;
+
+        case VIR_DOMAIN_HOSTDEV_MODE_CAPABILITIES:
+            switch (dev->source.subsys.type) {
+            case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_STORAGE:
+            case VIR_DOMAIN_HOSTDEV_CAPS_TYPE_MISC:
                 break;
+            default:
+                virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                               _("Unsupported hostdev type %s"),
+                               virDomainHostdevSubsysTypeToString(dev->source.subsys.type));
+                return -1;
             }
             break;
 
+
         default:
             virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                            _("Unsupported hostdev mode %s"),
                            virDomainHostdevModeTypeToString(dev->mode));
-            break;
+            return -1;
         }
     }