diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 09:02:28 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2009-05-20 09:02:28 +0200 | 
| commit | 521c180874dae86f675d23c4eade4dba8b1f2cc8 (patch) | |
| tree | 7509303da3a9a1b40a26f6811f321c89cd31737b /fs/xfs/linux-2.6/xfs_buf.c | |
| parent | f1a11e0576c7a73d759d05d776692b2b2d37172b (diff) | |
| parent | 64d1304a64477629cb16b75491a77bafe6f86963 (diff) | |
Merge branch 'core/urgent' into core/futexes
Merge reason: this branch was on an pre -rc1 base, merge it up to -rc6+
              to get the latest upstream fixes.
Conflicts:
	kernel/futex.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_buf.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_buf.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/fs/xfs/linux-2.6/xfs_buf.c b/fs/xfs/linux-2.6/xfs_buf.c index aa1016bb913..e28800a9f2b 100644 --- a/fs/xfs/linux-2.6/xfs_buf.c +++ b/fs/xfs/linux-2.6/xfs_buf.c @@ -51,6 +51,7 @@ static struct shrinker xfs_buf_shake = {  static struct workqueue_struct *xfslogd_workqueue;  struct workqueue_struct *xfsdatad_workqueue; +struct workqueue_struct *xfsconvertd_workqueue;  #ifdef XFS_BUF_TRACE  void @@ -1775,6 +1776,7 @@ xfs_flush_buftarg(  	xfs_buf_t	*bp, *n;  	int		pincount = 0; +	xfs_buf_runall_queues(xfsconvertd_workqueue);  	xfs_buf_runall_queues(xfsdatad_workqueue);  	xfs_buf_runall_queues(xfslogd_workqueue); @@ -1831,9 +1833,15 @@ xfs_buf_init(void)  	if (!xfsdatad_workqueue)  		goto out_destroy_xfslogd_workqueue; +	xfsconvertd_workqueue = create_workqueue("xfsconvertd"); +	if (!xfsconvertd_workqueue) +		goto out_destroy_xfsdatad_workqueue; +  	register_shrinker(&xfs_buf_shake);  	return 0; + out_destroy_xfsdatad_workqueue: +	destroy_workqueue(xfsdatad_workqueue);   out_destroy_xfslogd_workqueue:  	destroy_workqueue(xfslogd_workqueue);   out_free_buf_zone: @@ -1849,6 +1857,7 @@ void  xfs_buf_terminate(void)  {  	unregister_shrinker(&xfs_buf_shake); +	destroy_workqueue(xfsconvertd_workqueue);  	destroy_workqueue(xfsdatad_workqueue);  	destroy_workqueue(xfslogd_workqueue);  	kmem_zone_destroy(xfs_buf_zone);  | 
