--
You received this message because you are subscribed to the Google Groups "Dokan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dokan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dokan/83cd5896-4bb0-443e-82b3-c164ea9fa623n%40googlegroups.com.
Yes, we should definitely make Mount() throw an error when this
occurs.
For now the status is just ignored here
https://github.com/dokan-dev/dokany/blob/4208150968d650cc4102c07b715b4c9658c42afb/sys/event.c#L904-L906
>I did not change FSCTL_SET_REPARSE_POINT - where did you see
this?
From your log, I was expecting 900a4 for FSCTL_SET_REPARSE_POINT
but it is 900AC is for FSCTL_DELETE_REPARSE_POINT my bad.
Thank you again for looking into this!
--
You received this message because you are subscribed to a topic in the Google Groups "Dokan" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/dokan/TKVtXow3_w0/unsubscribe.
To unsubscribe from this group and all its topics, send an email to dokan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dokan/f486d217-58da-4d34-86c0-55aa0c2b39d9n%40googlegroups.com.
Hi,
Yes, I heard back from them. They found the problem and has made a fix to ProjFS. It will ship in a future version of Windows so we may still want to investigate fixes from the Dokan side. This is what the ProjFS dev said:
The problem is that Dokan unconditionally sets top-level IRP before sending any IRP down the stack. Setting top-level IRP is a signal to Filter Manager that locks may be held above it, so it is not safe to query the file system for the file’s name. I’m not sure why Dokan does this though since it isn’t holding locks here. It also would interfere with any minifilter that queries names, which is most of them.
For PrjFlt, being unable to query the file path prevents it from being able to tell whether the caller is trying turn a directory into a virtualization root when it has a descendant that is already one, or the caller is trying to create a virtualization root inside an existing one. Either of those things is illegal and would cause runtime problems.
We could narrow the check so that if we’re unable to query the name we fail only if the incoming reparse tag is one of ours. That’d fix this specific issue since the reparse point being set doesn’t belong to ProjFS: it is IO_REPARSE_TAG_MOUNT_POINT to mount the Dokan volume to C:\DokanMirror.
- Hans
To view this discussion on the web visit https://groups.google.com/d/msgid/dokan/CABr8oZCrMpx-Eu5w5b%3DAYvnjdmuJx4F%3DwVWZZ7eHUqVvp7Zcmw%40mail.gmail.com.
You received this message because you are subscribed to the Google Groups "Dokan" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dokan+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/dokan/MWHPR22MB0861E8633E1248141D9171ABABAC9%40MWHPR22MB0861.namprd22.prod.outlook.com.