mm/filemap.c | 14 ++++++-------- 1 files changed, 6 insertions(+), 8 deletions(-) diff -puN mm/filemap.c~aio-remove-lseek-triggerable-BUG_ONs mm/filemap.c --- 25/mm/filemap.c~aio-remove-lseek-triggerable-BUG_ONs 2003-08-20 23:30:37.000000000 -0700 +++ 25-akpm/mm/filemap.c 2003-08-20 23:30:37.000000000 -0700 @@ -889,19 +889,18 @@ out: return retval; } -ssize_t -generic_file_aio_read(struct kiocb *iocb, char __user *buf, size_t count, loff_t pos) +ssize_t generic_file_aio_read(struct kiocb *iocb, char __user *buf, + size_t count, loff_t pos) { struct iovec local_iov = { .iov_base = buf, .iov_len = count }; - BUG_ON(iocb->ki_pos != pos); return __generic_file_aio_read(iocb, &local_iov, 1, &iocb->ki_pos); } EXPORT_SYMBOL(generic_file_aio_read); EXPORT_SYMBOL(__generic_file_aio_read); -ssize_t -generic_file_read(struct file *filp, char __user *buf, size_t count, loff_t *ppos) +ssize_t generic_file_read(struct file *filp, char __user *buf, + size_t count, loff_t *ppos) { struct iovec local_iov = { .iov_base = buf, .iov_len = count }; struct kiocb kiocb; @@ -914,7 +913,8 @@ generic_file_read(struct file *filp, cha return ret; } -int file_send_actor(read_descriptor_t * desc, struct page *page, unsigned long offset, unsigned long size) +int file_send_actor(read_descriptor_t * desc, struct page *page, + unsigned long offset, unsigned long size) { ssize_t written; unsigned long count = desc->count; @@ -1979,8 +1979,6 @@ ssize_t generic_file_aio_write(struct ki struct iovec local_iov = { .iov_base = (void __user *)buf, .iov_len = count }; - BUG_ON(iocb->ki_pos != pos); - if (!buf && !is_sync_kiocb(iocb)) { /* nothing to transfer, may just need to sync data */ ret = count; _