Clean up inode alias tracking
[wimlib] / include / wimlib / inode.h
index 4b9567757aa1ba2f8fd78ac0d1a25c4c9867678e..11c2361b81bf5da59dd6b2e71fe9d7c46c28f9b5 100644 (file)
@@ -304,21 +304,10 @@ new_inode(void) _malloc_attribute;
 extern struct wim_inode *
 new_timeless_inode(void) _malloc_attribute;
 
-extern void
-put_inode(struct wim_inode *inode);
-
-extern void
-free_inode(struct wim_inode *inode);
-
 /* Iterate through each alias of the specified inode.  */
 #define inode_for_each_dentry(dentry, inode) \
        list_for_each_entry((dentry), &(inode)->i_dentry, d_alias)
 
-/* Add a new alias for the specified inode.  Does not increment i_nlink; that
- * must be done separately if needed.  */
-#define inode_add_dentry(dentry, inode) \
-       list_add_tail(&(dentry)->d_alias, &(inode)->i_dentry)
-
 /* Return an alias of the specified inode.  */
 #define inode_first_dentry(inode) \
        container_of(inode->i_dentry.next, struct wim_dentry, d_alias)
@@ -328,6 +317,17 @@ free_inode(struct wim_inode *inode);
 #define inode_first_full_path(inode) \
        dentry_full_path(inode_first_dentry(inode))
 
+extern void
+d_associate(struct wim_dentry *dentry, struct wim_inode *inode);
+
+extern void
+d_disassociate(struct wim_dentry *dentry);
+
+#ifdef WITH_FUSE
+extern void
+inode_dec_num_opened_fds(struct wim_inode *inode);
+#endif
+
 /* Is the inode a directory?
  * This doesn't count directories with reparse data.
  * wimlib only allows inodes of this type to have children.