]> wimlib.net Git - wimlib/blobdiff - include/wimlib/inode_table.h
inode_table: remove unused num_entries member
[wimlib] / include / wimlib / inode_table.h
index abfc28bbf2621391a63326c383691e65de5442f1..9e8485a1b2502a2890394f70398b8099ef81e4d8 100644 (file)
@@ -6,27 +6,15 @@
 
 struct wim_dentry;
 
-/* Hash table to find inodes, given an inode number (in the case of reading
- * a WIM images), or both an inode number and a device number (in the case of
- * capturing a WIM image). */
+/* Hash table to find inodes for hard link detection, given an inode number (in
+ * the case of reading a WIM image), or both an inode number and a device number
+ * (in the case of adding files to a WIM image).  Also contains an extra list to
+ * hold inodes for which no additional hard link detection is desired.  In both
+ * cases the inodes are linked by i_hlist_node.  */
 struct wim_inode_table {
-       /* Fields for the hash table */
        struct hlist_head *array;
-       size_t num_entries;
        size_t capacity;
-
-       /*
-        * Linked list of "extra" inodes.  These may be:
-        *
-        * - inodes with link count 1, which are all allowed to have 0 for their
-        *   inode number, meaning we cannot insert them into the hash table.
-         *
-        * - Groups we create ourselves by splitting a nominal inode due to
-        *   inconsistencies in the dentries.  These inodes will share an inode
-        *   number with some other inode until assign_inode_numbers() is
-        *   called.
-        */
-       struct list_head extra_inodes;
+       struct hlist_head extra_inodes;
 };
 
 
@@ -40,7 +28,7 @@ inode_table_new_dentry(struct wim_inode_table *table, const tchar *name,
 
 extern void
 inode_table_prepare_inode_list(struct wim_inode_table *table,
-                              struct list_head *head);
+                              struct hlist_head *head);
 
 extern void
 destroy_inode_table(struct wim_inode_table *table);