diff options
author | Mark Fasheh <mark.fasheh@oracle.com> | 2007-03-10 01:26:50 +0100 |
---|---|---|
committer | Mark Fasheh <mark.fasheh@oracle.com> | 2007-04-27 00:02:45 +0200 |
commit | 4f902c37727bbedbc0508a1477874c58ddcc9af8 (patch) | |
tree | 841b35387cfea5d2518c258c4de6ef868948369b /fs/ocfs2/aops.c | |
parent | ocfs2: Read from an unwritten extent returns zeros (diff) | |
download | linux-4f902c37727bbedbc0508a1477874c58ddcc9af8.tar.xz linux-4f902c37727bbedbc0508a1477874c58ddcc9af8.zip |
ocfs2: Fix extent lookup to return true size of holes
Initially, we had wired things to return a size '1' of holes. Cook up a
small amount of code to find the next extent and calculate the number of
clusters between the virtual offset and the next allocated extent.
Signed-off-by: Mark Fasheh <mark.fasheh@oracle.com>
Diffstat (limited to 'fs/ocfs2/aops.c')
-rw-r--r-- | fs/ocfs2/aops.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index eb67c902b002..ff71e0b430cd 100644 --- a/fs/ocfs2/aops.c +++ b/fs/ocfs2/aops.c @@ -439,8 +439,7 @@ static int ocfs2_direct_IO_get_blocks(struct inode *inode, sector_t iblock, struct buffer_head *bh_result, int create) { int ret; - u64 p_blkno, inode_blocks; - int contig_blocks; + u64 p_blkno, inode_blocks, contig_blocks; unsigned int ext_flags; unsigned char blocksize_bits = inode->i_sb->s_blocksize_bits; unsigned long max_blocks = bh_result->b_size >> inode->i_blkbits; |