desc_size = sd->sizes[inode->i_security_id];
ret = ctx->ops->set_security_descriptor(path, desc,
- desc_size, ctx,
- !!(ctx->extract_flags &
- WIMLIB_EXTRACT_FLAG_STRICT_ACLS));
+ desc_size, ctx);
if (ret) {
if (ctx->extract_flags & WIMLIB_EXTRACT_FLAG_STRICT_ACLS) {
ERROR_WITH_ERRNO("Failed to set security "
* However, we can get a reasonably accurate estimate by taking
* <TOTALBYTES> from the corresponding <IMAGE> in the WIM XML
* data. This does assume that a full image is being extracted,
- * but currently there is no API for doing otherwise. */
+ * but currently there is no API for doing otherwise. (Also,
+ * subtract <HARDLINKBYTES> from this if hard links are
+ * supported by the extraction mode.) */
ctx.progress.extract.total_bytes =
wim_info_get_image_total_bytes(wim->wim_info,
wim->current_image);
+ if (ctx.supported_features.hard_links) {
+ ctx.progress.extract.total_bytes -=
+ wim_info_get_image_hard_link_bytes(wim->wim_info,
+ wim->current_image);
+ }
}
/* Handle the special case of extracting a file to standard