unsigned int idx = LNET_NIDADDR(ndl->ndl_node->nd_id.nid) %
LST_NODE_HASHSIZE;
- list_del(&ndl->ndl_hlink);
- list_del(&ndl->ndl_link);
old->grp_nnode--;
- list_add_tail(&ndl->ndl_hlink, &new->grp_ndl_hash[idx]);
- list_add_tail(&ndl->ndl_link, &new->grp_ndl_list);
+ list_move_tail(&ndl->ndl_hlink, &new->grp_ndl_hash[idx]);
+ list_move_tail(&ndl->ndl_link, &new->grp_ndl_list);
new->grp_nnode++;
-
- return;
}
static void
}
/* non-verbose query */
- LIBCFS_ALLOC(gentp, sizeof(struct lstcon_ndlist_ent));
+ CFS_ALLOC_PTR(gentp);
if (gentp == NULL) {
CERROR("Can't allocate ndlist_ent\n");
lstcon_group_decref(grp);
rc = copy_to_user(gents_p, gentp,
sizeof(struct lstcon_ndlist_ent)) ? -EFAULT : 0;
- LIBCFS_FREE(gentp, sizeof(struct lstcon_ndlist_ent));
+ CFS_FREE_PTR(gentp);
lstcon_group_decref(grp);
}
/* non-verbose query */
- LIBCFS_ALLOC(entp, sizeof(struct lstcon_test_batch_ent));
+ CFS_ALLOC_PTR(entp);
if (entp == NULL)
return -ENOMEM;
rc = copy_to_user(ent_up, entp,
sizeof(struct lstcon_test_batch_ent)) ? -EFAULT : 0;
- LIBCFS_FREE(entp, sizeof(struct lstcon_test_batch_ent));
+ CFS_FREE_PTR(entp)
return rc;
}
struct srpc_stat_reply *rep = &msg->msg_body.stat_reply;
struct sfw_counters __user *sfwk_stat;
struct srpc_counters __user *srpc_stat;
- struct lnet_counters __user *lnet_stat;
+ struct lnet_counters_common __user *lnet_stat;
if (rep->str_status != 0)
return 0;
sfwk_stat = (struct sfw_counters __user *)&ent_up->rpe_payload[0];
srpc_stat = (struct srpc_counters __user *)
((char __user *)sfwk_stat + sizeof(*sfwk_stat));
- lnet_stat = (struct lnet_counters __user *)
+ lnet_stat = (struct lnet_counters_common __user *)
((char __user *)srpc_stat + sizeof(*srpc_stat));
if (copy_to_user(sfwk_stat, &rep->str_fw, sizeof(*sfwk_stat)) ||
lstcon_ndlist_stat(struct list_head *ndlist,
int timeout, struct list_head __user *result_up)
{
- struct list_head head;
+ LIST_HEAD(head);
struct lstcon_rpc_trans *trans;
- int rc;
-
- INIT_LIST_HEAD(&head);
+ int rc;
rc = lstcon_rpc_trans_ndlist(ndlist, &head,
LST_TRANS_STATQRY, NULL, NULL, &trans);
LNetGetId(1, &id);
sid->ses_nid = id.nid;
- sid->ses_stamp = ktime_get_ns() / NSEC_PER_MSEC;
+ sid->ses_stamp = div_u64(ktime_get_ns(), NSEC_PER_MSEC);
}
int
}
int
-lstcon_session_end()
+lstcon_session_end(void)
{
struct lstcon_rpc_trans *trans;
struct lstcon_group *grp;
lstcon_acceptor_service.sv_wi_total = SFW_FRWK_WI_MAX;
}
-int lstcon_ioctl_entry(unsigned int cmd, struct libcfs_ioctl_hdr *hdr);
-
-DECLARE_IOCTL_HANDLER(lstcon_ioctl_handler, lstcon_ioctl_entry);
+static struct notifier_block lstcon_ioctl_handler = {
+ .notifier_call = lstcon_ioctl_entry,
+};
/* initialize console */
int
goto out;
}
- rc = libcfs_register_ioctl(&lstcon_ioctl_handler);
-
- if (rc == 0) {
- lstcon_rpc_module_init();
- return 0;
- }
+ rc = blocking_notifier_chain_register(&libcfs_ioctl_list,
+ &lstcon_ioctl_handler);
+ if (rc == 0) {
+ lstcon_rpc_module_init();
+ return 0;
+ }
out:
srpc_shutdown_service(&lstcon_acceptor_service);
int
lstcon_console_fini(void)
{
- int i;
+ int i;
- libcfs_deregister_ioctl(&lstcon_ioctl_handler);
+ blocking_notifier_chain_unregister(&libcfs_ioctl_list,
+ &lstcon_ioctl_handler);
mutex_lock(&console_session.ses_mutex);