]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/staging/lustre/lnet/lnet/peer.c
staging: lustre: DLC user/kernel space glue code
[karo-tx-linux.git] / drivers / staging / lustre / lnet / lnet / peer.c
index 57717088ac39b858282cca8ed13b44dcdfd675ca..19c80c92d5c76ef898cc31c5470729c0e56240e5 100644 (file)
@@ -394,16 +394,18 @@ lnet_debug_peer(lnet_nid_t nid)
        lnet_net_unlock(cpt);
 }
 
-int lnet_get_peers(int count, __u64 *nid, char *aliveness,
-                  int *ncpt, int *refcount,
-                  int *ni_peer_tx_credits, int *peer_tx_credits,
-                  int *peer_rtr_credits, int *peer_min_rtr_credits,
-                  int *peer_tx_qnob)
+int
+lnet_get_peer_info(__u32 peer_index, __u64 *nid,
+                  char aliveness[LNET_MAX_STR_LEN],
+                  __u32 *cpt_iter, __u32 *refcount,
+                  __u32 *ni_peer_tx_credits, __u32 *peer_tx_credits,
+                  __u32 *peer_rtr_credits, __u32 *peer_min_rtr_credits,
+                  __u32 *peer_tx_qnob)
 {
        struct lnet_peer_table *peer_table;
        lnet_peer_t *lp;
-       int j;
-       int lncpt, found = 0;
+       bool found = false;
+       int lncpt, j;
 
        /* get the number of CPTs */
        lncpt = cfs_percpt_number(the_lnet.ln_peer_tables);
@@ -412,22 +414,22 @@ int lnet_get_peers(int count, __u64 *nid, char *aliveness,
         * if the cpt number to be examined is >= the number of cpts in
         * the system then indicate that there are no more cpts to examin
         */
-       if (*ncpt >= lncpt)
+       if (*cpt_iter >= lncpt)
                return -ENOENT;
 
        /* get the current table */
-       peer_table = the_lnet.ln_peer_tables[*ncpt];
+       peer_table = the_lnet.ln_peer_tables[*cpt_iter];
        /* if the ptable is NULL then there are no more cpts to examine */
        if (!peer_table)
                return -ENOENT;
 
-       lnet_net_lock(*ncpt);
+       lnet_net_lock(*cpt_iter);
 
        for (j = 0; j < LNET_PEER_HASH_SIZE && !found; j++) {
                struct list_head *peers = &peer_table->pt_hash[j];
 
                list_for_each_entry(lp, peers, lp_hashlist) {
-                       if (count-- > 0)
+                       if (peer_index-- > 0)
                                continue;
 
                        snprintf(aliveness, LNET_MAX_STR_LEN, "NA");
@@ -444,12 +446,12 @@ int lnet_get_peers(int count, __u64 *nid, char *aliveness,
                        *peer_min_rtr_credits = lp->lp_mintxcredits;
                        *peer_tx_qnob = lp->lp_txqnob;
 
-                       found = 1;
+                       found = true;
                }
        }
-       lnet_net_unlock(*ncpt);
+       lnet_net_unlock(*cpt_iter);
 
-       *ncpt = lncpt;
+       *cpt_iter = lncpt;
 
        return found ? 0 : -ENOENT;
 }