|
@@ -877,8 +877,15 @@ xfs_init_mount_workqueues(
|
|
|
if (!mp->m_eofblocks_workqueue)
|
|
|
goto out_destroy_log;
|
|
|
|
|
|
+ mp->m_sync_workqueue = alloc_workqueue("xfs-sync/%s", WQ_FREEZABLE, 0,
|
|
|
+ mp->m_fsname);
|
|
|
+ if (!mp->m_sync_workqueue)
|
|
|
+ goto out_destroy_eofb;
|
|
|
+
|
|
|
return 0;
|
|
|
|
|
|
+out_destroy_eofb:
|
|
|
+ destroy_workqueue(mp->m_eofblocks_workqueue);
|
|
|
out_destroy_log:
|
|
|
destroy_workqueue(mp->m_log_workqueue);
|
|
|
out_destroy_reclaim:
|
|
@@ -899,6 +906,7 @@ STATIC void
|
|
|
xfs_destroy_mount_workqueues(
|
|
|
struct xfs_mount *mp)
|
|
|
{
|
|
|
+ destroy_workqueue(mp->m_sync_workqueue);
|
|
|
destroy_workqueue(mp->m_eofblocks_workqueue);
|
|
|
destroy_workqueue(mp->m_log_workqueue);
|
|
|
destroy_workqueue(mp->m_reclaim_workqueue);
|