> Yes, in general it doesn’t depend. Try to think about DMK as a network
FSD. Network FSD doesn’t depend on the server FSD implementation.
Reading and writing the file streams are not dependency?
You don’t need to “control bad implement of FSD”.
Once again i’ll tell you your example. You told that underlying FSD can
process non-cached i/o through the cache. This can lead to deadlock since
you use ZwWriteFile. How you personally would protect against it?
BTW what you call “bad implement of FSD” is a way NTFS is implemented.
NTFS processes non-cached IO through the cache for some file types.
What are these types?
The problem is that your DMK implementation had a design flaw - it
flushed data directly to underlying FS in response to paging write.
How it must flush them then? With which means?
I experienced the same issues with deadlocks when I implemented my first
data modification 12 years ago without a temporary backing store.
I don’t have deadlock. I use non-cached writes.
You don’t comprehend the idea that this implementation depends on
underlying FSD and filters behavior and should be tailored to a particular
environment.
Once again, those IRPs which DMK sends with ZwReadFile/ZwWriteFile don’t go
through the file system stack? And if they don’t then how they reach their
backing store?
In some cases it can’t work if for example an underlying FSD processes
cached and non-cached IO inconsistently relating to cache usage as it
happens with network FS.
For example?
Your DMK implementation was not completely decoupled
What is complete decoupling? Not using underlying FSD at all?
Your implementation will deadlock or run out of memory( and this is what
happened 12 years ago with my first DMK).
I stress tested my FSD. With very low memory conditions.
Did you notice the word “non-conventional”?
Then how? And what for DMK is still using ZwReadFile/ZwWriteFile?
Really? There was a number of explanations why your ideas were not
completely correct( not wrong ). Maybe I should have made it more explicit.
You told about only a fact. You almost didn’t explain things.