diff -urpN -X /home/fletch/.diff.exclude 714-fs_aio_4_down_wq/mm/filemap.c 715-fs_aio_5_wrdown_wq/mm/filemap.c --- 714-fs_aio_4_down_wq/mm/filemap.c Wed Jul 2 22:25:27 2003 +++ 715-fs_aio_5_wrdown_wq/mm/filemap.c Wed Jul 2 22:30:10 2003 @@ -1874,7 +1874,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);