diff --git a/fs/ocfs2/extent_map.c b/fs/ocfs2/extent_map.c index f7672472fa82..0043c2428ef2 100644 --- a/fs/ocfs2/extent_map.c +++ b/fs/ocfs2/extent_map.c @@ -968,7 +968,8 @@ int ocfs2_read_virt_blocks(struct inode *inode, u64 v_block, int nr, if (((v_block + nr - 1) << inode->i_sb->s_blocksize_bits) >= i_size_read(inode)) { - BUG_ON(!(flags & OCFS2_BH_READAHEAD)); + BUG_ON(flags && !(flags & OCFS2_BH_READAHEAD)); + rc = flags ? 0 : -EIO; goto out; }