]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
Increase size of driver table to make UML work again
authorDaniel P. Berrange <berrange@redhat.com>
Fri, 7 Jan 2011 17:36:33 +0000 (17:36 +0000)
committerDaniel P. Berrange <berrange@redhat.com>
Wed, 19 Jan 2011 12:42:23 +0000 (12:42 +0000)
The driver table only has 10 slots, but there are potentially
11 drivers that need activating. Improve the error message
when driver registration fails

* src/libvirt.c: Increase driver table size & improve errors

src/libvirt.c

index 7ba32c2969dc5349d6c661b0d129a8f89c47f4c9..1ef6b513567470e4df44d02670f5786372195ecc 100644 (file)
@@ -79,7 +79,7 @@
  * - use reference counting to guarantee coherent pointer state ?
  */
 
-#define MAX_DRIVERS 10
+#define MAX_DRIVERS 20
 
 static virDriverPtr virDriverTab[MAX_DRIVERS];
 static int virDriverTabCount = 0;
@@ -523,7 +523,9 @@ virRegisterNetworkDriver(virNetworkDriverPtr driver)
     }
 
     if (virNetworkDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -554,7 +556,9 @@ virRegisterInterfaceDriver(virInterfaceDriverPtr driver)
     }
 
     if (virInterfaceDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -585,7 +589,9 @@ virRegisterStorageDriver(virStorageDriverPtr driver)
     }
 
     if (virStorageDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -616,7 +622,9 @@ virRegisterDeviceMonitor(virDeviceMonitorPtr driver)
     }
 
     if (virDeviceMonitorTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -647,7 +655,9 @@ virRegisterSecretDriver(virSecretDriverPtr driver)
     }
 
     if (virSecretDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -678,7 +688,9 @@ virRegisterNWFilterDriver(virNWFilterDriverPtr driver)
     }
 
     if (virNWFilterDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return -1;
     }
 
@@ -712,7 +724,9 @@ virRegisterDriver(virDriverPtr driver)
     }
 
     if (virDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }
 
@@ -750,7 +764,9 @@ virRegisterStateDriver(virStateDriverPtr driver)
     }
 
     if (virStateDriverTabCount >= MAX_DRIVERS) {
-        virLibConnError(VIR_ERR_INVALID_ARG, __FUNCTION__);
+        virLibConnError(VIR_ERR_INTERNAL_ERROR,
+                        _("Too many drivers, cannot register %s"),
+                        driver->name);
         return(-1);
     }