]> err.no Git - linux-2.6/commit
[PATCH] aio: kiocb locking to serialise retry and cancel
authorBenjamin LaHaise <bcrl@linux.intel.com>
Fri, 9 Sep 2005 20:02:09 +0000 (13:02 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 9 Sep 2005 20:57:32 +0000 (13:57 -0700)
commitac0b1bc1edbe81c0cb36cad7e7f5b91f4d9e12ed
treeb982e728eafeebc226882f91482ff7d0d9ee5cc3
parent8f58202bf6b915656e116ece3bc4ace14bfe533a
[PATCH] aio: kiocb locking to serialise retry and cancel

Implement a per-kiocb lock to serialise retry operations and cancel.  This
is done using wait_on_bit_lock() on the KIF_LOCKED bit of kiocb->ki_flags.
Also, make the cancellation path lock the kiocb and subsequently release
all references to it if the cancel was successful.  This version includes a
fix for the deadlock with __aio_run_iocbs.

Signed-off-by: Benjamin LaHaise <bcrl@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/aio.c