diff options
Diffstat (limited to 'fs/reiserfs/inode.c')
| -rw-r--r-- | fs/reiserfs/inode.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/fs/reiserfs/inode.c b/fs/reiserfs/inode.c index d5c2e9c865de..825455d3e4ba 100644 --- a/fs/reiserfs/inode.c +++ b/fs/reiserfs/inode.c @@ -3279,15 +3279,14 @@ static int reiserfs_releasepage(struct page *page, gfp_t unused_gfp_flags)   * We thank Mingming Cao for helping us understand in great detail what   * to do in this section of the code.   */ -static ssize_t reiserfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, -				  loff_t offset) +static ssize_t reiserfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter)  {  	struct file *file = iocb->ki_filp;  	struct inode *inode = file->f_mapping->host;  	size_t count = iov_iter_count(iter);  	ssize_t ret; -	ret = blockdev_direct_IO(iocb, inode, iter, offset, +	ret = blockdev_direct_IO(iocb, inode, iter,  				 reiserfs_get_blocks_direct_io);  	/* @@ -3296,7 +3295,7 @@ static ssize_t reiserfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter,  	 */  	if (unlikely(iov_iter_rw(iter) == WRITE && ret < 0)) {  		loff_t isize = i_size_read(inode); -		loff_t end = offset + count; +		loff_t end = iocb->ki_pos + count;  		if ((end > isize) && inode_newsize_ok(inode, isize) == 0) {  			truncate_setsize(inode, isize); | 
