It seems this may not be holding true at the moment for VMs with a secondary virtual hard drive attached to my VirtualBox x64 setup 5.2.28 r130011. Primo caches host block reads fine on a Win10 x64 17763.475 host (cache task 1)
It also caches guest (also Win10 x64 17763.475) block reads fine of the VMs boot VDI that resides on host volume V. (cache task 2)
The VM has a secondary VDI attached to it that resides on host volume S and inside the guest is labeled as "Secondary Storage". (cache task 3)
When I boot up the VM I see the following blocks read from the S volume
Yet, when I actually read/write several gigs to the guest "secondary storage" volume, none of the block reads are picked up by PrimoCache. If relevant, the difference between the boot VDI and the Secondary Storage VDI is the boot VDI was created as "dynamically allocated" whereas the Secondary Storage VDI was created as "fixed size" because it's a spinning disk and I didn't want the VDI to be fragmented.
I tested it with the VM sata controller set to "use host IO cache" and also with that disabled yet the behavior is unchanged.