diff options
Diffstat (limited to 'fs/ext4/ext4fs.c')
-rw-r--r-- | fs/ext4/ext4fs.c | 36 |
1 files changed, 8 insertions, 28 deletions
diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c index 4f1b4c8bce..417ce7b63b 100644 --- a/fs/ext4/ext4fs.c +++ b/fs/ext4/ext4fs.c @@ -63,14 +63,6 @@ int ext4fs_read_file(struct ext2fs_node *node, int pos, char *delayed_buf = NULL; short status; - if (le32_to_cpu(node->inode.flags) & EXT4_EXTENTS_FL) { - if (ext4fs_build_extent_cache(&node->inode)) { - printf("Error building extent cache!\n"); - len = -1; - goto out_exit; - } - } - /* Adjust len so it we can't read past the end of the file. */ if (len > filesize) len = filesize; @@ -83,10 +75,8 @@ int ext4fs_read_file(struct ext2fs_node *node, int pos, int blockend = blocksize; int skipfirst = 0; blknr = read_allocated_block(&(node->inode), i); - if (blknr < 0) { - len = -1; - goto out_exit; - } + if (blknr < 0) + return -1; blknr = blknr << log2_fs_blocksize; @@ -116,10 +106,8 @@ int ext4fs_read_file(struct ext2fs_node *node, int pos, delayed_skipfirst, delayed_extent, delayed_buf); - if (status == 0) { - len = -1; - goto out_exit; - } + if (status == 0) + return -1; previous_block_number = blknr; delayed_start = blknr; delayed_extent = blockend; @@ -144,10 +132,8 @@ int ext4fs_read_file(struct ext2fs_node *node, int pos, delayed_skipfirst, delayed_extent, delayed_buf); - if (status == 0) { - len = -1; - goto out_exit; - } + if (status == 0) + return -1; previous_block_number = -1; } memset(buf, 0, blocksize - skipfirst); @@ -159,17 +145,11 @@ int ext4fs_read_file(struct ext2fs_node *node, int pos, status = ext4fs_devread(delayed_start, delayed_skipfirst, delayed_extent, delayed_buf); - if (status == 0) { - len = -1; - goto out_exit; - } + if (status == 0) + return -1; previous_block_number = -1; } - -out_exit: - ext4fs_free_extent_cache(); - return len; } |