diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2007-10-18 06:04:56 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-18 17:37:20 -0400 |
commit | 6212e3a388fdda3f19fa660ef5a30edf54d1dcfd (patch) | |
tree | 7218bbf29af36ff0c36aa2af8323a5206ea44b1c /fs/aio.c | |
parent | 9cd9a0058dd35268b24fa16795a92c800f4086d4 (diff) |
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>
Diffstat (limited to 'fs/aio.c')
-rw-r--r-- | fs/aio.c | 16 |
1 files changed, 2 insertions, 14 deletions
@@ -710,18 +710,9 @@ static ssize_t aio_run_iocb(struct kiocb *iocb) | |||
710 | 710 | ||
711 | /* | 711 | /* |
712 | * Now we are all set to call the retry method in async | 712 | * Now we are all set to call the retry method in async |
713 | * context. By setting this thread's io_wait context | 713 | * context. |
714 | * to point to the wait queue entry inside the currently | ||
715 | * running iocb for the duration of the retry, we ensure | ||
716 | * that async notification wakeups are queued by the | ||
717 | * operation instead of blocking waits, and when notified, | ||
718 | * cause the iocb to be kicked for continuation (through | ||
719 | * the aio_wake_function callback). | ||
720 | */ | 714 | */ |
721 | BUG_ON(current->io_wait != NULL); | ||
722 | current->io_wait = &iocb->ki_wait; | ||
723 | ret = retry(iocb); | 715 | ret = retry(iocb); |
724 | current->io_wait = NULL; | ||
725 | 716 | ||
726 | if (ret != -EIOCBRETRY && ret != -EIOCBQUEUED) { | 717 | if (ret != -EIOCBRETRY && ret != -EIOCBQUEUED) { |
727 | BUG_ON(!list_empty(&iocb->ki_wait.task_list)); | 718 | BUG_ON(!list_empty(&iocb->ki_wait.task_list)); |
@@ -1508,10 +1499,7 @@ static ssize_t aio_setup_iocb(struct kiocb *kiocb) | |||
1508 | * Simply triggers a retry of the operation via kick_iocb. | 1499 | * Simply triggers a retry of the operation via kick_iocb. |
1509 | * | 1500 | * |
1510 | * This callback is specified in the wait queue entry in | 1501 | * This callback is specified in the wait queue entry in |
1511 | * a kiocb (current->io_wait points to this wait queue | 1502 | * a kiocb. |
1512 | * entry when an aio operation executes; it is used | ||
1513 | * instead of a synchronous wait when an i/o blocking | ||
1514 | * condition is encountered during aio). | ||
1515 | * | 1503 | * |
1516 | * Note: | 1504 | * Note: |
1517 | * This routine is executed with the wait queue lock held. | 1505 | * This routine is executed with the wait queue lock held. |