Peter,
Thanks for the explanation. The driver works correctly now and it seems that
I shot myself in the foot - some part of my code was fooling my own context
tracking mechanism. J
Gregory
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Peter Scott
Sent: Wednesday, February 21, 2007 4:29 PM
To: Windows File Systems Devs Interest List
Subject: RE: Re[2]: [ntfsd] Missing READ IOs in filter driver
Gregory,
The underlying filesystem itself will not pull data into cache before the
IRP_MJ_CREATE completes. I think that David was referring to the filesystem
initiating caching on the file by setting up the SOPs or by calling
CcInitializeCM() in some cases; though generally cache initialization is
delayed until the first IO on a file.
Other filesystem filter drivers may cause read requests to occur during
IRP_MJ_CREATE handling, such as an AV product performing a scan on a file
through cached IO, but this is known to break things particularly with stack
based fileobjects and some other filter higher in the stack cancels the
open. Also, if what you are describing, where a filesystem reads data into
the cache before it would complete the IRP_MJ_CREATE, then just about every
encryption and compression driver on the market would be broken; and I can
attest, since I have implemented many of both types, that they are not.
What other products are installed on the system?
Pete
Kernel Drivers
Windows File System and Device Driver Consulting
www.KernelDrivers.com
(303)546-0300
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Gregory Dardyk
Sent: Wednesday, February 21, 2007 8:05 AM
To: Windows File Systems Devs Interest List
Subject: RE: Re[2]: [ntfsd] Missing READ IOs in filter driver
No, the driver is loaded at boot time.
I think I found the problem. As David mentioned, the FS can read some data
during the create. Since I don’t have the FsContext for a file until the
CREATE request is completed by the FS driver, I cannot associate the READs
with the file. For small files the whole file is loaded into the cache
during create, that’s why I never see PAGING_IO requests. For large files my
driver functions correctly. Is there a classic way to solve this problem?
Thanks,
Gregory
From: xxxxx@lists.osr.com
[mailto:xxxxx@lists.osr.com] On Behalf Of Ladislav Zezula
Sent: Wednesday, February 21, 2007 10:56 AM
To: Windows File Systems Devs Interest List
Subject: Re[2]: [ntfsd] Missing READ IOs in filter driver
I think this has been discussed several times here,
so your problem is probably exactly the same like
the other posters had.
Let me guess.
Your driver is not loaded at boot time. The file you are
trying to open has been loaded into system cache far sooner
than your driver can catch the I/O request.
Is that true ?
L.
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com
Questions? First check the IFS FAQ at
https://www.osronline.com/article.cfm?id=17
You are currently subscribed to ntfsd as: unknown lmsubst tag argument: ‘’
To unsubscribe send a blank email to xxxxx@lists.osr.com