Whamcloud - gitweb
LU-6142 lnet: use list_first_entry() in lnet/lnet subdirectory.
[fs/lustre-release.git] / lnet / lnet / router.c
index c40b031..d581fa2 100644 (file)
@@ -187,13 +187,13 @@ lnet_move_route(struct lnet_route *route, struct lnet_peer *lp,
 
        if (lp) {
                route = list_first_entry(l, struct lnet_route,
-                                       lr_list);
+                                        lr_list);
                route->lr_gateway = lp;
                lnet_add_route_to_rnet(rnet, route);
        } else {
                while (!list_empty(l) && !rt_list) {
                        route = list_first_entry(l, struct lnet_route,
-                                lr_list);
+                                                lr_list);
                        list_del(&route->lr_list);
                        LIBCFS_FREE(route, sizeof(*route));
                }
@@ -582,15 +582,12 @@ struct lnet_remotenet *
 lnet_find_rnet_locked(__u32 net)
 {
        struct lnet_remotenet *rnet;
-       struct list_head *tmp;
        struct list_head *rn_list;
 
        LASSERT(the_lnet.ln_state == LNET_STATE_RUNNING);
 
        rn_list = lnet_net2rnethash(net);
-       list_for_each(tmp, rn_list) {
-               rnet = list_entry(tmp, struct lnet_remotenet, lrn_list);
-
+       list_for_each_entry(rnet, rn_list, lrn_list) {
                if (rnet->lrn_net == net)
                        return rnet;
        }
@@ -979,8 +976,6 @@ lnet_get_route(int idx, __u32 *net, __u32 *hops, lnet_nid_t *gateway,
        struct lnet_remotenet *rnet;
        struct list_head *rn_list;
        struct lnet_route *route;
-       struct list_head *e1;
-       struct list_head *e2;
        int cpt;
        int i;
 
@@ -988,13 +983,8 @@ lnet_get_route(int idx, __u32 *net, __u32 *hops, lnet_nid_t *gateway,
 
        for (i = 0; i < LNET_REMOTE_NETS_HASH_SIZE; i++) {
                rn_list = &the_lnet.ln_remote_nets_hash[i];
-               list_for_each(e1, rn_list) {
-                       rnet = list_entry(e1, struct lnet_remotenet, lrn_list);
-
-                       list_for_each(e2, &rnet->lrn_routes) {
-                               route = list_entry(e2, struct lnet_route,
-                                                  lr_list);
-
+               list_for_each_entry(rnet, rn_list, lrn_list) {
+                       list_for_each_entry(route, &rnet->lrn_routes, lr_list) {
                                if (idx-- == 0) {
                                        *net      = rnet->lrn_net;
                                        *gateway  = lnet_nid_to_nid4(&route->lr_nid);
@@ -1025,7 +1015,6 @@ static void
 lnet_wait_known_routerstate(void)
 {
        struct lnet_peer *rtr;
-       struct list_head *entry;
        int all_known;
 
        LASSERT(the_lnet.ln_mt_state == LNET_MT_STATE_RUNNING);
@@ -1034,10 +1023,7 @@ lnet_wait_known_routerstate(void)
                int cpt = lnet_net_lock_current();
 
                all_known = 1;
-               list_for_each(entry, &the_lnet.ln_routers) {
-                       rtr = list_entry(entry, struct lnet_peer,
-                                        lp_rtr_list);
-
+               list_for_each_entry(rtr, &the_lnet.ln_routers, lp_rtr_list) {
                        spin_lock(&rtr->lp_lock);
 
                        if ((rtr->lp_state & LNET_PEER_RTR_DISCOVERED) == 0) {
@@ -1159,7 +1145,6 @@ lnet_check_routers(void)
        struct lnet_peer_net *first_lpn;
        struct lnet_peer_net *lpn;
        struct lnet_peer_ni *lpni;
-       struct list_head *entry;
        struct lnet_peer *rtr;
        bool push = false;
        bool needs_ping;
@@ -1174,10 +1159,7 @@ lnet_check_routers(void)
 rescan:
        version = the_lnet.ln_routers_version;
 
-       list_for_each(entry, &the_lnet.ln_routers) {
-               rtr = list_entry(entry, struct lnet_peer,
-                                lp_rtr_list);
-
+       list_for_each_entry(rtr, &the_lnet.ln_routers, lp_rtr_list) {
                /* If we're currently discovering the peer then don't
                 * issue another discovery
                 */
@@ -1345,7 +1327,7 @@ lnet_rtrpool_free_bufs(struct lnet_rtrbufpool *rbp, int cpt)
 
        /* Free buffers on the free list. */
        while (!list_empty(&tmp)) {
-               rb = list_entry(tmp.next, struct lnet_rtrbuf, rb_list);
+               rb = list_first_entry(&tmp, struct lnet_rtrbuf, rb_list);
                list_del(&rb->rb_list);
                lnet_destroy_rtrbuf(rb, npages);
        }
@@ -1419,8 +1401,9 @@ lnet_rtrpool_adjust_bufs(struct lnet_rtrbufpool *rbp, int nbufs, int cpt)
        return 0;
 
 failed:
-       while (!list_empty(&rb_list)) {
-               rb = list_entry(rb_list.next, struct lnet_rtrbuf, rb_list);
+       while ((rb = list_first_entry_or_null(&rb_list,
+                                             struct lnet_rtrbuf,
+                                             rb_list)) != NULL) {
                list_del(&rb->rb_list);
                lnet_destroy_rtrbuf(rb, npages);
        }