list_add_tail(&ndl->ndl_hlink, &new->grp_ndl_hash[idx]);
list_add_tail(&ndl->ndl_link, &new->grp_ndl_list);
new->grp_nnode++;
-
- return;
}
static void
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)) ||
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
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);