|
@@ -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)
|