[lustre-devel] [PATCH 5/6] lustre: convert list_for_each() in ksocknal_push_peer()
NeilBrown
neilb at suse.com
Sun Jul 29 20:45:39 PDT 2018
The use of list_for_each() in ksocknal_push_peer() cannot be trivially
converted to list_for_each_entry() as the new loop variable
is tested outside the loop. We can change that test to compare 'i'
to 'index' instead. Then a trivial conversion is possible.
Signed-off-by: NeilBrown <neilb at suse.com>
---
.../staging/lustre/lnet/klnds/socklnd/socklnd.c | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
index ea95bff79996..33335713b371 100644
--- a/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
+++ b/drivers/staging/lustre/lnet/klnds/socklnd/socklnd.c
@@ -1853,7 +1853,6 @@ ksocknal_push_peer(struct ksock_peer *peer)
{
int index;
int i;
- struct list_head *tmp;
struct ksock_conn *conn;
for (index = 0; ; index++) {
@@ -1862,10 +1861,8 @@ ksocknal_push_peer(struct ksock_peer *peer)
i = 0;
conn = NULL;
- list_for_each(tmp, &peer->ksnp_conns) {
+ list_for_each_entry(conn, &peer->ksnp_conns, ksnc_list) {
if (i++ == index) {
- conn = list_entry(tmp, struct ksock_conn,
- ksnc_list);
ksocknal_conn_addref(conn);
break;
}
@@ -1873,7 +1870,7 @@ ksocknal_push_peer(struct ksock_peer *peer)
read_unlock(&ksocknal_data.ksnd_global_lock);
- if (!conn)
+ if (i <= index)
break;
ksocknal_lib_push_conn(conn);
More information about the lustre-devel
mailing list