u32 dentry_offset;
int ret;
struct dentry *dentry;
- struct inode_table *inode_tab;
+ struct inode_table inode_tab;
const struct lookup_table_entry *metadata_lte;
u64 metadata_len;
u64 metadata_offset;
dentry->prev = dentry;
if (ret != 0)
goto out_free_dentry_tree;
+ list_add(&dentry->inode_dentry_list, &dentry->inode->dentry_list);
/* Now read the entire directory entry tree into memory. */
DEBUG("Reading dentry tree");
/* Build hash table that maps hard link group IDs to dentry sets */
DEBUG("Building link group table");
- inode_tab = new_inode_table(9001);
- if (!inode_tab)
+ ret = init_inode_table(&inode_tab, 9001);
+ if (ret != 0)
goto out_free_dentry_tree;
- for_dentry_in_tree(dentry, inode_table_insert, inode_tab);
+
+ for_dentry_in_tree(dentry, inode_table_insert, &inode_tab);
DEBUG("Fixing inconsistencies in the link groups");
- ret = fix_inodes(inode_tab, &inode_list);
- free_inode_table(inode_tab);
+ ret = fix_inodes(&inode_tab, &inode_list);
+ destroy_inode_table(&inode_tab);
if (ret != 0)
goto out_free_dentry_tree;