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 Sat Jun 14 20:44:20 2003 +++ 715-fs_aio_5_wrdown_wq/mm/filemap.c Sat Jun 14 20:44:23 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);