mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [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®