Skip to content

General support for reparse points which are not named surrogates #5565

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from

Conversation

cmb69
Copy link
Member

@cmb69 cmb69 commented May 13, 2020

According to the docs[1], and given our experience with reparse point
resolution for realpath(), it seems to be safe to assume that all
reparse points, which are not named surrogates, are not aliased, so
their absolute paths are their real paths. By doing so, we support
arbitrary third party on-demand file systems out of the box, without
the need to eventually add support for individual reparse tags.

[1] https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-isreparsetagnamesurrogate

According to the docs[1], and given our experience with reparse point
resolution for `realpath()`, it seems to be safe to assume that all
reparse points, which are not named surrogates, are not aliased, so
their absolute paths are their real paths.  By doing so, we support
arbitrary third party on-demand file systems out of the box, without
the need to eventually add support for individual reparse tags.

[1] <https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-isreparsetagnamesurrogate>
@cmb69
Copy link
Member Author

cmb69 commented Jul 15, 2020

@weltling, @KalleZ, thoughts?

Copy link
Member

@KalleZ KalleZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like this approch much better than the current

@cmb69
Copy link
Member Author

cmb69 commented Aug 4, 2020

Thanks, @KalleZ!

If there are no objections, I'll merge this in a week.

@weltling
Copy link
Contributor

weltling commented Aug 9, 2020

@cmb69 this looks like a great simplification. Though, is this supported by some QA? All the points touched need a serious validation, especially dedup and one drive ones.

Thanks.

@cmb69
Copy link
Member Author

cmb69 commented Aug 9, 2020

I only did basic QA (testing some reparse points, including VFS for Git), but I'm afraid extensive testing is not possible for me due to lack of resources.

@weltling
Copy link
Contributor

weltling commented Aug 9, 2020

At least the two mentioned could be checked by a simple test run with tests placed on onedrive/smb. These two was subjects of bug reports in the past.

thanks.

@cmb69
Copy link
Member Author

cmb69 commented Jun 30, 2021

I'm closing this for time reasons. Anyone who's willing to take this up is welcome to do so!

@cmb69 cmb69 closed this Jun 30, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants