There is a distributed network based storage system available under Linux, and the block device access code has both a separate usermode and kernel mode implementation. The kernel mode implementation is fairly Linux specific, while the usermode implementation is mostly OS agnostic but is C++, so neither option lends itself well to a straightforward implementation under Windows. A from-scratch implementation under Windows would be a big job, high ongoing maintenance, and would always lag behind the current Linux implementation.
Assuming I'm not interested in booting from this storage, or putting a pagefile on it etc, there exists the possibility of porting the usermode code to Windows and using a thin driver to provide a 'block device' interface (eg storport) to Windows, and route all requests to the usermode implementation.
Are there going to be too many overheads with the requests doing a round trip to usermode then back through ndis in the kernel? And even without pagefile, is there still a possibility of a deadlock? Linux achieves very good performance and stability with its usermode filesystem implementation (FUSE), but as is regularly pointed out here Windows is not Linux...
Is storport the best way to do this, assuming there is no requirement for pagefile etc?
And is having a userspace process in the paging path completely unachievable (without resorting to fragile "hacks")?