X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=src%2Fntfs-3g_apply.c;h=2b4a1efb1bab3bc5b3dfbd12d1b00c9f1c848c33;hp=9f06bbe6df763f94a62b640002aeeb8c86750b53;hb=29a25d8df3178bccb3349fd306e6d8fddf51f9ed;hpb=d1dd8bba3c12104e730ea1b2989ecbd6156658c5 diff --git a/src/ntfs-3g_apply.c b/src/ntfs-3g_apply.c index 9f06bbe6..2b4a1efb 100644 --- a/src/ntfs-3g_apply.c +++ b/src/ntfs-3g_apply.c @@ -322,9 +322,18 @@ ntfs_3g_restore_reparse_point(ntfs_inode *ni, const struct wim_inode *inode, if (ntfs_set_ntfs_reparse_data(ni, (const char *)&ctx->rpbuf, REPARSE_DATA_OFFSET + blob_size, 0)) { + int err = errno; ERROR_WITH_ERRNO("Failed to set reparse data on \"%s\"", dentry_full_path( inode_first_extraction_dentry(inode))); + if (err == EINVAL && !(inode->i_reparse_tag & 0x80000000)) { + WARNING("This reparse point had a non-Microsoft reparse " + "tag. The preceding error may have been caused " + "by a known bug in libntfs-3g where it does not " + "correctly validate non-Microsoft reparse " + "points. This bug may be fixed in the 2016 " + "release of libntfs-3g."); + } return WIMLIB_ERR_SET_REPARSE_DATA; }