[libvirt] [PATCH 31/32] node_device_udev: rename labels to cleanup

Ján Tomko jtomko at redhat.com
Mon Jun 6 09:02:08 UTC 2016


Instead of the custom out and out_unlock.
---
 src/node_device/node_device_udev.c | 154 ++++++++++++++++++-------------------
 1 file changed, 77 insertions(+), 77 deletions(-)

diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c
index 88a333e..b46fec6 100644
--- a/src/node_device/node_device_udev.c
+++ b/src/node_device/node_device_udev.c
@@ -326,7 +326,7 @@ static int udevProcessPCI(struct udev_device *device,
     syspath = udev_device_get_syspath(device);
 
     if (udevGetUintProperty(device, "PCI_CLASS", &data->pci_dev.class, 16) < 0)
-        goto out;
+        goto cleanup;
 
     if ((p = strrchr(syspath, '/')) == NULL ||
         virStrToLong_ui(p + 1, &p, 16, &data->pci_dev.domain) < 0 || p == NULL ||
@@ -336,54 +336,54 @@ static int udevProcessPCI(struct udev_device *device,
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("failed to parse the PCI address from sysfs path: '%s'"),
                        syspath);
-        goto out;
+        goto cleanup;
     }
 
     if (udevGetUintSysfsAttr(device, "vendor", &data->pci_dev.vendor, 16) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetUintSysfsAttr(device, "device", &data->pci_dev.product, 16) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevTranslatePCIIds(data->pci_dev.vendor,
                             data->pci_dev.product,
                             &data->pci_dev.vendor_name,
                             &data->pci_dev.product_name) != 0) {
-        goto out;
+        goto cleanup;
     }
 
     if (udevGenerateDeviceName(device, def, NULL) != 0)
-        goto out;
+        goto cleanup;
 
     /* The default value is -1, because it can't be 0
      * as zero is valid node number. */
     data->pci_dev.numa_node = -1;
     if (udevGetIntSysfsAttr(device, "numa_node",
                             &data->pci_dev.numa_node, 10) < 0)
-        goto out;
+        goto cleanup;
 
     if (nodeDeviceSysfsGetPCIRelatedDevCaps(syspath, data) < 0)
-        goto out;
+        goto cleanup;
 
     if (!(pciDev = virPCIDeviceNew(data->pci_dev.domain,
                                    data->pci_dev.bus,
                                    data->pci_dev.slot,
                                    data->pci_dev.function)))
-        goto out;
+        goto cleanup;
 
     /* We need to be root to read PCI device configs */
     if (priv->privileged) {
         if (virPCIGetHeaderType(pciDev, &data->pci_dev.hdrType) < 0)
-            goto out;
+            goto cleanup;
 
         if (virPCIDeviceIsPCIExpress(pciDev) > 0) {
             if (VIR_ALLOC(pci_express) < 0)
-                goto out;
+                goto cleanup;
 
             if (virPCIDeviceHasPCIExpressLink(pciDev) > 0) {
                 if (VIR_ALLOC(pci_express->link_cap) < 0 ||
                     VIR_ALLOC(pci_express->link_sta) < 0)
-                    goto out;
+                    goto cleanup;
 
                 if (virPCIDeviceGetLinkCapSta(pciDev,
                                               &pci_express->link_cap->port,
@@ -391,7 +391,7 @@ static int udevProcessPCI(struct udev_device *device,
                                               &pci_express->link_cap->width,
                                               &pci_express->link_sta->speed,
                                               &pci_express->link_sta->width) < 0)
-                    goto out;
+                    goto cleanup;
 
                 pci_express->link_sta->port = -1; /* PCIe can't negotiate port. Yet :) */
             }
@@ -403,7 +403,7 @@ static int udevProcessPCI(struct udev_device *device,
 
     ret = 0;
 
- out:
+ cleanup:
     virPCIDeviceFree(pciDev);
     virPCIEDeviceInfoFree(pci_express);
     return ret;
@@ -641,18 +641,18 @@ static int udevProcessSCSIDevice(struct udev_device *device ATTRIBUTE_UNUSED,
 
     if (udev_device_get_sysattr_value(device, "type")) {
         if (udevGetUintSysfsAttr(device, "type", &tmp, 0) < 0)
-            goto out;
+            goto cleanup;
 
         if (udevGetSCSIType(def, tmp, &data->scsi.type) < 0)
-            goto out;
+            goto cleanup;
     }
 
     if (udevGenerateDeviceName(device, def, NULL) != 0)
-        goto out;
+        goto cleanup;
 
     ret = 0;
 
- out:
+ cleanup:
     if (ret != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
                        _("Failed to process SCSI device with sysfs path '%s'"),
@@ -669,16 +669,16 @@ static int udevProcessDisk(struct udev_device *device,
     int ret = 0;
 
     if (udevGetUint64SysfsAttr(device, "size", &data->storage.num_blocks) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetUint64SysfsAttr(device, "queue/logical_block_size",
                                &data->storage.logical_block_size) < 0)
-        goto out;
+        goto cleanup;
 
     data->storage.size = data->storage.num_blocks *
         data->storage.logical_block_size;
 
- out:
+ cleanup:
     return ret;
 }
 
@@ -818,24 +818,24 @@ static int udevProcessStorage(struct udev_device *device,
     devnode = udev_device_get_devnode(device);
     if (!devnode) {
         VIR_DEBUG("No devnode for '%s'", udev_device_get_devpath(device));
-        goto out;
+        goto cleanup;
     }
 
     if (VIR_STRDUP(data->storage.block, devnode) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetStringProperty(device, "ID_BUS", &data->storage.bus) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringProperty(device, "ID_SERIAL", &data->storage.serial) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetStringSysfsAttr(device, "device/vendor", &data->storage.vendor) < 0)
-        goto out;
+        goto cleanup;
     if (def->caps->data.storage.vendor)
         virTrimSpaces(def->caps->data.storage.vendor, NULL);
 
     if (udevGetStringSysfsAttr(device, "device/model", &data->storage.model) < 0)
-        goto out;
+        goto cleanup;
     if (def->caps->data.storage.model)
         virTrimSpaces(def->caps->data.storage.model, NULL);
     /* There is no equivalent of the hotpluggable property in libudev,
@@ -844,7 +844,7 @@ static int udevProcessStorage(struct udev_device *device,
      * for it. */
 
     if (udevGetStringProperty(device, "ID_TYPE", &data->storage.drive_type) < 0)
-        goto out;
+        goto cleanup;
 
     if (!data->storage.drive_type ||
         STREQ(def->caps->data.storage.drive_type, "generic")) {
@@ -854,31 +854,31 @@ static int udevProcessStorage(struct udev_device *device,
         /* All floppy drives have the ID_DRIVE_FLOPPY prop. This is
          * needed since legacy floppies don't have a drive_type */
         if (udevGetIntProperty(device, "ID_DRIVE_FLOPPY", &val, 0) < 0)
-            goto out;
+            goto cleanup;
         else if (val == 1)
             str = "floppy";
 
         if (!str) {
             if (udevGetIntProperty(device, "ID_CDROM", &val, 0) < 0)
-                goto out;
+                goto cleanup;
             else if (val == 1)
                 str = "cd";
         }
 
         if (!str) {
             if (udevGetIntProperty(device, "ID_DRIVE_FLASH_SD", &val, 0) < 0)
-                goto out;
+                goto cleanup;
             if (val == 1)
                 str = "sd";
         }
 
         if (str) {
             if (VIR_STRDUP(data->storage.drive_type, str) < 0)
-                goto out;
+                goto cleanup;
         } else {
             /* If udev doesn't have it, perhaps we can guess it. */
             if (udevKludgeStorageType(def) != 0)
-                goto out;
+                goto cleanup;
         }
     }
 
@@ -893,13 +893,13 @@ static int udevProcessStorage(struct udev_device *device,
     } else {
         VIR_DEBUG("Unsupported storage type '%s'",
                   def->caps->data.storage.drive_type);
-        goto out;
+        goto cleanup;
     }
 
     if (udevGenerateDeviceName(device, def, data->storage.serial) != 0)
-        goto out;
+        goto cleanup;
 
- out:
+ cleanup:
     VIR_DEBUG("Storage ret=%d", ret);
     return ret;
 }
@@ -1066,7 +1066,7 @@ static int udevSetParent(struct udev_device *device,
             virReportError(VIR_ERR_INTERNAL_ERROR,
                            _("Could not get syspath for parent of '%s'"),
                            udev_device_get_syspath(parent_device));
-            goto out;
+            goto cleanup;
         }
 
         dev = virNodeDeviceFindBySysfsPath(&driver->devs,
@@ -1074,22 +1074,22 @@ static int udevSetParent(struct udev_device *device,
         if (dev != NULL) {
             if (VIR_STRDUP(def->parent, dev->def->name) < 0) {
                 virNodeDeviceObjUnlock(dev);
-                goto out;
+                goto cleanup;
             }
             virNodeDeviceObjUnlock(dev);
 
             if (VIR_STRDUP(def->parent_sysfs_path, parent_sysfs_path) < 0)
-                goto out;
+                goto cleanup;
         }
 
     } while (def->parent == NULL && parent_device != NULL);
 
     if (!def->parent && VIR_STRDUP(def->parent, "computer") < 0)
-        goto out;
+        goto cleanup;
 
     ret = 0;
 
- out:
+ cleanup:
     return ret;
 }
 
@@ -1101,37 +1101,37 @@ static int udevAddOneDevice(struct udev_device *device)
     int ret = -1;
 
     if (VIR_ALLOC(def) != 0)
-        goto out;
+        goto cleanup;
 
     if (VIR_STRDUP(def->sysfs_path, udev_device_get_syspath(device)) < 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetStringProperty(device, "DRIVER", &def->driver) < 0)
-        goto out;
+        goto cleanup;
 
     if (VIR_ALLOC(def->caps) != 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetDeviceType(device, &def->caps->data.type) != 0)
-        goto out;
+        goto cleanup;
 
     if (udevGetDeviceDetails(device, def) != 0)
-        goto out;
+        goto cleanup;
 
     if (udevSetParent(device, def) != 0)
-        goto out;
+        goto cleanup;
 
     /* If this is a device change, the old definition will be freed
      * and the current definition will take its place. */
     dev = virNodeDeviceAssignDef(&driver->devs, def);
     if (dev == NULL)
-        goto out;
+        goto cleanup;
 
     virNodeDeviceObjUnlock(dev);
 
     ret = 0;
 
- out:
+ cleanup:
     if (ret != 0) {
         VIR_DEBUG("Discarding device %d %p %s", ret, def,
                   def ? NULLSTR(def->sysfs_path) : "");
@@ -1178,7 +1178,7 @@ static int udevEnumerateDevices(struct udev *udev)
     ret = udev_enumerate_scan_devices(udev_enumerate);
     if (ret != 0) {
         virReportError(VIR_ERR_INTERNAL_ERROR, _("udev scan devices returned %d"), ret);
-        goto out;
+        goto cleanup;
     }
 
     udev_list_entry_foreach(list_entry,
@@ -1187,7 +1187,7 @@ static int udevEnumerateDevices(struct udev *udev)
         udevProcessDeviceListEntry(udev, list_entry);
     }
 
- out:
+ cleanup:
     udev_enumerate_unref(udev_enumerate);
     return ret;
 }
@@ -1259,14 +1259,14 @@ static void udevEventHandleCallback(int watch ATTRIBUTE_UNUSED,
     if (fd != udev_fd) {
         virReportError(VIR_ERR_INTERNAL_ERROR, _("File descriptor returned by udev %d does not "
                     "match node device file descriptor %d"), fd, udev_fd);
-        goto out;
+        goto cleanup;
     }
 
     device = udev_monitor_receive_device(udev_monitor);
     if (device == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("udev_monitor_receive_device returned NULL"));
-        goto out;
+        goto cleanup;
     }
 
     action = udev_device_get_action(device);
@@ -1274,15 +1274,15 @@ static void udevEventHandleCallback(int watch ATTRIBUTE_UNUSED,
 
     if (STREQ(action, "add") || STREQ(action, "change")) {
         udevAddOneDevice(device);
-        goto out;
+        goto cleanup;
     }
 
     if (STREQ(action, "remove")) {
         udevRemoveOneDevice(device);
-        goto out;
+        goto cleanup;
     }
 
- out:
+ cleanup:
     udev_device_unref(device);
     nodeDeviceUnlock();
     return;
@@ -1305,37 +1305,37 @@ udevGetDMIData(virNodeDevCapDataPtr data)
         if (device == NULL) {
             virReportError(VIR_ERR_INTERNAL_ERROR, _("Failed to get udev device for syspath '%s' or '%s'"),
                       DMI_DEVPATH, DMI_DEVPATH_FALLBACK);
-            goto out;
+            return;
         }
     }
 
     if (udevGetStringSysfsAttr(device, "product_name",
                                &data->system.product_name) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringSysfsAttr(device, "sys_vendor",
                                &data->system.hardware.vendor_name) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringSysfsAttr(device, "product_version",
                                &data->system.hardware.version) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringSysfsAttr(device, "product_serial",
                                &data->system.hardware.serial) < 0)
-        goto out;
+        goto cleanup;
 
     if (virGetHostUUID(data->system.hardware.uuid))
-        goto out;
+        goto cleanup;
 
     if (udevGetStringSysfsAttr(device, "bios_vendor",
                                &data->system.firmware.vendor_name) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringSysfsAttr(device, "bios_version",
                                &data->system.firmware.version) < 0)
-        goto out;
+        goto cleanup;
     if (udevGetStringSysfsAttr(device, "bios_date",
                                &data->system.firmware.release_date) < 0)
-        goto out;
+        goto cleanup;
 
- out:
+ cleanup:
     if (device != NULL)
         udev_device_unref(device);
     return;
@@ -1353,10 +1353,10 @@ static int udevSetupSystemDev(void)
         return -1;
 
     if (VIR_STRDUP(def->name, "computer") < 0)
-        goto out;
+        goto cleanup;
 
     if (VIR_ALLOC(def->caps) != 0)
-        goto out;
+        goto cleanup;
 
 #if defined(__x86_64__) || defined(__i386__) || defined(__amd64__)
     udevGetDMIData(&def->caps->data);
@@ -1364,13 +1364,13 @@ static int udevSetupSystemDev(void)
 
     dev = virNodeDeviceAssignDef(&driver->devs, def);
     if (dev == NULL)
-        goto out;
+        goto cleanup;
 
     virNodeDeviceObjUnlock(dev);
 
     ret = 0;
 
- out:
+ cleanup:
     if (ret == -1)
         virNodeDeviceDefFree(def);
 
@@ -1430,7 +1430,7 @@ static int nodeStateInitialize(bool privileged,
     nodeDeviceLock();
 
     if (udevPCITranslateInit(privileged) < 0)
-        goto out_unlock;
+        goto cleanup;
 
     /*
      * http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libudev-udev.html#udev-new
@@ -1448,7 +1448,7 @@ static int nodeStateInitialize(bool privileged,
     if (priv->udev_monitor == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("udev_monitor_new_from_netlink returned NULL"));
-        goto out_unlock;
+        goto cleanup;
     }
 
     udev_monitor_enable_receiving(priv->udev_monitor);
@@ -1465,20 +1465,20 @@ static int nodeStateInitialize(bool privileged,
                                     VIR_EVENT_HANDLE_READABLE,
                                     udevEventHandleCallback, NULL, NULL);
     if (priv->watch == -1)
-        goto out_unlock;
+        goto cleanup;
 
     /* Create a fictional 'computer' device to root the device tree. */
     if (udevSetupSystemDev() != 0)
-        goto out_unlock;
+        goto cleanup;
 
     /* Populate with known devices */
 
     if (udevEnumerateDevices(udev) != 0)
-        goto out_unlock;
+        goto cleanup;
 
     ret = 0;
 
- out_unlock:
+ cleanup:
     nodeDeviceUnlock();
 
     if (ret == -1)
-- 
2.7.3




More information about the libvir-list mailing list