}
}
- /* 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;
}
{
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.) */
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;
}
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);
}