diff options
author | Dave Chinner <david@fromorbit.com> | 2014-11-28 14:52:02 +1100 |
---|---|---|
committer | Dave Chinner <david@fromorbit.com> | 2014-11-28 14:52:02 +1100 |
commit | 4bd47c1bf4a64225a855ed77e259eeb37944ba33 (patch) | |
tree | 79aed8aaf3b04595d55762421d25d7ea2a5a5318 /fs/xfs/xfs_super.c | |
parent | 002758992693ae63c04122603ea9261a0a58d728 (diff) | |
parent | db52d09ecbf85c54e263a9d1ebfb615a9b2b3ba6 (diff) | |
download | op-kernel-dev-4bd47c1bf4a64225a855ed77e259eeb37944ba33.zip op-kernel-dev-4bd47c1bf4a64225a855ed77e259eeb37944ba33.tar.gz |
Merge branch 'xfs-misc-fixes-for-3.19-1' into for-next
Diffstat (limited to 'fs/xfs/xfs_super.c')
-rw-r--r-- | fs/xfs/xfs_super.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/fs/xfs/xfs_super.c b/fs/xfs/xfs_super.c index 9f622fe..03e3cc2 100644 --- a/fs/xfs/xfs_super.c +++ b/fs/xfs/xfs_super.c @@ -842,10 +842,16 @@ STATIC int xfs_init_mount_workqueues( struct xfs_mount *mp) { + mp->m_buf_workqueue = alloc_workqueue("xfs-buf/%s", + WQ_MEM_RECLAIM|WQ_HIGHPRI|WQ_FREEZABLE, 1, + mp->m_fsname); + if (!mp->m_buf_workqueue) + goto out; + mp->m_data_workqueue = alloc_workqueue("xfs-data/%s", WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname); if (!mp->m_data_workqueue) - goto out; + goto out_destroy_buf; mp->m_unwritten_workqueue = alloc_workqueue("xfs-conv/%s", WQ_MEM_RECLAIM|WQ_FREEZABLE, 0, mp->m_fsname); @@ -884,6 +890,8 @@ out_destroy_unwritten: destroy_workqueue(mp->m_unwritten_workqueue); out_destroy_data_iodone_queue: destroy_workqueue(mp->m_data_workqueue); +out_destroy_buf: + destroy_workqueue(mp->m_buf_workqueue); out: return -ENOMEM; } @@ -898,6 +906,7 @@ xfs_destroy_mount_workqueues( destroy_workqueue(mp->m_cil_workqueue); destroy_workqueue(mp->m_data_workqueue); destroy_workqueue(mp->m_unwritten_workqueue); + destroy_workqueue(mp->m_buf_workqueue); } /* |