When mounting in the Read Cache mode, the Linux Page Cache uses a write-through mechanism, acknowledging write operations to the customer application only after securely storing them on resilient storage. This applies to both data and metadata writes.
The default behavior in the Content Software for File system dictates that data read or written by customer applications resides in a local server read Linux Page Cache. The Content Software for File system actively monitors whether another server attempts to read or write the same data, invalidating the cache entry if necessary. Such invalidation may occur in two cases:
- If one client is currently writing to a file that another client is reading or writing.
- If one server is currently writing to a file that another server is reading.
This mechanism ensures coherence, allowing full Linux Page Cache usage when either a single server or multiple servers access a file solely for read-only purposes. However, if multiple servers access a file, and at least one performs a write operation, the Linux Page Cache bypasses, and all I/O operations are managed by the backend servers.
Conversely, when either a single server or multiple servers open a file for read-only purposes, the Content Software for File client fully uses the Linux Page Cache, facilitating read operations directly from memory without accessing the backend servers.
Consider a server as "writing" to a file after the actual first write operation, irrespective of the read/write flags of the open system call.