FAQ SearchLogin
Tuxera Home
View unanswered posts | View active topics It is currently Tue Aug 11, 2020 07:56



Post new topic Reply to topic  [ 5 posts ] 
'Unsupported reparse point' from a recent Win10 disk 
Author Message

Joined: Wed Mar 12, 2014 21:41
Posts: 3
Post 'Unsupported reparse point' from a recent Win10 disk
Attempting to copy files from a Windows 10 image to another disk, seeing the following reparse point problem:

lrwxrwxrwx 2 root root 26 Feb 23 07:16 SystemX64 -> unsupported reparse point

We have control of the incoming image, so we don't necessarily need a fix if there's something we can do/not do to the Windows 10 installation/disk to avoid the issue. We're a couple of versions behind the latest (we use an in-house patched version of NTFS-3g Advanced), but I've reproduced this issue with the latest stable version from the web site. I also tried the available plugins, but since we don't normally use them I'm not sure if that was a valid test or not. I.e., if the answer is "You need to use this plugin to get this work, and here's how", that would be fine.

I included some pieces of the ntfsinfo for the problematic reparse point below - let me know if it'll help to have the full ntfsinfo dump.

Any help or suggestions welcome, and thanks,
Clark

The file in question is
'Program Files/WindowsApps/Microsoft.MicrosoftOfficeHub_17.7909.7600.0_x64__8wekyb3d8bbwe/VFS/SystemX64', although there are a few other files that exhibit the same problem.

Here's a subset of the ntfsinfo:

[devtest]# ntfsinfo -F /Program\ Files/WindowsApps/Microsoft.MicrosoftOfficeHub_17.7909.7600.0_x64__8wekyb3d8bbwe/VFS/SystemX64 /dev/sdc2
Dumping Inode 104298 (0x1976a)
Upd. Seq. Array Off.: 48 (0x30)
Upd. Seq. Array Count: 3 (0x3)
Upd. Seq. Number: 8 (0x8)
LogFile Seq. Number: 0x2c159680
MFT Record Seq. Numb.: 4 (0x4)
Number of Hard Links: 2 (0x2)
Attribute Offset: 56 (0x38)
MFT Record Flags: IN_USE DIRECTORY
Bytes Used: 656 (0x290) bytes
Bytes Allocated: 1024 (0x400) bytes
Next Attribute Instance: 8 (0x8)
MFT Padding: 00 00
Dumping attribute $STANDARD_INFORMATION (0x10) from mft record 104298 (0x1976a)
Resident: Yes
Attribute flags: 0x0000
Attribute instance: 0 (0x0)
Data size: 72 (0x48)
Resident flags: 0x00
File Creation Time: Thu Mar 2 21:43:07 2017 UTC
File Altered Time: Thu Mar 2 21:43:07 2017 UTC
MFT Changed Time: Mon Mar 6 12:30:21 2017 UTC
Last Accessed Time: Thu Mar 2 21:43:07 2017 UTC
File attributes: REPARSE_POINT (0x00000400)
Maximum versions: 0
Version number: 0
Class ID: 0
User ID: 0 (0x0)
Security ID: 2389 (0x955)
Quota charged: 0 (0x0)
Update Sequence Number: 323909040 (0x134e75b0)
... [$file_names/$index removed]
Dumping attribute $BITMAP (0xb0) from mft record 104298 (0x1976a)
Resident: Yes
Attribute name: '$I30'
Attribute flags: 0x0000
Attribute instance: 5 (0x5)
Data size: 8 (0x8)
Resident flags: 0x00
Dumping attribute $REPARSE_POINT (0xc0) from mft record 104298 (0x1976a)
Resident: Yes
Attribute flags: 0x0000
Attribute instance: 7 (0x7)
Data size: 34 (0x22)
Resident flags: 0x00
Reparse tag: 0x80000018
Data length: 26 (0x1a)
Data: 0x010000000000000057b7aab1eb3f834da4a90b6d5837571d0000


Wed Apr 26, 2017 00:36
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1286
Post Re: 'Unsupported reparse point' from a recent Win10 disk
Hi,

This type of reparse point (0x80000018 or IO_REPARSE_TAG_WCI) is a recent one, and I cannot find much details about it.

AFAIK there is no current way to process it within ntfs-3g.

Regards

Jean-Pierre


Mon May 01, 2017 18:52
Profile

Joined: Wed Mar 12, 2014 21:41
Posts: 3
Post Re: 'Unsupported reparse point' from a recent Win10 disk
Thanks, Jean-Pierre. For now we'll live with the nuclear work-around of deleting the offending entries before our processing starts. I'll post if we happen to find any more bread-crumbs as to what's going on with these reparse points.

--
Clark


Tue May 02, 2017 15:38
Profile

Joined: Fri Aug 12, 2016 00:23
Posts: 4
Post Re: 'Unsupported reparse point' from a recent Win10 disk
There is a filter driver on Windows that knows how to interpret the WCI reparse point properly.

Regardless of how to interpret the reparse point, it's not a name surrogate (such as a junction), and it can actually be enumerated like any normal directory, have files underneath it, etc. Ideally NTFS-3g should ignore the presence of this reparse point on the directory and have it behave exactly like any a normal directory. This is in fact what NTFS does with it (NTFS doesn't know how to interpret the reparse point either).

NTFS-3g should not only special case 0x80000018 on a directory, but also any tag with bit 0x10000000 on a directory. The WCI reparse point was the first to have this special treatment. Later we came up with the reparse tag flag to make it more generic, but 0x80000018 got grandfathered in because of existing deployments.

//
// Macro to determine whether a directory with this reparse point can have
// children.
//

#define IsReparseTagDirectory(_tag) ( \
((_tag) & 0x10000000) \
)

Note if these reparse tags are on a NON-DIRECTORY, then they shouldn't get any special treatment and should just fail to open.

Craig (MSFT)


Sat Mar 24, 2018 07:36
Profile
NTFS-3G Lead Developer

Joined: Tue Sep 04, 2007 17:22
Posts: 1286
Post Re: 'Unsupported reparse point' from a recent Win10 disk
Hi Craig,

Thanks for sharing.

Regards

Jean-Pierre


Mon Apr 09, 2018 08:18
Profile
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 


Who is online

Users browsing this forum: No registered users and 9 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Original forum style by Vjacheslav Trushkin.