Joseph,
Today, SIS is a server only feature so it is not available on XP. It
used to only be available as part of the RIS (Remote Install) service.
With the Srv03 R2 release it is now available as standalone feature. It
is very cool, it saves a lot of disk space.
All SIS does is make duplicate copies of the exact same file share one
common binary source and copy the contents back when a file is modified.
It would not work for versioning.
To answer one of your questions, you should be able to create a new file
and copy it in pre-write as long as it is not a paging write. You can
not create a file from APC level (which is what IRQL paging writes are
at) and you will cause deadlocks if you pend the paging write or hold
off the paging write while a worker thread creates the file.
Since you obviously have to handle memory mapped files you can do the
create/copy when the section is created for write access (check out the
acquire for section creation callback in filter manager).
HSM filters have copied files on first write for along time so this is
not a new concept and it works well.
Neal Christiansen
Microsoft File System Filter Group Lead
This posting is provided “AS IS” with no warranties, and confers no
Rights
PS Yes, I am trying to get caught up on my NTFSD backlog
-----Original Message-----
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Joseph Galbraith
Sent: Friday, November 11, 2005 4:16 PM
To: Windows File Systems Devs Interest List
Subject: Re: [ntfsd] Minifilter questions…
Hmmm… interesting. I can’t find a knob to twiddle to
turn it on on my copy of XP though.
Do I have to install a resource kit?
Thanks,
Joseph
Lyndon J Clarke wrote:
SIS?
“Joseph Galbraith” wrote in message
news:xxxxx@ntfsd…
>> I find myself suddenly writing a mini-filter… and have
>> some questions.
>>
>> 1. What is the context of IRP_MJ_CREATE post operation?
>> Am I in arbitary thread context, potentially at IRQL
>> DPC?
>>
>> 2. Is it safe to call FltGetFileNameInformation() if
>> I’m at DPC level? Or do I need to call
>> FltDoCompletionProcessingWhenSafe()? Having
>> called FltDoCompletionProcessingWhenSafe(), what
>> is my context? Arbitrary thread context, APC or
>> less?
>>
>> Are all the I/O parameters and completion results still
>> available to me?
>>
>> 3. What is my context in IRP_MJ_WRITE pre-processing?
>> Am I gaurenteed to be user thread context, PASSIVE
>> level?
>>
>> 4. I need to make sure I get a chance at the file data
>> before it is modified in all cases. If I’m filtering
>> in the IRP_MJ_WRITE pre path, am I catching everything?
>>
>> What about IRP_MJ_MDL_WRITE_COMPLETE ?
>>
>> 5. In the IRP_MJ_WRITE pre-path I need to create a
>> new file – and read data from the file I’m
>> filtering and write to the new file.
>>
>> I can detect the file I’m creating so I know not to
>> filter it.
>>
>> But, am I going to run into trouble doing this?
>> What about paging I/O? Will I cause deadlocks?
>>
>> Can avoid said deadlocks if all my I/O is non-cached?
>>
>> Thanks,
>>
>> Joseph
—
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: xxxxx@windows.microsoft.com
To unsubscribe send a blank email to xxxxx@lists.osr.com