Zach Brown 20258b2b39 [PATCH] dio: remove duplicate bio wait code
Now that we have a single refcount and waiting path we can reuse it in the
async 'should_wait' path.  It continues to rely on the fragile link between
the conditional in dio_complete_aio() which decides to complete the AIO and
the conditional in direct_io_worker() which decides to wait and free.

By waiting before dropping the reference we stop dio_bio_end_aio() from
calling dio_complete_aio() which used to wake up the waiter after seeing the
reference count drop to 0.  We hoist this wake up into dio_bio_end_aio() which
now notices when it's left a single remaining reference that is held by the
waiter.

Signed-off-by: Zach Brown <zach.brown@oracle.com>
Cc: Badari Pulavarty <pbadari@us.ibm.com>
Cc: Suparna Bhattacharya <suparna@in.ibm.com>
Acked-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
2006-12-10 09:57:21 -08:00
..
2006-12-08 08:28:43 -08:00
2006-12-08 08:28:44 -08:00
2006-12-08 08:28:44 -08:00
2006-12-08 08:28:44 -08:00
2006-11-25 13:28:33 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:45 -08:00
2006-12-08 08:28:46 -08:00
2006-12-08 08:28:46 -08:00
2006-12-08 08:28:46 -08:00
2006-12-08 08:28:47 -08:00
2006-12-08 08:28:47 -08:00
2006-11-16 11:43:38 -08:00
2006-12-08 08:28:48 -08:00
2006-12-08 08:28:48 -08:00
2006-12-08 08:28:48 -08:00
2006-12-08 08:28:49 -08:00
2006-12-08 08:28:49 -08:00
2006-12-08 08:28:49 -08:00
2006-12-08 08:28:50 -08:00
2006-12-08 08:28:50 -08:00
2006-12-08 08:28:50 -08:00
2006-11-16 11:43:38 -08:00
2006-10-04 06:51:26 -06:00
2006-12-07 08:39:25 -08:00
2006-12-07 08:39:25 -08:00
2006-11-30 05:32:19 +01:00
2006-12-07 08:39:25 -08:00
2006-10-01 00:39:19 -07:00