diff options
Diffstat (limited to 'fs/gfs2/main.c')
| -rw-r--r-- | fs/gfs2/main.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index fb2a5f93b7c3..b1e9630eb46a 100644 --- a/fs/gfs2/main.c +++ b/fs/gfs2/main.c | |||
| @@ -15,7 +15,6 @@ | |||
| 15 | #include <linux/init.h> | 15 | #include <linux/init.h> |
| 16 | #include <linux/gfs2_ondisk.h> | 16 | #include <linux/gfs2_ondisk.h> |
| 17 | #include <asm/atomic.h> | 17 | #include <asm/atomic.h> |
| 18 | #include <linux/slow-work.h> | ||
| 19 | 18 | ||
| 20 | #include "gfs2.h" | 19 | #include "gfs2.h" |
| 21 | #include "incore.h" | 20 | #include "incore.h" |
| @@ -24,6 +23,7 @@ | |||
| 24 | #include "util.h" | 23 | #include "util.h" |
| 25 | #include "glock.h" | 24 | #include "glock.h" |
| 26 | #include "quota.h" | 25 | #include "quota.h" |
| 26 | #include "recovery.h" | ||
| 27 | 27 | ||
| 28 | static struct shrinker qd_shrinker = { | 28 | static struct shrinker qd_shrinker = { |
| 29 | .shrink = gfs2_shrink_qd_memory, | 29 | .shrink = gfs2_shrink_qd_memory, |
| @@ -138,9 +138,11 @@ static int __init init_gfs2_fs(void) | |||
| 138 | if (error) | 138 | if (error) |
| 139 | goto fail_unregister; | 139 | goto fail_unregister; |
| 140 | 140 | ||
| 141 | error = slow_work_register_user(THIS_MODULE); | 141 | error = -ENOMEM; |
| 142 | if (error) | 142 | gfs_recovery_wq = alloc_workqueue("gfs_recovery", |
| 143 | goto fail_slow; | 143 | WQ_NON_REENTRANT | WQ_RESCUER, 0); |
| 144 | if (!gfs_recovery_wq) | ||
| 145 | goto fail_wq; | ||
| 144 | 146 | ||
| 145 | gfs2_register_debugfs(); | 147 | gfs2_register_debugfs(); |
| 146 | 148 | ||
| @@ -148,7 +150,7 @@ static int __init init_gfs2_fs(void) | |||
| 148 | 150 | ||
| 149 | return 0; | 151 | return 0; |
| 150 | 152 | ||
| 151 | fail_slow: | 153 | fail_wq: |
| 152 | unregister_filesystem(&gfs2meta_fs_type); | 154 | unregister_filesystem(&gfs2meta_fs_type); |
| 153 | fail_unregister: | 155 | fail_unregister: |
| 154 | unregister_filesystem(&gfs2_fs_type); | 156 | unregister_filesystem(&gfs2_fs_type); |
| @@ -190,7 +192,7 @@ static void __exit exit_gfs2_fs(void) | |||
| 190 | gfs2_unregister_debugfs(); | 192 | gfs2_unregister_debugfs(); |
| 191 | unregister_filesystem(&gfs2_fs_type); | 193 | unregister_filesystem(&gfs2_fs_type); |
| 192 | unregister_filesystem(&gfs2meta_fs_type); | 194 | unregister_filesystem(&gfs2meta_fs_type); |
| 193 | slow_work_unregister_user(THIS_MODULE); | 195 | destroy_workqueue(gfs_recovery_wq); |
| 194 | 196 | ||
| 195 | kmem_cache_destroy(gfs2_quotad_cachep); | 197 | kmem_cache_destroy(gfs2_quotad_cachep); |
| 196 | kmem_cache_destroy(gfs2_rgrpd_cachep); | 198 | kmem_cache_destroy(gfs2_rgrpd_cachep); |
