ERROR_WITH_ERRNO("Failed to set security descriptor "
"on \"%s\" in NTFS volume",
dentry_full_path(one_dentry));
- fprintf(stderr, "The security descriptor is: ");
- print_byte_field(desc, desc_size, stderr);
- fprintf(stderr, "\n");
+ fprintf(wimlib_error_file,
+ "The security descriptor is: ");
+ print_byte_field(desc, desc_size, wimlib_error_file);
+ fprintf(wimlib_error_file, "\n");
}
return ret;
}
* the NTFS inode @dir_ni. */
static int
ntfs_3g_create_dirs_recursive(ntfs_inode *dir_ni, struct wim_dentry *dir,
- const struct ntfs_3g_apply_ctx *ctx)
+ struct ntfs_3g_apply_ctx *ctx)
{
struct wim_dentry *child;
child->d_inode->i_mft_no = ni->mft_no;
- ret = ntfs_3g_set_metadata(ni, child->d_inode, ctx);
+ ret = report_file_created(&ctx->common);
+ if (!ret)
+ ret = ntfs_3g_set_metadata(ni, child->d_inode, ctx);
if (!ret)
ret = ntfs_3g_create_any_empty_ads(ni, child->d_inode, ctx);
if (!ret)
static int
ntfs_3g_create_directories(struct wim_dentry *root,
struct list_head *dentry_list,
- const struct ntfs_3g_apply_ctx *ctx)
+ struct ntfs_3g_apply_ctx *ctx)
{
ntfs_inode *root_ni;
int ret;
ret = ntfs_3g_restore_dos_name(NULL, NULL, dentry, ctx->vol);
if (ret)
return ret;
+ ret = report_file_created(&ctx->common);
+ if (ret)
+ return ret;
}
return 0;
}
* Directories must have already been created. */
static int
ntfs_3g_create_nondirectories(struct list_head *dentry_list,
- const struct ntfs_3g_apply_ctx *ctx)
+ struct ntfs_3g_apply_ctx *ctx)
{
struct wim_dentry *dentry;
struct wim_inode *inode;
ret = ntfs_3g_create_nondirectory(inode, ctx);
if (ret)
return ret;
+ ret = report_file_created(&ctx->common);
+ if (ret)
+ return ret;
}
return 0;
}
/* Create all inodes and aliases, including short names, and set
* metadata (attributes, security descriptors, and timestamps). */
+ reset_file_progress(&ctx->common);
+
ret = ntfs_3g_create_directories(root, dentry_list, ctx);
if (ret)
goto out_unmount;