- u32 i_nlink;
-
- /* Number of alternate data streams (ADS) associated with this inode */
- u16 i_num_ads;
-
- /* Flag that indicates whether this inode's streams have been
- * "resolved". By default, the inode starts as "unresolved", meaning
- * that the i_hash field, along with the hash field of any associated
- * wim_ads_entry's, are valid and should be used as keys in the WIM
- * lookup table to find the associated `struct wim_lookup_table_entry'.
- * But if the inode has been resolved, then each of these fields is
- * replaced with a pointer directly to the appropriate `struct
- * wim_lookup_table_entry', or NULL if the stream is empty. */
- u8 i_resolved : 1;
-
- /* Flag used to mark this inode as visited; this is used when visiting
- * all the inodes in a dentry tree exactly once. It will be 0 by
- * default and must be cleared following the tree traversal, even in
- * error paths. */
- u8 i_visited : 1;
-
- /* Set if the DOS name of an inode has already been extracted. */
- u8 i_dos_name_extracted : 1;
-
- /* 1 iff all ADS entries of this inode are named or if this inode
- * has no ADS entries */
- u8 i_canonical_streams : 1;
-
- /* Pointer to a malloc()ed array of i_num_ads alternate data stream
- * entries for this inode. */
- struct wim_ads_entry *i_ads_entries;
-
- /* Creation time, last access time, and last write time for this inode, in
- * 100-nanosecond intervals since 12:00 a.m UTC January 1, 1601. They
- * should correspond to the times gotten by calling GetFileTime() on
- * Windows. */
+ u32 i_nlink : 30;
+
+ /* Flag used by some code to mark this inode as visited. It will be 0
+ * by default, and it always must be cleared after use. */
+ u32 i_visited : 1;
+
+ /* Cached value */
+ u32 i_can_externally_back : 1;
+
+ /* If not NULL, a pointer to the extra data that was read from the
+ * dentry. This should be a series of tagged items, each of which
+ * represents a bit of extra metadata, such as the file's object ID.
+ * See tagged_items.c for more information. */
+ struct wim_inode_extra *i_extra;
+
+ /* Creation time, last access time, and last write time for this inode,
+ * in 100-nanosecond intervals since 12:00 a.m UTC January 1, 1601.
+ * They should correspond to the times gotten by calling GetFileTime()
+ * on Windows. */