]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - fs/gfs2/main.c
Merge tag 'firewire-updates' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee139...
[karo-tx-linux.git] / fs / gfs2 / main.c
index 82b6ac829656985e4f38c0a6f1ca66db9a7fe395..241a399bf83dd10a0ad69c29b5d0646e4b884ee9 100644 (file)
@@ -30,6 +30,7 @@
 #include "quota.h"
 #include "recovery.h"
 #include "dir.h"
+#include "glops.h"
 
 struct workqueue_struct *gfs2_control_wq;
 
@@ -161,9 +162,14 @@ static int __init init_gfs2_fs(void)
        if (!gfs2_control_wq)
                goto fail_recovery;
 
+       gfs2_freeze_wq = alloc_workqueue("freeze_workqueue", 0, 0);
+
+       if (!gfs2_freeze_wq)
+               goto fail_control;
+
        gfs2_page_pool = mempool_create_page_pool(64, 0);
        if (!gfs2_page_pool)
-               goto fail_control;
+               goto fail_freeze;
 
        gfs2_register_debugfs();
 
@@ -171,6 +177,8 @@ static int __init init_gfs2_fs(void)
 
        return 0;
 
+fail_freeze:
+       destroy_workqueue(gfs2_freeze_wq);
 fail_control:
        destroy_workqueue(gfs2_control_wq);
 fail_recovery:
@@ -224,6 +232,7 @@ static void __exit exit_gfs2_fs(void)
        unregister_filesystem(&gfs2meta_fs_type);
        destroy_workqueue(gfs_recovery_wq);
        destroy_workqueue(gfs2_control_wq);
+       destroy_workqueue(gfs2_freeze_wq);
        list_lru_destroy(&gfs2_qd_lru);
 
        rcu_barrier();