]> xenbits.xensource.com Git - people/liuw/libxenctrl-split/libvirt.git/commitdiff
nodedev: change if-else if in update_caps to switch
authorLaine Stump <laine@laine.org>
Wed, 6 May 2015 17:51:47 +0000 (13:51 -0400)
committerLaine Stump <laine@laine.org>
Mon, 18 May 2015 14:28:10 +0000 (10:28 -0400)
Makes it nicer as update bits are added for different cap types.

src/node_device/node_device_driver.c

index a14191c08c00bc69bd97d7f4740462f8819bd560..a6b32fea0e9ae7485f145b75f902eb09a03bb904 100644 (file)
@@ -50,12 +50,31 @@ static int update_caps(virNodeDeviceObjPtr dev)
     virNodeDevCapsDefPtr cap = dev->def->caps;
 
     while (cap) {
-        if (cap->data.type == VIR_NODE_DEV_CAP_SCSI_HOST)
+        switch (cap->data.type) {
+        case VIR_NODE_DEV_CAP_SCSI_HOST:
             detect_scsi_host_caps(&dev->def->caps->data);
-        if (cap->data.type == VIR_NODE_DEV_CAP_NET &&
-            virNetDevGetLinkInfo(cap->data.net.ifname, &cap->data.net.lnk) < 0)
-            return -1;
+            break;
+        case VIR_NODE_DEV_CAP_NET:
+            if (virNetDevGetLinkInfo(cap->data.net.ifname, &cap->data.net.lnk) < 0)
+                return -1;
+            break;
 
+        /* all types that (supposedly) don't require any updates
+         * relative to what's in the cache.
+         */
+        case VIR_NODE_DEV_CAP_SYSTEM:
+        case VIR_NODE_DEV_CAP_PCI_DEV:
+        case VIR_NODE_DEV_CAP_USB_DEV:
+        case VIR_NODE_DEV_CAP_USB_INTERFACE:
+        case VIR_NODE_DEV_CAP_SCSI_TARGET:
+        case VIR_NODE_DEV_CAP_SCSI:
+        case VIR_NODE_DEV_CAP_STORAGE:
+        case VIR_NODE_DEV_CAP_FC_HOST:
+        case VIR_NODE_DEV_CAP_VPORTS:
+        case VIR_NODE_DEV_CAP_SCSI_GENERIC:
+        case VIR_NODE_DEV_CAP_LAST:
+            break;
+        }
         cap = cap->next;
     }