<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">--- a/fs/direct-io.c	2010-12-17 19:11:29.000000000 -0800
+++ b/fs/direct-io.c	2010-12-17 19:11:33.000000000 -0800
@@ -250,9 +250,12 @@
 
 			end_io(dio-&gt;iocb, offset, transferred,
 				    dio-&gt;map_bh.b_private, ret, is_async);
-		} else
+		} else {
 			dio-&gt;end_io(dio-&gt;iocb, offset, transferred,
 				    dio-&gt;map_bh.b_private);
+			if (is_async)
+				aio_complete(dio-&gt;iocb, ret, 0);
+		}
 	} else if (is_async) {
 		aio_complete(dio-&gt;iocb, ret, 0);
 	}
</pre></body></html>