* [PATCH][FIX][AIO] sync iocb wakeup
@ 2003-03-14 6:47 Suparna Bhattacharya
0 siblings, 0 replies; only message in thread
From: Suparna Bhattacharya @ 2003-03-14 6:47 UTC (permalink / raw)
To: bcrl; +Cc: akpm, linux-aio, linux-kernel
In aio_complete, sync iocbs aren't being woken up if
iocb->ki_users == 1. The following patch should fix this.
(Ben, let me know if I'm missing anything here)
diff -ur linux-2.5.62/fs/aio.c linux-2.5.62-aio/fs/aio.c
--- linux-2.5.62/fs/aio.c Tue Feb 18 04:26:14 2003
+++ linux-2.5.62-aio/fs/aio.c Tue Mar 11 21:07:35 2003
@@ -642,13 +717,13 @@
iocb->ki_user_data = res;
if (iocb->ki_users == 1) {
iocb->ki_users = 0;
- return 1;
+ ret = 1;
+ } else {
+ spin_lock_irq(&ctx->ctx_lock);
+ iocb->ki_users--;
+ ret = (0 == iocb->ki_users);
+ spin_unlock_irq(&ctx->ctx_lock);
}
- spin_lock_irq(&ctx->ctx_lock);
- iocb->ki_users--;
- ret = (0 == iocb->ki_users);
- spin_unlock_irq(&ctx->ctx_lock);
-
/* sync iocbs put the task here for us */
wake_up_process(iocb->ki_user_obj);
return ret;
--
Suparna Bhattacharya (suparna@in.ibm.com)
Linux Technology Center
IBM Software Labs, India
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2003-03-14 6:31 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-03-14 6:47 [PATCH][FIX][AIO] sync iocb wakeup Suparna Bhattacharya
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®