Whamcloud - gitweb
LU-9679 lnet: use LIST_HEAD() for local lists.
[fs/lustre-release.git] / lnet / selftest / console.c
index 45bcdfa..ccaced7 100644 (file)
@@ -315,15 +315,11 @@ lstcon_group_ndlink_move(struct lstcon_group *old,
        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
@@ -804,7 +800,7 @@ lstcon_group_info(char *name, struct lstcon_ndlist_ent __user *gents_p,
         }
 
         /* 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);
@@ -818,7 +814,7 @@ lstcon_group_info(char *name, struct lstcon_ndlist_ent __user *gents_p,
        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);
 
@@ -968,7 +964,7 @@ lstcon_batch_info(char *name, struct lstcon_test_batch_ent __user *ent_up,
         }
 
         /* non-verbose query */
-       LIBCFS_ALLOC(entp, sizeof(struct lstcon_test_batch_ent));
+       CFS_ALLOC_PTR(entp);
         if (entp == NULL)
                 return -ENOMEM;
 
@@ -992,7 +988,7 @@ lstcon_batch_info(char *name, struct lstcon_test_batch_ent __user *ent_up,
        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;
 }
@@ -1472,7 +1468,7 @@ lstcon_statrpc_readent(int transop, struct srpc_msg *msg,
        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;
@@ -1480,7 +1476,7 @@ lstcon_statrpc_readent(int transop, struct srpc_msg *msg,
        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)) ||
@@ -1495,11 +1491,9 @@ static int
 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);
@@ -1708,7 +1702,7 @@ lstcon_new_session_id(struct lst_sid *sid)
 
        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
@@ -1816,7 +1810,7 @@ lstcon_session_info(struct lst_sid __user *sid_up, int __user *key_up,
 }
 
 int
-lstcon_session_end()
+lstcon_session_end(void)
 {
        struct lstcon_rpc_trans *trans;
        struct lstcon_group *grp;
@@ -2004,9 +1998,9 @@ static void lstcon_init_acceptor_service(void)
        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
@@ -2058,12 +2052,12 @@ lstcon_console_init(void)
                 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);
@@ -2080,9 +2074,10 @@ out:
 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);