I noticed that in Win2008 R2, the MDLs I get in my stor miniport do always have the buffer mapped to system space. I then examined the MDL at classpnp!ServiceTransferRequest and the MDL is already mapped there. I suspect the mapping adds unnecessary overhead to the IO. Is there an explanation for that behavior? I'll check Win2008 and Win2003 to see if they are different.