]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
nodedev: Alter param to nodeDeviceUpdateDriverName
authorJohn Ferlan <jferlan@redhat.com>
Fri, 12 May 2017 20:04:19 +0000 (16:04 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Sat, 3 Jun 2017 12:34:34 +0000 (08:34 -0400)
Rather than taking an virNodeDeviceObjPtr and dereffing the obj->def,
just pass the def.

Also check for an error in the function to have the calling function goto
cleanup on error.

Signed-off-by: John Ferlan <jferlan@redhat.com>
src/node_device/node_device_driver.c

index fd6096a3c6009f11af2ab5fe22a8c781715b9cd5..8ab45fffcc5f83caa4e91540e40ab70bbea463fc 100644 (file)
@@ -110,16 +110,16 @@ nodeDeviceUpdateCaps(virNodeDeviceObjPtr dev)
  * udev *and* HAL backends.
  */
 static int
-nodeDeviceUpdateDriverName(virNodeDeviceObjPtr dev)
+nodeDeviceUpdateDriverName(virNodeDeviceDefPtr def)
 {
     char *driver_link = NULL;
     char *devpath = NULL;
     char *p;
     int ret = -1;
 
-    VIR_FREE(dev->def->driver);
+    VIR_FREE(def->driver);
 
-    if (virAsprintf(&driver_link, "%s/driver", dev->def->sysfs_path) < 0)
+    if (virAsprintf(&driver_link, "%s/driver", def->sysfs_path) < 0)
         goto cleanup;
 
     /* Some devices don't have an explicit driver, so just return
@@ -136,7 +136,7 @@ nodeDeviceUpdateDriverName(virNodeDeviceObjPtr dev)
     }
 
     p = strrchr(devpath, '/');
-    if (p && VIR_STRDUP(dev->def->driver, p + 1) < 0)
+    if (p && VIR_STRDUP(def->driver, p + 1) < 0)
         goto cleanup;
     ret = 0;
 
@@ -148,7 +148,7 @@ nodeDeviceUpdateDriverName(virNodeDeviceObjPtr dev)
 #else
 /* XXX: Implement me for non-linux */
 static int
-nodeDeviceUpdateDriverName(virNodeDeviceObjPtr dev ATTRIBUTE_UNUSED)
+nodeDeviceUpdateDriverName(virNodeDeviceDefPtr def ATTRIBUTE_UNUSED)
 {
     return 0;
 }
@@ -352,7 +352,9 @@ nodeDeviceGetXMLDesc(virNodeDevicePtr dev,
     if (virNodeDeviceGetXMLDescEnsureACL(dev->conn, obj->def) < 0)
         goto cleanup;
 
-    nodeDeviceUpdateDriverName(obj);
+    if (nodeDeviceUpdateDriverName(obj->def) < 0)
+        goto cleanup;
+
     if (nodeDeviceUpdateCaps(obj) < 0)
         goto cleanup;