提交 fc768b90 编写于 作者: J John Ferlan

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: NJohn Ferlan <jferlan@redhat.com>
上级 881a486a
......@@ -171,12 +171,16 @@ virNodeDeviceObjListFindBySysfsPath(virNodeDeviceObjListPtr devs,
size_t i;
for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]);
if ((devs->objs[i]->def->sysfs_path != NULL) &&
(STREQ(devs->objs[i]->def->sysfs_path, sysfs_path))) {
return devs->objs[i];
virNodeDeviceObjPtr obj = devs->objs[i];
virNodeDeviceDefPtr def;
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;
......@@ -190,10 +194,14 @@ virNodeDeviceObjListFindByName(virNodeDeviceObjListPtr devs,
size_t i;
for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]);
if (STREQ(devs->objs[i]->def->name, name))
return devs->objs[i];
virNodeDeviceObjUnlock(devs->objs[i]);
virNodeDeviceObjPtr obj = devs->objs[i];
virNodeDeviceDefPtr def;
virNodeDeviceObjLock(obj);
def = obj->def;
if (STREQ(def->name, name))
return obj;
virNodeDeviceObjUnlock(obj);
}
return NULL;
......@@ -208,14 +216,16 @@ virNodeDeviceObjListFindByWWNs(virNodeDeviceObjListPtr devs,
size_t i;
for (i = 0; i < devs->count; i++) {
virNodeDeviceObjPtr obj = devs->objs[i];
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.wwpn, parent_wwpn) &&
virNodeDeviceFindVPORTCapDef(devs->objs[i]))
return devs->objs[i];
virNodeDeviceObjUnlock(devs->objs[i]);
virNodeDeviceFindVPORTCapDef(obj))
return obj;
virNodeDeviceObjUnlock(obj);
}
return NULL;
......@@ -229,13 +239,15 @@ virNodeDeviceObjListFindByFabricWWN(virNodeDeviceObjListPtr devs,
size_t i;
for (i = 0; i < devs->count; i++) {
virNodeDeviceObjPtr obj = devs->objs[i];
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) &&
virNodeDeviceFindVPORTCapDef(devs->objs[i]))
return devs->objs[i];
virNodeDeviceObjUnlock(devs->objs[i]);
virNodeDeviceFindVPORTCapDef(obj))
return obj;
virNodeDeviceObjUnlock(obj);
}
return NULL;
......@@ -249,10 +261,12 @@ virNodeDeviceObjListFindByCap(virNodeDeviceObjListPtr devs,
size_t i;
for (i = 0; i < devs->count; i++) {
virNodeDeviceObjLock(devs->objs[i]);
if (virNodeDeviceObjHasCap(devs->objs[i], cap))
return devs->objs[i];
virNodeDeviceObjUnlock(devs->objs[i]);
virNodeDeviceObjPtr obj = devs->objs[i];
virNodeDeviceObjLock(obj);
if (virNodeDeviceObjHasCap(obj, cap))
return obj;
virNodeDeviceObjUnlock(obj);
}
return NULL;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册