I've been pouring through the vdev_cache code and need help understanding the cache contents. Per CR 6437054 the cache was said to only cache meta-data. However, looking at the current code this no longer appears to be the case.
Can someone explain what happened here? The idea of only caching metadata is odd to me because when you read-ahead you can't be certain of what it is you have put in the cache until someone comes knocking for that block. As I understand the current implementation, the per-disk vdev_caches are 10MB LRU. Reads smaller than 16K (cache_max) are inflated to 64K (cache_bshift), anything larger than 16K is therefore un-inflated. The cache does not differentiate between meta-data blocks and data blocks when caching. Is this correct? Thanks. benr. -- This message posted from opensolaris.org