Hi!
I need to develop a layered file system.
I have a few queries regarding it:
- Is it feasible to make a layered file system using minifilters?
- Which driver model is more suitable for a layered FS: Legacy FS filter or Minifilter?
- I know this is a weird question, but what would be the rough timeline for developing a layered FS?
Thanks & Regards,
Ayush Gupta
Whether it is feasible at all needs more data on what you mean by a layered
file system.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
“Ayush Gupta” wrote in message news:xxxxx@ntfsd…
Hi!
I need to develop a layered file system.
I have a few queries regarding it:
1. Is it feasible to make a layered file system using minifilters?
2. Which driver model is more suitable for a layered FS: Legacy FS filter or
Minifilter?
3. I know this is a weird question, but what would be the rough timeline for
developing a layered FS?
Thanks & Regards,
Ayush Gupta
Hi Don,
Whether it is feasible at all needs more data on what you mean by a layered
file system.
I was just going to send a post about it.
Actually the objective is that I need to manage SOME files in memory.
For instance, in a directory c:\foo, there are some files.
Let’s say when a new file ‘bar’ is created, I check whether I need to let it
pass or maintain it in memory.
If it is to be maintained in memory, I have to handle everything on this
file right from Create to Close, including initiating of caching etc on that
file object.
In short the objective is to transparently maintain some files in memory
without ever committing it on disk.
Thanks & regards,
Ayush Gupta
A mini-filter can do this, there is a ton of work involved here my guess is
depending on the experience of the developer(s) you are looking at 1 to 2
man-years to a quality product.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
“Ayush Gupta” wrote in message news:xxxxx@ntfsd…
> Hi Don,
>
>>Whether it is feasible at all needs more data on what you mean by a
>>layered
>
>>file system.
>
> I was just going to send a post about it.
> Actually the objective is that I need to manage SOME files in memory.
> For instance, in a directory c:\foo, there are some files.
> Let’s say when a new file ‘bar’ is created, I check whether I need to let
> it
> pass or maintain it in memory.
> If it is to be maintained in memory, I have to handle everything on this
> file right from Create to Close, including initiating of caching etc on
> that
> file object.
> In short the objective is to transparently maintain some files in memory
> without ever committing it on disk.
>
> Thanks & regards,
> Ayush Gupta
>
>
Hi Don,
A mini-filter can do this, there is a ton of work involved here my guess is
depending on the experience of the developer(s) you are looking at 1 to 2
man-years to a quality product.
Thanks a lot for giving me an estimation of the time required.
To be true, I want to do it to get an “hands-on” of how the FSD, cache
manager, VMM interact.
I thought that if I have to maintain a file object in my driver then I will
have to support caching (which is important for memory mapped files and
executables, etc.). And for the time being I want to maintain the file in
memory. Maybe at a later stage I will complicate things by issuing my own
file I/O.
Just one more question Don: Since it is a Long-term project, what will be
the good approach of handling & developing it. I am not a Project manager
nor a very experienced developer, so it is kinda hard to estimate & chalk
out plan.
Regards,
Ayush Gupta
“Ayush Gupta” wrote in message news:xxxxx@ntfsd…
> Just one more question Don: Since it is a Long-term project, what will be
> the good approach of handling & developing it. I am not a Project manager
> nor a very experienced developer, so it is kinda hard to estimate & chalk
> out plan.
>
Since you want to learn with this, I would start wilh either the spy or
context sample and put in some simple logging to see all operations that a
mini-filter supports. Then you can add support for Create/Cancel/Close of
your special files, with a test in all the other code to just fail the
operation. From the logging, you should get a good idea of what you need
to do to fill in pieces as you go.
The above is the hands on approach to this, if you had a lot of experience
there are other approaches such as designing the data structures from the
beginning. I am sure as you do the above you will find you have to back up
and change things because the initial approach did not work for all cases,
but that is one of the best ways to learn.
–
Don Burn (MVP, Windows DDK)
Windows 2k/XP/2k3 Filesystem and Driver Consulting
Website: http://www.windrvr.com
Blog: http://msmvps.com/blogs/WinDrvr
Remove StopSpam to reply
Hi Don,
Since you want to learn with this, I would start wilh either the spy or
context sample and put in some simple logging to see all operations that a
mini-filter supports. Then you can add support for Create/Cancel/Close of
your special files, with a test in all the other code to just fail the
operation. From the logging, you should get a good idea of what you need
to do to fill in pieces as you go.
Thanks Don. As such I have implemented 4 minifilters, but never managed the
file
object & related structures myself.
The above is the hands on approach to this, if you had a lot of experience
there are other approaches such as designing the data structures from the
beginning. I am sure as you do the above you will find you have to back up
and change things because the initial approach did not work for all cases,
but that is one of the best ways to learn.
I think this will be the point where I can start, since as such my
understanding of minifilters & other FS concepts is pretty good (maybe…:P).
Regards,
Ayush Gupta