From: Laine Stump Date: Wed, 6 May 2015 17:51:47 +0000 (-0400) Subject: nodedev: change if-else if in update_caps to switch X-Git-Tag: v1.2.16-rc1~55 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3c93419b7771bf42ba7b56803f5b2ce480854791;p=thirdparty%2Flibvirt.git nodedev: change if-else if in update_caps to switch Makes it nicer as update bits are added for different cap types. --- diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c index a14191c08c..a6b32fea0e 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -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; }