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); _