]> wimlib.net Git - wimlib/blobdiff - src/dentry.h
Decompression optimizations
[wimlib] / src / dentry.h
index 64b6471a64e88704bd07a7832c60770d4c883889..bf13619164408c66304dc72ed484555da9079800 100644 (file)
@@ -157,8 +157,6 @@ struct dentry {
        u16 file_name_utf8_len;
 
        u8 is_extracted : 1;
-       u8 visited : 1;
-       u8 canonical : 1;
 
        /* Byte 40 */
 
@@ -197,7 +195,6 @@ struct dentry {
         */
        u64 length;
 
-
        /* The offset, from the start of the uncompressed WIM metadata resource
         * for this image, of this dentry's child dentries.  0 if the directory
         * entry has no children, which is the case for regular files or reparse
@@ -208,7 +205,7 @@ struct dentry {
         * WIMStructs */
        u32 refcnt;
 
-       u32   full_path_utf8_len;
+       u32 full_path_utf8_len;
 
        /* Pointer to the UTF-16 short filename (malloc()ed buffer) */
        char *short_name;
@@ -251,12 +248,9 @@ struct inode {
         * (This is not an on-disk field.) */
        u8 resolved : 1;
 
-       /* %true iff verify_inode() has run on this dentry. */
+       /* %true iff verify_inode() has run on this inode. */
        u8 verified : 1;
 
-       /* temporary flag */
-       u8 visited    : 1;
-
        /* Number of alternate data streams associated with this inode */
        u16 num_ads;
 
@@ -320,10 +314,7 @@ struct inode {
                list_for_each_entry((dentry), &(inode)->dentry_list, inode_dentry_list)
 
 #define inode_add_dentry(dentry, inode) \
-       ({                                                              \
-               wimlib_assert((inode)->dentry_list.next != NULL);               \
-               list_add(&(dentry)->inode_dentry_list, &(inode)->dentry_list);  \
-       })
+               list_add_tail(&(dentry)->inode_dentry_list, &(inode)->dentry_list)
 
 static inline bool dentry_is_first_in_inode(const struct dentry *dentry)
 {
@@ -334,9 +325,6 @@ static inline bool dentry_is_first_in_inode(const struct dentry *dentry)
 
 extern u64 dentry_correct_total_length(const struct dentry *dentry);
 
-extern int inode_to_stbuf(const struct inode *inode,
-                         struct lookup_table_entry *lte, struct stat *stbuf);
-
 extern int for_dentry_in_tree(struct dentry *root,
                              int (*visitor)(struct dentry*, void*),
                              void *args);
@@ -365,7 +353,10 @@ extern struct dentry *get_parent_dentry(struct WIMStruct *w, const char *path);
 extern int print_dentry(struct dentry *dentry, void *lookup_table);
 extern int print_dentry_full_path(struct dentry *entry, void *ignore);
 
+#ifdef WITH_FUSE
 extern struct dentry *new_dentry(const char *name);
+#endif
+
 extern struct dentry *new_dentry_with_inode(const char *name);
 extern struct dentry *new_dentry_with_timeless_inode(const char *name);
 
@@ -381,9 +372,6 @@ extern void unlink_dentry(struct dentry *dentry);
 extern bool dentry_add_child(struct dentry * restrict parent,
                             struct dentry * restrict child);
 
-extern int verify_dentry(struct dentry *dentry, void *wim);
-
-
 extern struct ads_entry *inode_get_ads_entry(struct inode *inode,
                                             const char *stream_name,
                                             u16 *idx_ret);
@@ -427,11 +415,6 @@ static inline bool inode_is_symlink(const struct inode *inode)
                     inode->reparse_tag == WIM_IO_REPARSE_TAG_MOUNT_POINT);
 }
 
-static inline bool dentry_is_symlink(const struct dentry *dentry)
-{
-       return inode_is_symlink(dentry->d_inode);
-}
-
 static inline bool inode_is_regular_file(const struct inode *inode)
 {
        return !inode_is_directory(inode) && !inode_is_symlink(inode);