This seems strange. I understand that NT 5.x has a limitation of 64 MB MDLs on
x86, but direct I/O was designed for exactly this case of large I/O operations.
Has anyone verified that 2k3 doesn’t do MDL chaining for direct I/O when the
transfer is larger than a single MDL can hold?
Also
I've tracked down what happens on Windows in the debugger, and the
relevant device objects don't have DO_DIRECT_IO set.
The WDK sample FS drivers use neither I/O as well.
I'm not 100% sure but from what I saw this part of our I/O manager
implementation is identical to Windows's and there's no