Whamcloud - gitweb
LU-2850 kernel: 3.8 upstream kills daemonize()
[fs/lustre-release.git] / lnet / klnds / o2iblnd / o2iblnd.c
index 9fbd1ab..86298dd 100644 (file)
@@ -1785,7 +1785,9 @@ kiblnd_init_poolset(kib_poolset_t *ps, int cpt,
         ps->ps_node_init    = nd_init;
         ps->ps_node_fini    = nd_fini;
         ps->ps_pool_size    = size;
-        strncpy(ps->ps_name, name, IBLND_POOL_NAME_LEN);
+       if (strlcpy(ps->ps_name, name, sizeof(ps->ps_name))
+           >= sizeof(ps->ps_name))
+               return -E2BIG;
        spin_lock_init(&ps->ps_lock);
         CFS_INIT_LIST_HEAD(&ps->ps_pool_list);
         CFS_INIT_LIST_HEAD(&ps->ps_failed_pool_list);
@@ -3009,14 +3011,15 @@ kiblnd_base_startup(void)
         kiblnd_data.kib_init = IBLND_INIT_DATA;
         /*****************************************************/
 
-        rc = kiblnd_thread_start(kiblnd_connd, NULL);
+       rc = kiblnd_thread_start(kiblnd_connd, NULL, "kiblnd_connd");
         if (rc != 0) {
                 CERROR("Can't spawn o2iblnd connd: %d\n", rc);
                 goto failed;
         }
 
-        if (*kiblnd_tunables.kib_dev_failover != 0)
-                rc = kiblnd_thread_start(kiblnd_failover_thread, NULL);
+       if (*kiblnd_tunables.kib_dev_failover != 0)
+               rc = kiblnd_thread_start(kiblnd_failover_thread, NULL,
+                                        "kiblnd_failover");
 
         if (rc != 0) {
                 CERROR("Can't spawn o2iblnd failover thread: %d\n", rc);
@@ -3058,9 +3061,11 @@ kiblnd_start_schedulers(struct kib_sched_info *sched)
 
        for (i = 0; i < nthrs; i++) {
                long    id;
-
+               char    name[20];
                id = KIB_THREAD_ID(sched->ibs_cpt, sched->ibs_nthreads + i);
-               rc = kiblnd_thread_start(kiblnd_scheduler, (void *)id);
+               snprintf(name, sizeof(name), "kiblnd_sd_%02ld_%02ld",
+                        KIB_THREAD_CPT(id), KIB_THREAD_TID(id));
+               rc = kiblnd_thread_start(kiblnd_scheduler, (void *)id, name);
                if (rc == 0)
                        continue;