int status;
        unsigned int backoff;
        unsigned int total_backoff = 0;
+       char wq_name[O2NM_MAX_NAME_LEN];
 
        BUG_ON(!dlm);
 
                goto bail;
        }
 
-       dlm->dlm_worker = create_singlethread_workqueue("dlm_wq");
+       snprintf(wq_name, O2NM_MAX_NAME_LEN, "dlm_wq-%s", dlm->name);
+       dlm->dlm_worker = create_singlethread_workqueue(wq_name);
        if (!dlm->dlm_worker) {
                status = -ENOMEM;
                mlog_errno(status);
 
        mlog(0, "starting dlm recovery thread...\n");
 
        dlm->dlm_reco_thread_task = kthread_run(dlm_recovery_thread, dlm,
-                                               "dlm_reco_thread");
+                       "dlm_reco-%s", dlm->name);
        if (IS_ERR(dlm->dlm_reco_thread_task)) {
                mlog_errno(PTR_ERR(dlm->dlm_reco_thread_task));
                dlm->dlm_reco_thread_task = NULL;
 
 {
        mlog(0, "Starting dlm_thread...\n");
 
-       dlm->dlm_thread_task = kthread_run(dlm_thread, dlm, "dlm_thread");
+       dlm->dlm_thread_task = kthread_run(dlm_thread, dlm, "dlm-%s",
+                       dlm->name);
        if (IS_ERR(dlm->dlm_thread_task)) {
                mlog_errno(PTR_ERR(dlm->dlm_thread_task));
                dlm->dlm_thread_task = NULL;
 
        }
 
        /* launch downconvert thread */
-       osb->dc_task = kthread_run(ocfs2_downconvert_thread, osb, "ocfs2dc");
+       osb->dc_task = kthread_run(ocfs2_downconvert_thread, osb, "ocfs2dc-%s",
+                       osb->uuid_str);
        if (IS_ERR(osb->dc_task)) {
                status = PTR_ERR(osb->dc_task);
                osb->dc_task = NULL;
 
        /* Launch the commit thread */
        if (!local) {
                osb->commit_task = kthread_run(ocfs2_commit_thread, osb,
-                                              "ocfs2cmt");
+                               "ocfs2cmt-%s", osb->uuid_str);
                if (IS_ERR(osb->commit_task)) {
                        status = PTR_ERR(osb->commit_task);
                        osb->commit_task = NULL;
                goto out;
 
        osb->recovery_thread_task =  kthread_run(__ocfs2_recovery_thread, osb,
-                                                "ocfs2rec");
+                       "ocfs2rec-%s", osb->uuid_str);
        if (IS_ERR(osb->recovery_thread_task)) {
                mlog_errno((int)PTR_ERR(osb->recovery_thread_task));
                osb->recovery_thread_task = NULL;