nodedev: Dereference the obj/def in virNodeDeviceObjListFind* APIs

Create local @obj and @def for the API's rather than referencing the
devs->objs[i][->def->].  It'll make future patches easier to read.

Signed-off-by: John Ferlan <jferlan@redhat.com>
This commit is contained in:
John Ferlan 2017-05-15 10:20:51 -04:00
parent 881a486a7d
commit fc768b9063

View File

@ -171,12 +171,16 @@ virNodeDeviceObjListFindBySysfsPath(virNodeDeviceObjListPtr devs,
size_t i; size_t i;
for (i = 0; i < devs->count; i++) { for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]); virNodeDeviceObjPtr obj = devs->objs[i];
if ((devs->objs[i]->def->sysfs_path != NULL) && virNodeDeviceDefPtr def;
(STREQ(devs->objs[i]->def->sysfs_path, sysfs_path))) {
return devs->objs[i]; virNodeDeviceObjLock(obj);
def = obj->def;
if ((def->sysfs_path != NULL) &&
(STREQ(def->sysfs_path, sysfs_path))) {
return obj;
} }
virNodeDeviceObjUnlock(devs->objs[i]); virNodeDeviceObjUnlock(obj);
} }
return NULL; return NULL;
@ -190,10 +194,14 @@ virNodeDeviceObjListFindByName(virNodeDeviceObjListPtr devs,
size_t i; size_t i;
for (i = 0; i < devs->count; i++) { for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]); virNodeDeviceObjPtr obj = devs->objs[i];
if (STREQ(devs->objs[i]->def->name, name)) virNodeDeviceDefPtr def;
return devs->objs[i];
virNodeDeviceObjUnlock(devs->objs[i]); virNodeDeviceObjLock(obj);
def = obj->def;
if (STREQ(def->name, name))
return obj;
virNodeDeviceObjUnlock(obj);
} }
return NULL; return NULL;
@ -208,14 +216,16 @@ virNodeDeviceObjListFindByWWNs(virNodeDeviceObjListPtr devs,
size_t i; size_t i;
for (i = 0; i < devs->count; i++) { for (i = 0; i < devs->count; i++) {
virNodeDeviceObjPtr obj = devs->objs[i];
virNodeDevCapsDefPtr cap; virNodeDevCapsDefPtr cap;
virNodeDeviceObjLock(devs->objs[i]);
if ((cap = virNodeDeviceFindFCCapDef(devs->objs[i])) && virNodeDeviceObjLock(obj);
if ((cap = virNodeDeviceFindFCCapDef(obj)) &&
STREQ_NULLABLE(cap->data.scsi_host.wwnn, parent_wwnn) && STREQ_NULLABLE(cap->data.scsi_host.wwnn, parent_wwnn) &&
STREQ_NULLABLE(cap->data.scsi_host.wwpn, parent_wwpn) && STREQ_NULLABLE(cap->data.scsi_host.wwpn, parent_wwpn) &&
virNodeDeviceFindVPORTCapDef(devs->objs[i])) virNodeDeviceFindVPORTCapDef(obj))
return devs->objs[i]; return obj;
virNodeDeviceObjUnlock(devs->objs[i]); virNodeDeviceObjUnlock(obj);
} }
return NULL; return NULL;
@ -229,13 +239,15 @@ virNodeDeviceObjListFindByFabricWWN(virNodeDeviceObjListPtr devs,
size_t i; size_t i;
for (i = 0; i < devs->count; i++) { for (i = 0; i < devs->count; i++) {
virNodeDeviceObjPtr obj = devs->objs[i];
virNodeDevCapsDefPtr cap; virNodeDevCapsDefPtr cap;
virNodeDeviceObjLock(devs->objs[i]);
if ((cap = virNodeDeviceFindFCCapDef(devs->objs[i])) && virNodeDeviceObjLock(obj);
if ((cap = virNodeDeviceFindFCCapDef(obj)) &&
STREQ_NULLABLE(cap->data.scsi_host.fabric_wwn, parent_fabric_wwn) && STREQ_NULLABLE(cap->data.scsi_host.fabric_wwn, parent_fabric_wwn) &&
virNodeDeviceFindVPORTCapDef(devs->objs[i])) virNodeDeviceFindVPORTCapDef(obj))
return devs->objs[i]; return obj;
virNodeDeviceObjUnlock(devs->objs[i]); virNodeDeviceObjUnlock(obj);
} }
return NULL; return NULL;
@ -249,10 +261,12 @@ virNodeDeviceObjListFindByCap(virNodeDeviceObjListPtr devs,
size_t i; size_t i;
for (i = 0; i < devs->count; i++) { for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]); virNodeDeviceObjPtr obj = devs->objs[i];
if (virNodeDeviceObjHasCap(devs->objs[i], cap))
return devs->objs[i]; virNodeDeviceObjLock(obj);
virNodeDeviceObjUnlock(devs->objs[i]); if (virNodeDeviceObjHasCap(obj, cap))
return obj;
virNodeDeviceObjUnlock(obj);
} }
return NULL; return NULL;