Make sure disks are singletons.

We were checking the disk cache all the time but never filling it.

Thanks to @stdweird for the report and test.

Beware of this code! I have only proved it right, not tested it! ;)