- if (!ext4fs_devread(block << log2_blksz, 0, blksz, buf)) {
- free(buf);
- return -EIO;
- }
-
- err = __ext4fs_build_extent_cache(data,
- (struct ext4_extent_header *) buf);
- free(buf);
- if (err < 0)
- return err;
- }
-
- return 0;
-}
-
-int ext4fs_build_extent_cache(struct ext2_inode *inode)
-{
- return __ext4fs_build_extent_cache(ext4fs_root,
- (struct ext4_extent_header *)
- inode->b.blocks.dir_blocks);
-}
-
-void ext4fs_free_extent_cache(void)
-{
- struct ext4_extent_node *node, *tmp;
-
- list_for_each_entry_safe(node, tmp, &ext4_extent_lh, lh) {
- list_del(&node->lh);
- free(node);
+ if (ext4fs_devread((lbaint_t)block << log2_blksz, 0, blksz,
+ buf))
+ ext_block = (struct ext4_extent_header *)buf;
+ else
+ return 0;