diff options
-rw-r--r-- | fs/gfs2/glock.c | 6 | ||||
-rw-r--r-- | fs/gfs2/main.c | 2 |
2 files changed, 5 insertions, 3 deletions
diff --git a/fs/gfs2/glock.c b/fs/gfs2/glock.c index 8e478e27f1f7..c3f2a5cc8efb 100644 --- a/fs/gfs2/glock.c +++ b/fs/gfs2/glock.c | |||
@@ -1783,10 +1783,12 @@ int __init gfs2_glock_init(void) | |||
1783 | } | 1783 | } |
1784 | #endif | 1784 | #endif |
1785 | 1785 | ||
1786 | glock_workqueue = create_workqueue("glock_workqueue"); | 1786 | glock_workqueue = alloc_workqueue("glock_workqueue", WQ_RESCUER | |
1787 | WQ_HIGHPRI | WQ_FREEZEABLE, 0); | ||
1787 | if (IS_ERR(glock_workqueue)) | 1788 | if (IS_ERR(glock_workqueue)) |
1788 | return PTR_ERR(glock_workqueue); | 1789 | return PTR_ERR(glock_workqueue); |
1789 | gfs2_delete_workqueue = create_workqueue("delete_workqueue"); | 1790 | gfs2_delete_workqueue = alloc_workqueue("delete_workqueue", WQ_RESCUER | |
1791 | WQ_FREEZEABLE, 0); | ||
1790 | if (IS_ERR(gfs2_delete_workqueue)) { | 1792 | if (IS_ERR(gfs2_delete_workqueue)) { |
1791 | destroy_workqueue(glock_workqueue); | 1793 | destroy_workqueue(glock_workqueue); |
1792 | return PTR_ERR(gfs2_delete_workqueue); | 1794 | return PTR_ERR(gfs2_delete_workqueue); |
diff --git a/fs/gfs2/main.c b/fs/gfs2/main.c index b1e9630eb46a..1c8bbf29e602 100644 --- a/fs/gfs2/main.c +++ b/fs/gfs2/main.c | |||
@@ -140,7 +140,7 @@ static int __init init_gfs2_fs(void) | |||
140 | 140 | ||
141 | error = -ENOMEM; | 141 | error = -ENOMEM; |
142 | gfs_recovery_wq = alloc_workqueue("gfs_recovery", | 142 | gfs_recovery_wq = alloc_workqueue("gfs_recovery", |
143 | WQ_NON_REENTRANT | WQ_RESCUER, 0); | 143 | WQ_RESCUER | WQ_FREEZEABLE, 0); |
144 | if (!gfs_recovery_wq) | 144 | if (!gfs_recovery_wq) |
145 | goto fail_wq; | 145 | goto fail_wq; |
146 | 146 | ||