Is there a "correct" way to tell if a storport (or scsiport) io request is related to pagefile access?
Under Xen I have access to a type of storage that is faster than disk but (slightly) slower than memory and is considered volatile, and any given write may be denied if Xen currently has insufficient storage. As such it would be a good candidate for using as a cache for pagefile, but to make that work I would need to be able to reliably identify writes to and reads from the Windows pagefile, and also to know when the pagefile metadata changes (eg pagefile grows or shrinks etc). And to really do it properly I would also need to know when the page stored on the pagefile was invalidated, but simply maintaining a LRU write-back cache would probably be sufficient.
Or maybe a filesystem filter driver would be a better way to do this, taking care of such things before storport gets involved? Do paging requests go "via" the filesystem or does the filesystem only handle the metadata for pagefile and the virtual memory manager performs io direct to disk?
(maybe we need an additional mailing list like ntcrackpot for ideas that might turn out to be crazy?)