

Using async down for aio write (apply only if running on an x86 platform)


 25-akpm/mm/filemap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)

diff -puN mm/filemap.c~aio-09-usedown_wq mm/filemap.c
--- 25/mm/filemap.c~aio-09-usedown_wq	Fri May 16 16:29:46 2003
+++ 25-akpm/mm/filemap.c	Fri May 16 16:29:46 2003
@@ -1842,7 +1842,8 @@ ssize_t generic_file_aio_write(struct ki
 
 	BUG_ON(iocb->ki_pos != pos);
 
-	down(&inode->i_sem);
+	if ((err = down_wq(&inode->i_sem, current->io_wait)))
+		return err;
 	err = generic_file_aio_write_nolock(iocb, &local_iov, 1, 
 						&iocb->ki_pos);
 	up(&inode->i_sem);

_
