]> wimlib.net Git - wimlib/blobdiff - src/verify.c
read_metadata_resource(): Check for named root here
[wimlib] / src / verify.c
index a4fb17c03a02a1d13339e0e3ed49d89bb037a5dd..501aea609787c3810b3e89470446c687b1841031 100644 (file)
@@ -114,13 +114,6 @@ verify_inode(struct wim_inode *inode, const WIMStruct *w)
                }
        }
 
-       /* Directories with multiple links have not been tested. XXX */
-       if (inode->i_nlink > 1 && inode->i_attributes & FILE_ATTRIBUTE_DIRECTORY) {
-               ERROR("Hard-linked directory `%"TS"' is unsupported",
-                     dentry_full_path(first_dentry));
-               return WIMLIB_ERR_INVALID_DENTRY;
-       }
-
        inode->i_verified = 1;
        return 0;
 }
@@ -131,7 +124,6 @@ verify_dentry(struct wim_dentry *dentry, void *wim)
 {
        int ret;
        WIMStruct *w = wim;
-
        /* Verify the associated inode, but only one time no matter how many
         * dentries it has (unless we are doing a full verification of the WIM,
         * in which case we need to force the inode to be verified again.) */
@@ -140,36 +132,6 @@ verify_dentry(struct wim_dentry *dentry, void *wim)
                if (ret)
                        return ret;
        }
-
-       /* Make sure root dentry is unnamed, while every other dentry has at
-        * least a long name.
-        *
-        * I am assuming that dentries having only a DOS name is illegal; i.e.,
-        * Windows will always combine the Win32 name and DOS name for a file
-        * into a single WIM dentry, even if they are stored separately on NTFS.
-        * (This seems to be the case...) */
-       if (dentry_is_root(dentry)) {
-               if (dentry_has_long_name(dentry) || dentry_has_short_name(dentry)) {
-                       ERROR("The root dentry has a nonempty name!");
-                       return WIMLIB_ERR_INVALID_DENTRY;
-               }
-       } else {
-               if (!dentry_has_long_name(dentry)) {
-                       ERROR("Dentry `%"TS"' has no long name!",
-                             dentry_full_path(dentry));
-                       return WIMLIB_ERR_INVALID_DENTRY;
-               }
-       }
-
-#if 0
-       /* Check timestamps */
-       if (inode->i_last_access_time < inode->i_creation_time ||
-           inode->i_last_write_time < inode->i_creation_time) {
-               WARNING("Dentry `%"TS"' was created after it was last accessed or "
-                       "written to", dentry->full_path);
-       }
-#endif
-
        return 0;
 }
 
@@ -180,7 +142,7 @@ image_run_full_verifications(WIMStruct *w)
        struct wim_inode *inode;
 
        imd = wim_get_current_image_metadata(w);
-       image_for_each_inode(inode, imd)
+       image_for_each_inode(inode, imd) {
                inode->i_verified = 0;
        return for_dentry_in_tree(imd->root_dentry, verify_dentry, w);
 }