might contain out-of-date data provides weak consistency. Do not use
``readonly`` mode for mutable data.
+And the modes above are accomodated to adapt different configurations:
+
+- **Read-forward Mode:** this mode is the same as the ``writeback`` mode
+ when serving write requests. But when Ceph clients is trying to read objects
+ not yet copied to the cache tier, Ceph **forward** them to the backing tier by
+ replying with a "redirect" message. And the clients will instead turn to the
+ backing tier for the data. If the read performance of the backing tier is on
+ a par with that of its cache tier, while its write performance or endurance
+ falls far behind, this mode might be a better choice.
+
+- **Read-proxy Mode:** this mode is similar to ``readforward`` mode: both
+ of them do not promote/copy the data when the requested object does not
+ exist in the cache tier. But instead of redirecting the Ceph clients to the
+ backing tier when cache misses, the cache tier reads from the backing tier
+ on behalf of the clients. Under some circumstances, this mode can help to
+ reduce the latency.
+
Since all Ceph clients can use cache tiering, it has the potential to
improve I/O performance for Ceph Block Devices, Ceph Object Storage,
the Ceph Filesystem and native bindings.