This document proposes a unified read-only cache for Ceph using a standalone SSD caching library that can be reused for librbd and RGW. It describes the general architecture including a common libcachefile, policy, and hooks. It then provides more details on shared read-only caching implementations for librbd and RGW, including initial results showing a 4x performance improvement for librbd. Issues discussed include different block vs object caching semantics and status of the RGW caching PR.