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>
This commit is contained in:
parent
83c22520c5
commit
a9df62c758
7
fs/aio.c
7
fs/aio.c
|
@ -346,10 +346,9 @@ void fastcall exit_aio(struct mm_struct *mm)
|
|||
|
||||
wait_for_all_aios(ctx);
|
||||
/*
|
||||
* this is an overkill, but ensures we don't leave
|
||||
* the ctx on the aio_wq
|
||||
* Ensure we don't leave the ctx on the aio_wq
|
||||
*/
|
||||
flush_workqueue(aio_wq);
|
||||
flush_work(aio_wq, &ctx->wq.work);
|
||||
|
||||
if (1 != atomic_read(&ctx->users))
|
||||
printk(KERN_DEBUG
|
||||
|
@ -372,7 +371,7 @@ void fastcall __put_ioctx(struct kioctx *ctx)
|
|||
BUG_ON(ctx->reqs_active);
|
||||
|
||||
cancel_delayed_work(&ctx->wq);
|
||||
flush_workqueue(aio_wq);
|
||||
flush_work(aio_wq, &ctx->wq.work);
|
||||
aio_free_ring(ctx);
|
||||
mmdrop(ctx->mm);
|
||||
ctx->mm = NULL;
|
||||
|
|
Loading…
Reference in New Issue