Remove struct task_struct::io_wait

Hell knows what happened in commit 63b05203af57e7de4f3bb63b8b81d43bc196d32b
during 2.6.9 development.  Commit introduced io_wait field which remained
write-only than and still remains write-only.

Also garbage collect macros which "use" io_wait.

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Alexey Dobriyan 2007-10-18 03:04:56 -07:00 committed by Linus Torvalds
parent 9cd9a0058d
commit 6212e3a388
4 changed files with 2 additions and 34 deletions

View file

@ -710,18 +710,9 @@ static ssize_t aio_run_iocb(struct kiocb *iocb)
/*
* Now we are all set to call the retry method in async
* context. By setting this thread's io_wait context
* to point to the wait queue entry inside the currently
* running iocb for the duration of the retry, we ensure
* that async notification wakeups are queued by the
* operation instead of blocking waits, and when notified,
* cause the iocb to be kicked for continuation (through
* the aio_wake_function callback).
* context.
*/
BUG_ON(current->io_wait != NULL);
current->io_wait = &iocb->ki_wait;
ret = retry(iocb);
current->io_wait = NULL;
if (ret != -EIOCBRETRY && ret != -EIOCBQUEUED) {
BUG_ON(!list_empty(&iocb->ki_wait.task_list));
@ -1508,10 +1499,7 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb)
* Simply triggers a retry of the operation via kick_iocb.
*
* This callback is specified in the wait queue entry in
* a kiocb (current->io_wait points to this wait queue
* entry when an aio operation executes; it is used
* instead of a synchronous wait when an i/o blocking
* condition is encountered during aio).
* a kiocb.
*
* Note:
* This routine is executed with the wait queue lock held.