aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Morton <akpm@osdl.org>2007-05-09 05:33:54 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-09 15:30:51 -0400
commita9df62c7585e6caa1e7d2425b2b14460ec3afc20 (patch)
treef3d291e208ca09cb0c185ed96242bb977e4e60e3
parent83c22520c51bf67529367e8237f95c03fe44e2da (diff)
aio: use flush_work()
Migrate AIO over to use flush_work(). Cc: "Maciej W. Rozycki" <macro@linux-mips.org> Cc: David Howells <dhowells@redhat.com> Cc: Zach Brown <zach.brown@oracle.com> Cc: Benjamin LaHaise <bcrl@kvack.org> Cc: Oleg Nesterov <oleg@tv-sign.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--fs/aio.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/fs/aio.c b/fs/aio.c
index b97ab8028b6d..d18690bb03e9 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -346,10 +346,9 @@ void fastcall exit_aio(struct mm_struct *mm)
346 346
347 wait_for_all_aios(ctx); 347 wait_for_all_aios(ctx);
348 /* 348 /*
349 * this is an overkill, but ensures we don't leave 349 * Ensure we don't leave the ctx on the aio_wq
350 * the ctx on the aio_wq
351 */ 350 */
352 flush_workqueue(aio_wq); 351 flush_work(aio_wq, &ctx->wq.work);
353 352
354 if (1 != atomic_read(&ctx->users)) 353 if (1 != atomic_read(&ctx->users))
355 printk(KERN_DEBUG 354 printk(KERN_DEBUG
@@ -372,7 +371,7 @@ void fastcall __put_ioctx(struct kioctx *ctx)
372 BUG_ON(ctx->reqs_active); 371 BUG_ON(ctx->reqs_active);
373 372
374 cancel_delayed_work(&ctx->wq); 373 cancel_delayed_work(&ctx->wq);
375 flush_workqueue(aio_wq); 374 flush_work(aio_wq, &ctx->wq.work);
376 aio_free_ring(ctx); 375 aio_free_ring(ctx);
377 mmdrop(ctx->mm); 376 mmdrop(ctx->mm);
378 ctx->mm = NULL; 377 ctx->mm = NULL;