network access in storage filter?

Hello,

I wish to implement a disk upper filter driver that will either pass read
requests straight through to the next driver in the stack, or, if the
requested sector is not marked as present (as determined by my driver’s
internal tables) then I would like to request it from a remote server (which
also implies that it will need to be written to the local disk once
retrieved). Is there a reason why this could not be made to work with a
reasonable effort? Specifically, is there a “gotcha” case where, for
example, the incoming read request could be at a high enough IRQL that the
subsequent network access would deadlock?

To greatly simplify things, I will be able to guarantee that all sectors
necessary for booting will be present, in other words the “not found, query
the network” code path will never be executed until standard kernel network
interfaces are up and running.

Thanks for reading.

Jeff