STATUS_REPARSE in Minifilter

Hello

We’d like to implement a solution that redirects to a remove service when a create comes in via a network share

e.g.

\Device\HardDisk2\somedirectory\foobar.txt -> STATUS_REPARSE -> \Device\Mup\SomeServer\SomeShare\foobar.txt

Our minifilter works fine when accessing these files on the local machine, however if we attempt to access via a remote machine (through an SMB share) it fails with “An unexpected network error occured”.

Perhaps a FS minifilter is the wrong solution. My question is: Is it possible to force a reparse to another location via a minifilter that is accessed from a remote machine?

Hi James,

I’ve been working on a proof of concept that used to reparse a file from one volume to the other. I ended up realizing that Microsoft doesn’t support cross volume reparsing. Although using the reparse approach seems easy and functional at first glance, there are a couple of limitations that are not mentioned on their documentation, but they do exist.

Microsoft offers two different samples about using reparse, but none of them supports cross volume reparsing even using minifilters as name providers.

Alex Carp wrote these two great articles (among others) about these limitations:
http://fsfilters.blogspot.com.br/2012/02/problems-with-statusreparse-part-i.html
http://fsfilters.blogspot.com.br/2012/02/problems-with-statusreparse-part-ii.html

You’ll face problems mainly on querying file names and rename operations.
In summary, I cannot say the reason of the error has something to do with reparse, but even though you get it fixed, still there are other reparse limitations you should be aware of.

Regards,

Fernando Roberto da Silva
DriverEntry Kernel Development
http://www.driverentry.com.br