destroy_workqueue() will do flushing work for us.
Link: http://lkml.kernel.org/r/59E06476.3090502@huawei.com
Signed-off-by: Jun Piao <piaojun@huawei.com>
Reviewed-by: Joseph Qi <jiangqi903@gmail.com>
Cc: Mark Fasheh <mfasheh@versity.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
 static void dlm_destroy_dlm_worker(struct dlm_ctxt *dlm)
 {
        if (dlm->dlm_worker) {
-               flush_workqueue(dlm->dlm_worker);
                destroy_workqueue(dlm->dlm_worker);
                dlm->dlm_worker = NULL;
        }
 
 {
        unregister_filesystem(&dlmfs_fs_type);
 
-       flush_workqueue(user_dlm_worker);
        destroy_workqueue(user_dlm_worker);
 
        /*
 
        /* This function assumes that the caller has the main osb resource */
 
        /* ocfs2_initializer_super have already created this workqueue */
-       if (osb->ocfs2_wq) {
-               flush_workqueue(osb->ocfs2_wq);
+       if (osb->ocfs2_wq)
                destroy_workqueue(osb->ocfs2_wq);
-       }
 
        ocfs2_free_slot_info(osb);