static void
free_addrranges(struct list_head *list)
{
- while (!list_empty(list)) {
- struct addrrange *ar;
-
- ar = list_entry(list->next, struct addrrange, ar_link);
+ struct addrrange *ar;
+ while ((ar = list_first_entry_or_null(list,
+ struct addrrange,
+ ar_link)) != NULL) {
cfs_expr_list_free_list(&ar->ar_numaddr_ranges);
list_del(&ar->ar_link);
CFS_FREE_PTR(ar);
struct cfs_expr_list *el;
LASSERT(!list_empty(numaddr));
- el = list_entry(numaddr->next, struct cfs_expr_list, el_link);
+ el = list_first_entry(numaddr, struct cfs_expr_list, el_link);
return cfs_expr_list_match(addr, el);
}
.nf_print_addrlist = libcfs_num_addr_range_print,
.nf_match_addr = libcfs_num_match
},
+ {
+ .nf_type = KFILND,
+ .nf_name = "kfi",
+ .nf_modname = "kkfilnd",
+ .nf_addr2str = libcfs_decnum_addr2str,
+ .nf_str2addr = libcfs_num_str2addr,
+ .nf_parse_addrlist = libcfs_num_parse,
+ .nf_print_addrlist = libcfs_num_addr_range_print,
+ .nf_match_addr = libcfs_num_match
+ },
};
static const size_t libcfs_nnetstrfns = ARRAY_SIZE(libcfs_netstrfns);
}
int
-cfs_match_nid_net(lnet_nid_t nid, __u32 net_type,
- struct list_head *net_num_list,
- struct list_head *addr)
+cfs_match_nid_net(struct lnet_nid *nid, __u32 net_type,
+ struct list_head *net_num_list,
+ struct list_head *addr)
{
__u32 address;
struct netstrfns *nf;
if (!addr || !net_num_list)
return 0;
- nf = type2net_info(LNET_NETTYP(LNET_NIDNET(nid)));
+ nf = type2net_info(LNET_NETTYP(LNET_NID_NET(nid)));
if (!nf || !net_num_list || !addr)
return 0;
- address = LNET_NIDADDR(nid);
+ /* FIXME handle long-addr nid */
+ address = LNET_NIDADDR(lnet_nid_to_nid4(nid));
/* if either the address or net number don't match then no match */
if (!nf->nf_match_addr(address, addr) ||
- !cfs_match_net(LNET_NIDNET(nid), net_type, net_num_list))
+ !cfs_match_net(LNET_NID_NET(nid), net_type, net_num_list))
return 0;
return 1;
char *
libcfs_nidstr_r(const struct lnet_nid *nid, char *buf, size_t buf_size)
{
- __u32 nnum = be16_to_cpu(nid->nid_num);
- __u32 lnd = nid->nid_type;
+ __u32 nnum;
+ __u32 lnd;
struct netstrfns *nf;
if (LNET_NID_IS_ANY(nid)) {
return buf;
}
+ nnum = be16_to_cpu(nid->nid_num);
+ lnd = nid->nid_type;
nf = libcfs_lnd2netstrfns(lnd);
if (nf) {
size_t addr_len;