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;
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;
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;
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);
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;
}