diff options
Diffstat (limited to 'fs/xfs/linux-2.6/xfs_aops.c')
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_aops.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/fs/xfs/linux-2.6/xfs_aops.c b/fs/xfs/linux-2.6/xfs_aops.c index f42f80a3b1f..a44d68eb50b 100644 --- a/fs/xfs/linux-2.6/xfs_aops.c +++ b/fs/xfs/linux-2.6/xfs_aops.c @@ -1338,6 +1338,10 @@ __xfs_get_blocks(  	offset = (xfs_off_t)iblock << inode->i_blkbits;  	ASSERT(bh_result->b_size >= (1 << inode->i_blkbits));  	size = bh_result->b_size; + +	if (!create && direct && offset >= i_size_read(inode)) +		return 0; +  	error = xfs_iomap(XFS_I(inode), offset, size,  			     create ? flags : BMAPI_READ, &iomap, &niomap);  	if (error)  | 
