diff options
| author | Zach Brown <[email protected]> | 2006-12-10 02:21:01 -0800 |
|---|---|---|
| committer | Linus Torvalds <[email protected]> | 2006-12-10 09:57:21 -0800 |
| commit | 20258b2b397031649e4a41922fe803d57017df84 (patch) | |
| tree | 9c5fc96367b4938474cee2789d3c98c5e37586bf /include/linux/debugobjects.h | |
| parent | 0273201e693fd62381f6b1e85b15ffc117d8a46e (diff) | |
[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 <[email protected]>
Cc: Badari Pulavarty <[email protected]>
Cc: Suparna Bhattacharya <[email protected]>
Acked-by: Jeff Moyer <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
Diffstat (limited to 'include/linux/debugobjects.h')
0 files changed, 0 insertions, 0 deletions